Невозможно добавить несколько IP-адресов в сетевой интерфейс.

При попытке добавить IP к интерфейсу enp2s0 через Webmin он говорит:

Failed to save interface : Missing or invalid interface name

Это известная ошибка в Webmin, поэтому давайте пропустим это прямо сейчас.

Изменение /etc /network /interfaces напрямую

auto lo
iface lo inet loopback
iface lo inet6 loopback

auto enp2s0
allow-hotplug enp2s0
iface enp2s0 inet static
  address XX.4.87.10
  netmask 255.255.255.224
  gateway XX.4.87.1
  # route XX.4.87.0/27 via XX.4.87.1
  up route add -net XX.4.87.0 netmask 255.255.255.224 gw XX.4.87.1 dev enp2s0

iface enp2s0 inet static
  address XX.4.87.47
  netmask 255.255.255.224
  gateway XX.4.87.33
  up route add -net XX.4.87.0 netmask 255.255.255.224 gw XX.4.87.33 dev enp2s0

iface enp2s0 inet static
  address XX.4.87.37
  netmask 255.255.255.224
  gateway XX.4.87.33
  up route add -net XX.4.87.0 netmask 255.255.255.224 gw XX.4.87.33 dev enp2s0

iface enp2s0 inet6 static
  address XXXX:4f8:140:701e::2
  netmask 64
  gateway fe80::1

Первый (main-IP) и второй в списке всегда подключаемы, а третий постоянно нет. Так что я могу изменить порядок IP-адресов и получить доступ к своему серверу после перезагрузки, что я делаю не так?

(Я также попробовал унаследованный метод документации Debian, но это все рушит)

root@hdtu1 ~ # systemctl status networking.service
● networking.service - Raise network interfaces
   Loaded: loaded (/lib/systemd/system/networking.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Wed 2018-08-01 22:40:12 CEST; 7s ago
     Docs: man:interfaces(5)
  Process: 2184 ExecStart=/sbin/ifup -a --read-environment (code=exited, status=1/FAILURE)
  Process: 2179 ExecStartPre=/bin/sh -c [ "$CONFIGURE_INTERFACES" != "no" ] && [ -n "$(ifquery --read-environment --list --exclude
 Main PID: 2184 (code=exited, status=1/FAILURE)

Aug 01 22:40:12 hdtu1 systemd[1]: Starting Raise network interfaces...
Aug 01 22:40:12 hdtu1 ifup[2184]: RTNETLINK answers: File exists
Aug 01 22:40:12 hdtu1 ifup[2184]: ifup: failed to bring up enp2s0
Aug 01 22:40:12 hdtu1 systemd[1]: networking.service: Main process exited, code=exited, status=1/FAILURE
Aug 01 22:40:12 hdtu1 systemd[1]: Failed to start Raise network interfaces.
Aug 01 22:40:12 hdtu1 systemd[1]: networking.service: Unit entered failed state.
Aug 01 22:40:12 hdtu1 systemd[1]: networking.service: Failed with result 'exit-code'.

2 ответа2

1

Вы не можете иметь несколько шлюзов по умолчанию для одного интерфейса, и, на мой взгляд, неправильный способ добавления нескольких IP-адресов к одному интерфейсу.

Добавьте вторичный IP с этой нотацией:

iface enp2s0 inet static
  address XX.4.87.10
  netmask 255.255.255.224
  gateway XX.4.87.1
  # route XX.4.87.0/27 via XX.4.87.1
  up route add -net XX.4.87.0 netmask 255.255.255.224 gw XX.4.87.1 dev enp2s0

iface enp2s0:1 inet static
  address XX.4.87.47
  netmask 255.255.255.224
  # I removed the "gateway" instruction in this block, as it is a secondary IP
  up route add -net XX.4.87.0 netmask 255.255.255.224 gw XX.4.87.33 dev enp2s0
0

Мой Debian 9 работает так, используя подсказку от @Marc R.

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug   enp0s3
#iface enp0s3   inet dhcp

iface enp0s3    inet static
address     192.168.0.203
netmask     255.255.255.0
gateway     192.168.0.1

iface enp0s3    inet static
address     192.168.0.204
netmask     255.255.255.0

Обычно я всегда использую eth0:1 или devicename:1 для multi ip, и теперь, к моему удивлению, Debian 9 выглядит так, как будто он обрабатывает разделение самостоятельно.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .