Как привязать несколько IP адресов к одному сетевому интерфейсу в FreeBSD?
Недавно я озадачился вопросами:
1. Можно ли привязать в FreeBSD несколько IP адресов к одному сетевому интерфейсу (NIC)?
2. И если можно, а ответ на первый вопрос я знал, то как это сделать?
Тем кто настраивает виртуальный хостинг на apache, ftp или прокси сервер может пригодиться эта информация.
Допустим перед нами стоит задача на одном сервере с один сетевым интерфейсом em0 поднять Web server работающий с IP 192.168.10.13 и сделать алиас на этот же интерфейс IP 192.168.10.14 который будет работать ftp или прокси сервер.
Внесем следующие изменения в наш /etc/rc.conf
ifconfig_em0 ="192.168.10.13 netmask 255.255.255.0"
ifconfig_em0_alias0="192.168.10.14 netmask 255.255.255.255"
Для применения изменений необходимо перезапустить систему. Маска подсети алиаса должна быть отличной от основного IP интерфейса em0. В противном случае вы столкнетесь с ошибкой:
ifconfig: ioctl (SIOCAIFADDR): File exists.
И в конце рекомендуется перезапустить сетевые сервисы запустив следующие скрипты:
# /etc/rc.d/netif restart && /etc/rc.d/routing restart
В резальтате выполнения следующей команды:
# ifconfig lnc0
Мы должны получить примерно такой результат:
em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet6 fe80::20c:29ff:fe01:ddbd%em00 prefixlen 64 scopeid 0x1
inet 192.168.10.13 netmask 0xffffff00 broadcast 192.168.10.255
inet 192.168.10.14 netmask 0xffff