Многие линуксоиды рано или поздно сталкиваются с необходимостью двух и более IP адресов на одном интерфейсе. Мне бы хотелось объяснить подробно, как же это делается.
И так. Допустим, у нас есть один уже настроенный интерфейс eth0. Он выглядит приблизительно так:
DEVICE=eth0 <- Имя интерфейса
ONBOOT=yes <- Стартует ли при запуске системы
BOOTPROTO=static <- Определяет тип получения IP (static – привязанный, dhcp – DHCP)
IPADDR=192.168.0.2 <- Назначенный IP адрес
NETMASK=255.255.255.255 <- Маска сети
BCAST=192.168.0.255 <- Широковещательный адрес (устарело)
DNS=192.168.0.1 <- DNS сервер для текущего интерфейса
GATEWAY=192.168.0.1 <- Основной шлюза для текущего интерфейса
HWADDR= 00:11:22:33:44:55 <- MAC адрес интерфейса
Вроде все просто и так приступим. Нам нужно, чтобы на этом интерфейсе держалось 2 IP адреса. Для этого:
nano /etc/sysconfig/network-scripts/ifcfg-eth0:0 <- Создаем файл ifcfg-eth0:0 через nano
Следующего содержания:
DEVICE=eth0:0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.0.3 <- Необходимы нам IP
NETMASK=255.255.255.255
После чего выполним:
service network restart
Теперь при выполнении ifconfig мы увидим приблизительно следующее:
eth0:0 Link encap:Ethernet HWaddr 00:11:22:33:44:55
inet addr:192.168.0.3 Bcast:192.168.0.255 Mask:255.255.255.255
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:185 Base address:0xa000
Вы так же можете задать диапазон IP адресов, для этого:
nano /etc/sysconfig/network-scripts/ifcfg-eth0-range0 <- Создаем файл ifcfg-eth0-range0
Следующего содержания:
IPADDR_START=192.168.0.2 <- Начало стека
IPADDR_END=192.168.0.100 <- Конец стека
NETMASK=255.255.255.255 <- Маска сети
CLONENUM_START=1 <- Псевдоним IP адреса (eth0:0 eth0:1 eth0:2 и т.д.)
NO_ALIASROUTING=yes <- Означает наследование настроек, в нашем случае от eth0:0
Выполним:
service network restart
Собственно все. Всем удачи)))