Два Ip адреса на сетевой карте в Linux
Раздел(ы): GNU Linux - CentOS / Debian
Просмотры: 28862
Комментарии: 0
Иногда возникает необходимость привязать несколько 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
После чего перезапустите сетевые службы:
# service network restart
и убедитесь, что все работает:
# 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 при создании нового:
И настраиваем его по своему усмотрению:
Незабываем сохраняться, после чего перезагружаем сетевую службу:
# service network restart
и проверяем, что все работает:
# ifconfig