Два IP-адреса на одном интерфейсе в CentOS 6.6

Рассматриватеся алиасинг IP-адресов на CentOS 6.6. Статья отвечает на вопрос: как привязать два IP-адреса к одному сетевому интерфейсу?

В моём случае потребовалось привязать дополнительный IP-адрес к интерфейсу виртуальной машины, работающей под управлением операционной системы Linux. В результате, задача была решена, к тому же родилась прекрасная методичка.

Внимание! В CentOS 7 и выше методика изменилась.

1. Общая информация о псевдонимах

Псевдонимы адресов (англ. IP alias/IP aliasing) представляют собой множественные IP-адреса, присвоенные единственному физическому сетевому интерфейсу. Псевдоним сетевого интерфейса добавляется к существующим сетевым интерфейсам.

При совмещении IP становиться возможным запуск приложений и служб на сервере под Linux, доступном по множественным IP адресам, используя только один физический сетевой интерфейс.

Требования для IP alias:

  • Возможность подключения физического сетевого интерфейса
  • Доступность множества IP-адресов

Ограничения для IP alias:

  • Совмещение подсети (IP адрес сетевого интерфейса alias должен находится в той же подсети, что и адрес физического сетевого интерфейса – если не требуется точная конфигурация инфраструктуры сети.)
  • DHCP (интерфейсы alias не поддерживают DHCP)

Пример: Если физический сетевой интерфейс называется eth0, интерфейсы alias будут называться eth0:0, eth0:1, … , а если физический сетевой интерфейс называется eth1, интерфейсы alias носят названия eth1:0, eth1:1 … и т.д.

2. Настройка непостоянного IP Alias

Непостоянный IP alias не сохраняется после перезагрузки сервера linux. Это означает, что IP alias настроен только когда сервер запущен и находится в работе и исчезнет, когда сервер linux будет перезагружен. Рассмотрим синтаксис командной строки для настройки непостоянного сетевого интерфейса, где X числа, настраиваемые сетевым интерфейсом, Y числа заданного интерфейса alias, начиная с 0 и IPADDRESS является IP-адресом, который мы хотим присвоить сетевому интерфейсу alias:

[root]# ifconfig ethX:Y IPADDRESS up

Проверим на работоспособность сетевой интерфейс alias следующей командой (ищем интерфейс ethX:Y):

[root]# ifconfig

В данном примере физический интерфейс eth0 правильно настроен с тестируемой связанностью узлов в сети и имеет IP адрес 192.168.1.100. Можно настроить сетевой интерфейс alias с именем eth0:0 и IP адресом 192.168.1.101 используя следующую команду:

[root]# ifconfig eth0:0 192.168.1.101 up

Можно проверить сетевой интерфейс alias на работоспособность через ifconfig, ищем eth0:0 и IP адрес 192.168.1.101:

[root]# ifconfig)
[eth0      Link encap:Ethernet  HWaddr 08:00:27:A9:01:61
inet addr:192.168.1.100 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fea9:161/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:4726 errors:0 dropped:0 overruns:0 frame:0
TX packets:732 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:542695 (529.9 KiB) TX bytes:115702 (112.9 KiB)

Далее:

eth0:0    Link encap:Ethernet  HWaddr 08:00:27:A9:01:61
inet addr:192.168.1.101 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:

Далее:

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:140 errors:0 dropped:0 overruns:0 frame:0
TX packets:140 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:11760 (11.4 KiB) TX bytes:11760 (11.4 KiB)

3.Настройка постоянного IP Alias

Постоянный IP alias сохраняется после перезагрузки сервера linux и настраивается в файлах сетевой конфигурации. Файлы сетевой конфигурации расположены в директории /etc/sysconfig/network-scripts/ и называются ifcfg-ethX, где X число физических сетевых интерфейсов. Файлы сетевой конфигурации псевдонимов называются ifcfg-ethX:Y, где X число физических интерфейсов и Y число сетевых интерфейсов alias.

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

cp /etc/sysconfig/network-scripts/ifcfg-ethX /etc/sysconfig/network-scripts/ifcfg-ethX:Y

…где X порядковый номер физических сетевых интерфейсов и Y номер псевдонимов сетевых интерфейсов.

Теперь необходимо отредактировать только что созданный файл /etc/sysconfig/network-scripts/ifcfg-ethX:Y в файловом редакторе и заменить записи физического сетевого интерфейса (ethX) записями нового сетевого интерфейса alias (ethX:Y).

Заменим:

DEVICE=ethX

На:

DEVICE=ethX:Y

Найдём строку IPADDR физического интерфейса ethX:

IPADDR=XXX.XXX.XXX.XXX

И заменим на желаемый IP адрес сетевого интерфейса alias:

IPADDR=YYY.YYY.YYY.YYY

Затем, когда файл конфигурации сетевого интерфейса alias настроен, запустим новый сетевой интерфейс alias командой:

ifup ethX:Y

Можно проверить сетевой интерфейс alias на работоспособность командой ifconfig (ищем интерфейс ethX:Y):

ifconfig

Пример: Файл конфигурации работоспособного физического сетевого интерфейса (eth0:0):

/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=none
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1

И пример работоспособного сетевого интерфейса alias (eth0:0) в добавок к физическому сетевому интерфейсу (eth0):

/etc/sysconfig/network-scripts/ifcfg-eth0:0
DEVICE=eth0:0
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=none
IPADDR=192.168.1.149
NETMASK=255.255.255.0
GATEWAY=192.168.1.1

Командой ifup, запустим сетевой интерфейс alias:

[root@foo1 ~]# ifup eth0:0

Проверим сетевой интерфейс alias eth0:0 с IP адресом 192.168.1.101, для этого используем команду ifconfig:

[root@foo1 ~]# ifconfig
eth0      Link encap:Ethernet  HWaddr 08:00:27:A9:01:61
inet addr:192.168.1.100 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fea9:161/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:4726 errors:0 dropped:0 overruns:0 frame:0
TX packets:732 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:542695 (529.9 KiB) TX bytes:115702 (112.9 KiB)
eth0:0    Link encap:Ethernet  HWaddr 08:00:27:A9:01:61
inet addr:192.168.1.101 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:
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:140 errors:0 dropped:0 overruns:0 frame:0
TX packets:140 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:11760 (9.4 KiB) TX bytes:11760 (9.4 KiB)

8 комментарии

Оставить комментарий

Ваше мнение очень важно для нас! Обязательно выскажите Ваши мысли, пожелания и критику! Не стесняйтесь задавать вопросы. Скорее всего, ответ появится уже через 2-3 дня. Спасибо заранее.

Go to top