Несколько ip на одном интерфейсе linux

Два Ip адреса на сетевой карте в Linux

Иногда возникает необходимость привязать несколько IP адресов к одному сетевому адаптеру. Как оказалось в Linux сделать это очень просто.

В предыдущей статье я писал как настроить сетевую карту используя только консоль в линукс, а конкретно в CentOS. Так вот, настройка дополнительных IP адресов производится теме же командами и способами. С той лишь разницей, что настраивать мы будем уже не саму сетевую карту, а ее подинтерфейс(ы). Иными словами у сетевой карты будет основной адрес и один или несколько дополнительных.

Первый способ как добавить дополнительный второй IP адрес сетевой карте в Linux

Чтобы добавить второй адрес сетевому адаптеру достаточно выполнить команду:

# ifconfig eth0:0 XXX.XXX.XXX.XXX netmask YYY.YYY.YYY.YYY

где YYY.YYY.YYY.YYY — маска сети
XXX.XXX.XXX.XXX — дополнительный IP адрес
а eth0:0 — имя подинтерфейса. Которое состоит из имени сетевого адаптера и номера дополнительного подинтерфейса.
К примеру если мы введем команды:

# ifconfig eth0 172.16.254.33 netmask 255.255.255.0 # ifconfig eth0:0 10.44.225.230 netmask 255.255.255.252

то есть настроим основной адрес и второй дополнительный, то получим примерно следующий результат:

# ifconfig eth0 Link encap:Ethernet HWaddr 00:22:4D:A1:B5:5F inet addr:172.16.254.33 Bcast:172.16.254.255 Mask:255.255.255.0 inet6 addr: fe80::222:4dff:fea1:b55f/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:671877 errors:0 dropped:0 overruns:0 frame:0 TX packets:90532 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:93680865 (89.3 MiB) TX bytes:35292110 (33.6 MiB) Interrupt:16 Memory:80120000-80140000 eth0:0 Link encap:Ethernet HWaddr 00:22:4D:A1:B5:5F inet addr:10.44.225.230 Bcast:10.44.225.231 Mask:255.255.255.252 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 Interrupt:16 Memory:80120000-80140000 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:62211 errors:0 dropped:0 overruns:0 frame:0 TX packets:62211 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:5696370 (5.4 MiB) TX bytes:5696370 (5.4 MiB)

Естественно, что подинтерфейсов может быть несколько, соответственно может быть несколько дополнительных IP адресов на одной сетевой карте.

Второй способ настройки дополнительного IP адреса на сетевой карте в Linux

Второй способ — это редактирование конфигурационных файлов. Но теперь уже не для сетевого адаптера, а для его подинтерфейсов. Система имен которых строится по тем же принципам. То есть для подинтерфейса eth0:0 имя файла будет /etc/sysconfig/network-scripts/igcfg-eth0:0
И в моем случае будет иметь следующее содержание:

# cat /etc/sysconfig/network-scripts/igcfg-eth0:0 DEVICE=eth0:0 BOOTPROTO=none NETMASK=255.255.255.252 TYPE=Ethernet IPADDR=10.44.225.230 IPV6INIT=no USERCTL=no

При необходимости его нужно отредактировать, к примеру так:

# nano /etc/sysconfig/network-scripts/igcfg-eth0:0

После чего перезапустите сетевые службы:

Читайте также:  Установить виртуальную машину linux ubuntu

и убедитесь, что все работает:

# ifconfig eth0 Link encap:Ethernet HWaddr 00:22:4D:A1:B5:5F inet addr:172.16.254.33 Bcast:172.16.254.255 Mask:255.255.255.0 inet6 addr: fe80::222:4dff:fea1:b55f/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:673649 errors:0 dropped:0 overruns:0 frame:0 TX packets:90795 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:93846686 (89.4 MiB) TX bytes:35395290 (33.7 MiB) Interrupt:16 Memory:80120000-80140000 eth0:0 Link encap:Ethernet HWaddr 00:22:4D:A1:B5:5F inet addr:10.44.225.230 Bcast:10.44.225.231 Mask:255.255.255.252 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 Interrupt:16 Memory:80120000-80140000 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:62273 errors:0 dropped:0 overruns:0 frame:0 TX packets:62273 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:5702293 (5.4 MiB) TX bytes:5702293 (5.4 MiB)

Третий способ как назначить дополнительный адрес сетевой карте

Воспользуемся уже знакомой нам утилитой system-config-network-tui
Выбираем пункт настройки адаптеров:

Выбираем необходимый нам подинтерфейс либо выбираем пункт New Device при создании нового:

И настраиваем его по своему усмотрению:

Незабываем сохраняться, после чего перезагружаем сетевую службу:

и проверяем, что все работает:

Источник

Несколько IP-адресов на одном сетевом адаптере в CentOS

Обновлено и опубликовано

Опубликовано: 28.02.2019

Назначение 2-х и более адресов на один физический сетевой интерфейс позволяет запуск приложений и служб, которые используют несколько IP или работают на разных сетевых адресах.

Принцип настройки

Для назначения вторичного IP-адреса создается псевдоним (alias) сетевого интерфейса. Название для алиаса задается по принципу : , например, eth0:0 или eth0:1.

Псевдониму можно назначить только статический ip-адрес, нельзя присвоить адрес с помощью DHCP.

Разовая настройка (командой)

Добавить дополнительный адрес можно одной командой:

ip a add 192.168.1.11/24 dev enp2s0:1

* в данном примере мы назначили адрес 192.168.1.11 с маской 255.255.255.0 (/24) для сетевого интерфейса enp2s0. Данный алиас назван enp2s0:1.

Если для управления сетевыми интерфейсами используем утилиту ifconfig:

ifconfig enp2s0:1 192.168.1.11 up

Проверить настройку можно одной из команд:

* обе команды позволяют посмотреть сетевые интерфейсы и узнать IP-адреса, назначенные им.

Необходимо помнить, что данная настройка будет сброшена после перезагрузки сетевой службы или системы.

Постоянная настройка

Чтобы дополнительный адрес назначался при перезагрузках, создаем новый виртуальный адаптер:

DEVICE=enp2s0:1
BOOTPROTO=static
IPADDR=192.168.1.11
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
ONBOOT=yes

Для применения настроек, перезапускаем сетевую службу:

systemctl restart network

Настройка отвечающего интерфейса

Некоторые приложения, которые отвечают на сетевые запросы с интерфейсов-алиасов могут работать некорректно. Это связано с тем, что ответ выполняется не с вторичного IP-адреса, на который пришел запрос, а первичного.

Читайте также:  What is text mode in linux

Для настройки сетевых ответов с IP, на который пришел запрос, вносим изменения в таблицу маршрутизации.

Для начала нужно найти незанятую таблицу (по умолчанию, они все пусты, кроме основной):

* в данном примете мы посмотрим на маршруты таблицы с номером 100.

Если маршрутов нет, то добавляем следующие:

ip route add default via 192.168.1.1 src 192.168.1.11 table 100

ip rule add from 192.168.1.0/24 table 100

ip rule add to 192.168.1.0/24 table 100

* в данном примере добавлены маршруты для подсети 192.168.1.0/24

Для постоянного добавления маршрута, создаем файл:

default via 192.168.1.1 src 192.168.1.11 table 100

Также создаем файл для добавления правил:

from 192.168.1.0/24 table 100

systemctl restart network

Источник

Как назначить несколько IP-адресов одной сетевой карте в Ubuntu 20.04 LTS

При работе с компьютерными системами иногда вам может потребоваться несколько IP-адресов на вашем физическом компьютере. Одно из решений — установить в вашей системе несколько сетевых адаптеров. Однако нецелесообразно покупать новую сетевую карту и подключать ее к своей системе, если у вас есть возможность назначить несколько IP-адресов одному сетевому адаптеру, что называется псевдонимом IP. Типичным вариантом использования псевдонимов IP является реализация виртуального хостинга на основе IP.

В этом посте мы продемонстрируем вам, как назначить несколько IP-адресов одному сетевому адаптеру в ОС Ubuntu. Мы продемонстрируем эту процедуру на Ubuntu 20.04 (Focal Fossa).

Временное назначение нескольких IP-адресов одному сетевому адаптеру

В следующем разделе мы увидим, как назначить второй IP-адрес сетевой карте. Второй IP-адрес, присвоенный этим методом, является временным. Как только вы перезагрузите систему, она будет удалена автоматически.

Вот шаги для назначения второго IP-адреса сетевой карте.

1. Сначала найдите текущий IP-адрес и имя интерфейса в вашей системе. Для этого введите в Терминале следующую команду:

Следующий вывод показывает, что наш сетевой интерфейс — ens33, а текущий IP-адрес — 192.168.72.157/24, который является динамическим IP-адресом, назначаемым DHCP .

2. Назначим сетевой карте другой IP-адрес. Чтобы назначить дополнительный IP-адрес вашей сетевой карте, введите в Терминале следующую команду:

Замените дополнительным IP-адресом, который вы хотите назначить своей сетевой карте, а — именем вашей сетевой карты. Например, чтобы назначить второй IP-адрес 10.1.1.5/8 вашему сетевому интерфейсу ens33 , команда будет выглядеть так:

$ ip addr add 10.1.1.5/8 dev ens33

3. После выполнения указанной выше команды проверьте, назначен ли второй IP-адрес вашему сетевому интерфейсу. Для этого выполните следующую команду:

Вот результат выполнения указанной выше команды, который показывает два IP-адреса, назначенных сетевому интерфейсу ens33 .

Читайте также:  Этапы развития операционной системы linux

4. Теперь попробуйте пропинговать оба IP-адреса один за другим. Вы можете видеть, что оба IP-адреса доступны.

Удалите несколько IP-адресов из сетевой карты

Чтобы удалить дополнительные IP-адреса, назначенные сетевой карте, выполните следующую команду:

Замените дополнительным IP-адресом, который вы назначили своей сетевой карте, а — именем вашей сетевой карты. Например, чтобы удалить IP-адрес 10.1.1.5/8, назначенный нашему сетевому интерфейсу ens33, команда будет выглядеть так:

$ sudo ip addr del 10.1.1.5/8 dev ens33

Назначение нескольких IP-адресов одному сетевому адаптеру на постоянной основе

В предыдущем разделе мы назначили второй IP-адрес с помощью команды «ip addr add», которая не является постоянным методом. После перезагрузки системы IP-адрес удаляется автоматически. В этом разделе мы увидим, как сделать присвоение IP постоянным.

Чтобы назначить несколько IP-адресов одному сетевому адаптеру на постоянной основе, вам необходимо настроить его в файле конфигурации интерфейсов .

1. Отредактируйте файл конфигурации интерфейсов следующим образом:

sudo nano /etc/network/interfaces

Добавьте в файл следующие строки:

iface inet static address

Замените именем вашего сетевого адаптера, которому вы хотите назначить дополнительный IP-адрес, а — IP-адресом, который вы хотите назначить. Например, чтобы назначить второй IP-адрес 10.1.1.5/8 вашему сетевому интерфейсу ens33 , строки должны быть изменены на:

iface ens33 inet static address 10.1.1.5/8

После того, как вы добавили вышеуказанные строки, сохраните и закройте файл.

Теперь перезапустите сетевую службу, чтобы применить изменения конфигурации, которые вы сделали выше:

$ sudo systemctl restart networking

В качестве альтернативы, опустите и откройте интерфейс, чтобы применить изменения:

$ sudo ifdown ens33 $ sudo ifup ens33

Теперь, чтобы проверить, назначен ли дополнительный IP-адрес сетевому интерфейсу, используйте следующую команду:

Поскольку мы настроили дополнительный IP-адрес в файле конфигурации, он останется постоянным даже после перезагрузки системы.

Удалите несколько IP-адресов из сетевой карты

Вы также можете удалить дополнительный IP-адрес, который вы настроили в файле конфигурации интерфейсов. Для этого просто отредактируйте файл /etc/network/interfaces и удалите запись для дополнительных IP-адресов, которые вы добавили. Затем сохраните и закройте файл и перезапустите сетевые службы:

$ sudo systemctl restart networking

или опустите и откройте интерфейс, чтобы применить изменения

$ sudo ifdown ens33 $ sudo ifup ens33

Вот как вы можете назначить несколько IP-адресов одному сетевому адаптеру в ОС Ubuntu. В этом посте мы обсудили как временные, так и постоянные методы назначения вторичного IP-адреса одной сетевой карте. Следуя тем же методам, вы можете выделить несколько IP-адресов для одной сетевой карты.

Насколько публикация полезна?

Нажмите на звезду, чтобы оценить!

Средняя оценка / 5. Количество оценок:

Оценок пока нет. Поставьте оценку первым.

Источник

Оцените статью
Adblock
detector