Достаточно часто необходимо назначить на один сетевой интерфейс несколько ip. Рассмотрим способы добавлять/удалять alias в таких распространенных ОС как linux и freebsd.
В Linux
Выполняем на требуемом сетевом интерфейсе от root или sudo
ifconfig eth1:0 192.168.1.254
здесь :0 указывает, что это будет первый alias на интерфейсе eth1. Если выполнить команду
ifconfig eth1:1 192.168.1.250
то это уже будет второй alias. Вывод команды ifconfig выдаст примерно следующее
eth1 Link encap:Ethernet HWaddr 00:02:a5:4e:8a:8b
inet addr:192.168.1.253 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:38771077 errors:0 dropped:0 overruns:0 frame:0
TX packets:74027521 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2638106391 (2.4 GiB) TX bytes:935853511 (892.4 MiB)
eth1:0 Link encap:Ethernet HWaddr 00:02:a5:4e:8a:8b
inet addr:192.168.1.254 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST MULTICAST MTU:1500 Metric:1
eth1:1 Link encap:Ethernet HWaddr 00:02:a5:4e:8a:8b
inet addr:192.168.1.250 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST MULTICAST MTU:1500 Metric:1
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:51864877 errors:0 dropped:0 overruns:0 frame:0
TX packets:51864877 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:3482977357 (3.2 GiB) TX bytes:3482977357 (3.2 GiB)
Далее при всех указаниях на alias интерфейсы следует указывать их в таком виде – eth1:0 и eth1:1. Например, для прописания маршрута требуется выполнить команду:
route add -host 192.168.3.200 dev eth1:0
Для удаления alias просто погасите ненужный интерфейс
ifconfig eth1:0 down
Для загрузки alias при старте ОС пропишите эти команды в стартовые скрипты вашего дистрибутива.
Во FreeBSD
Если операционная система уже загружена и вы хотите добавить alias, то выполняем от root или sudo:
ifconfig bge0 inet 192.168.xx.xx netmask 255.255.255.255 alias
где bge0 – это наш сетевой интерфейс. Посмотреть как выполнилась команда можно командой ifconfig.
Убрать alias
ifconfig bge0 inet 192.168.xx.xx - alias
Для того, чтобы alias создавались при загрузке сервера, необходимо создать файлик /etc/rc.local и добавить в него строку
ifconfig bge0 inet xxx.xxx.xxx.xxx netmask 255.255.255.255 alias
во freebsd, если прописывать startup-config в /etc/rc.conf, надо прописывать так:
ifconfig_bge0=”inet xxx.xxx.xxx.xxx netmask yyy.yyy.yyy.yyy”
ifconfig_bge0_alias0=”inet xxx.xxx.xxx.xxx netmask yyy.yyy.yyy.yyy”
ifconfig_bge0_alias1=”inet xxx.xxx.xxx.xxx netmask yyy.yyy.yyy.yyy”
и т.д.
inet xxx.xxx.xxx.xxx netmask yyy.yyy.yyy.yyy
можно заменить на
xxx.xxx.xxx.xxx/yy