Как установить дополнительный IP-адрес для существующего интерфейса?

Как установить дополнительный IP-адрес для существующего интерфейса?

У меня есть интерфейс 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

Связанный контент