У меня есть интерфейс eth0
, и я хочу дать ему дополнительный виртуальный IP. Я делаю это следующим образом:
ifconfig eth0:0 ip.address.goes.here netmask subnet.address.goes.here
Все работает нормально, однако при перезагрузке данные теряются.
Я попытался отредактировать /etc/network/interfaces
и добавить следующее:
auto eth0:0 iface eth0:0 inet static
address ip.address.goes.here
netmask subnet.address.goes.here
Однако после перезагрузки статический IP для eth0 загружается нормально, а виртуальный IP eth0:0 не загружается вообще.
Итак, как мне добавить eth0:0
виртуальный IP-адрес навсегда?
решение1
Вместо этого eth0:0
вам следует сделать следующее:
Настройте свой (один) статический IP-адрес,
/etc/network/interfaces
как обычно:# The primary network interface auto eth0 iface eth0 inet static address 192.168.0.201 network 192.168.0.0 netmask 255.255.255.0 broadcast 192.168.0.255 gateway 192.168.0.1
Добавить еще один IP-адресэтотинтерфейс, добавив это сразу после вышесказанного:
up /sbin/ip addr add 192.168.0.203/24 dev eth0 down /sbin/ip addr del 192.168.0.203/24 dev eth0
Полный файл долженсмотретьнравитьсяэтот
Теперь, если вы проверите, какие IP-адреса настроены, запустив ip addr show
, то оба адреса будут отображены:
2: eth0: mtu 1500 qdisc pfifo_fast state UP qlen 1000 ссылка/эфир 08:00:27:1d:fa:0b brd ff:ff:ff:ff:ff:ff инет 192.168.0.201/24brd 192.168.0.255 область действия глобальная eth0 инет 192.168.0.203/24область действия глобальная вторичная eth0
Спасибо Lekensteyn за то, что указал мне верное направление. Каждый сайт в интернете просто говорит о eth0:0
вторичном IP-адресе.Этоткажется, это правильный способ сделать это.
решение2
Если вы хотите сделать все «традиционным» способом, соответствующая часть /etc/network/interfaces
должна выглядеть так:
auto eth0:0
iface eth0:0 inet static
address ip.address.goes.here
netmask subnet.address.goes.here
вместо этого, где вы допустили ошибку:
auto eth0:0 iface eth0:0 inet static
address ip.address.goes.here
netmask subnet.address.goes.here