В моём случае потребовалось привязать дополнительный 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)
Дискуссия
Написал Rocky 9
Опубликовано в: Установка nginx c PHP-FPM под CentOS 7.0 in LinuxНаписал Константин
Опубликовано в: Докеризация стека LEMP под Ubuntu c помощью Compose in LinuxНаписал bammbr
Опубликовано в: Шлюз для маленького отдела на Red Hat 9 in LinuxНаписал Федор
Опубликовано в: Установка и конфигурация Samba на CentOS 7 in LinuxНаписал Evgenytrl
Опубликовано в: Загрузка файлов с помощью Wget in Linux