В основном в своей практике я сталкивался с необходимостью использования двух IP на разных сетевых интерфейсах. Как правило это eth0 и eth1. Но вот потребовалось “навесить” на один интерфейс сначала два, а потом и четыре IP. Сделать это оказалось не сложно, но ранее я такой прием не использовал:
Итак, у нас есть один IP на интерфейсе eth0:
eth0 Link encap:Ethernet HWaddr 00:26:B9:2A:B9:13
inet addr:192.168.0.1 Bcast:192.168.0.255 Mask:255.255.255.0
Нам нужен еще один IP на том же сетевом интерфейсе (пусть для определенности это будет 192.168.0.200). Для этого нужно создать в директории /etc/sysconfig/network-scripts/ файл ifcfg-eth0:0
DEVICE=eth0:0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.0.200
NETMASK=255.255.255.255
После этого нужно перезапустить сетевые службы:
service network restart
Выполняем ifconfig и видим, что появился “алиас” eth0:0
eth0:0 Link encap:Ethernet HWaddr 00:26:B9:2A:B9:13
inet addr:192.168.0.200 Bcast:192.168.0.11 Mask:255.255.255.255
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:185 Base address:0xa000
Если потребуется добавить еще несколько IP, то добавляем соответственно файлы ifcfg-eth0:X, где X – 1,2,3 и так далее. Выглядит не очень оптимально, так? Действительно, если требуется “навесить” на сетевой интерфейс последовательность из IP-адресов (допустим такой вот диапазон: 192.168.0.200-220), то можно воспользоваться следующей конфигурацией. Создаем файл /etc/sysconfig/network-scripts/ifcfg-eth0-range0:
IPADDR_START=192.168.0.200
IPADDR_END=192.168.0.220
NETMASK=255.255.255.255
CLONENUM_START=1
NO_ALIASROUTING=yes
Опять перезапускаем сетевые службы:
service network restart
В результате появятся 20 алиасов eth0:1 – eth0:20, c нужными адресами.
Кроме того, добавлять, изменять и удалять ip-адреса можно с помощью команд ip и ifconfig, например если нужно временно поднять дополнительный адрес:
ifconfig eth0:0 inet 192.168.0.200/32
Естественно, после перезагрузки адрес пропадет. Чтобы убрать временный адрес:
ifconfig eth0:0 down