У меня проблемы с добавлением второго 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