Назад | Перейти на главную страницу

Проблемы с подключением второго виртуального сетевого интерфейса

У меня проблемы с добавлением второго IP-адреса в один интерфейс. Ниже мой /etc/networking/interfaces

   # The loopback network interface
auto lo
iface lo inet loopback

#eth0 is our main IP address
auto eth0
iface eth0 inet static
 address 198.58.103.*
 netmask 255.255.255.0
 gateway 198.58.103.1

#eth0:0 is our private address
auto eth0:0
iface eth0:0 inet static
 address 192.168.129.134
 netmask 255.255.128.0

#eth0:1 is for www.site.com
auto eth0:1
iface eth0:1 inet static
 address 198.58.104.*
 netmask 255.255.255.0
 gateway 198.58.104.1

Когда я бегу /etc/init.d/networking restart, Я получаю сообщение об ошибке при вызове eth0:1:

RTNETLINK answers: File exists
Failed to bring up eth0:1.

По какой причине это могло быть? У меня не было проблем с первой настройкой eth0 и eth0:0.

РЕДАКТИРОВАТЬ:

Проблема в том, что у вас определены 2 шлюза по умолчанию. Вам нужно удалить один из них. Я бы подумал тот, что на устройстве eth0: 1.

Ошибка "Файл существует" возникает при попытке снова добавить маршрут по умолчанию, который уже существует.


Во-первых, я предполагаю, что *, поскольку номер хоста является допустимым числом, а не буквально «*»?

А теперь попробуйте вот так. Подозреваю, что есть проблема с разбором строки auto в сценариях запуска - просто догадка, я не смотрел.

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
#eth0 is our main IP address
auto eth0
iface eth0 inet static
 address 198.58.103.*
 netmask 255.255.255.0
 gateway 198.58.103.1
 # Put your nameserver address here!
 dns-nameservers x.x.x.x 

#eth0:0 is our private address
auto eth0:0
iface eth0:0 inet static
 address 192.168.129.134
 netmask 255.255.128.0

#eth0:1 is for www.site.com
auto eth0:1
iface eth0:1 inet static
 address 198.58.104.*
 netmask 255.255.255.0
 # This shouldn't be here!  remove it.
 #gateway 198.58.104.1

А во-вторых, чтобы избавиться от надоедливой ошибки resolv.conf, выполните:

sudo dpkg-reconfigure resolvconf

Хотя это отдельная тема.

Попробуйте эту команду:

sudo dpkg-reconfigure resolvconf

Также это:

ifdown eth0:0 
ifdown eth0:1 
ifdown eth0
ifup eth0

В ifup eth0 в конце запускаются как основной, так и псевдоним И только один раз устанавливает маршрут.

В текущих системах на основе Debian изменился синтаксис. Ключ должен использовать формат адреса с косой чертой подсети address 192.168.129.134/17, а не использовать netmask ключевое слово больше.

Предпочтительный метод для системы на основе Debian - использовать файлы конфигурации сети.

Метод псевдонима предпочитает использовать такой порядок: eth0, eth:0:0, eth0:1, ...

Итак, первым псевдонимом системы будет eth0: 0, и чтобы добиться этого постоянства при перезагрузках системы, создайте файл /etc/network/interfaces.d/eth0 с таким содержанием:

auto eth0:0
allow-hotplug eth0:0
iface eth0:0 inet static
      address 192.168.129.134/17

Или вы можете редактировать непосредственно файл /etc/network/interfaces но это не рекомендуется, так как он может быть перезаписан автоматически.

Потом делаю

service networking restart

для проверки конфигурации. Затем проверьте с помощью команды:

service networking status

и

ip address