Я пытаюсь настроить два сетевых адаптера в Ubuntu (серверная версия) 9.10. Один для общедоступного Интернета, другой для частной локальной сети.
Во время установки меня попросили выбрать основной сетевой адаптер (eth0 или eth1). Я выбрал eth0, дал установщику детали, перечисленные ниже в содержании /etc/network/interfaces
, и продолжил. Я использую этот адаптер с этими настройками последние несколько дней, и все было в порядке.
Сегодня я решил, что пора настроить локальный адаптер. Я редактирую /etc/network/interfaces
чтобы добавить детали для eth1 (см. ниже), и перезапустите сеть с помощью sudo /etc/init.d/networking restart
.
После этого попытка проверить связь с машиной, используя ее внешний IP-адрес, не удалась, но я могу проверить связь с ее локальным IP-адресом.
Если я отключу eth1 с помощью sudo ifdown eth1
, Я снова могу успешно пропинговать машину через внешний IP-адрес (но, очевидно, не через внутренний IP-адрес). Резервное копирование eth1 возвращает нас к исходному состоянию проблемы: внешний IP-адрес не работает, внутренний IP-адрес работает.
Вот мой /etc/network/interfaces
(Я удалил информацию о внешнем IP-адресе, но эти настройки не изменились с того момента, когда он работал)
rob@rhea:~$ cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary (public) network interface
auto eth0
iface eth0 inet static
address xxx.167.218.118
netmask 255.255.255.240
network xxx.167.218.112
broadcast xxx.167.218.127
gateway xxx.167.218.126
# The secondary (private) network interface
auto eth1
iface eth1 inet static
address 192.168.99.4
netmask 255.255.255.0
network 192.168.99.0
broadcast 192.168.99.255
gateway 192.168.99.254
Затем я делаю это:
rob@rhea:~$ sudo /etc/init.d/networking restart
* Reconfiguring network interfaces... [ OK ]
rob@rhea:~$ sudo ifup eth0
ifup: interface eth0 already configured
rob@rhea:~$ sudo ifup eth1
ifup: interface eth1 already configured
Затем с другой машины:
C:\Documents and Settings\Rob>ping xxx.167.218.118
Pinging xxx.167.218.118 with 32 bytes of data:
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Ping statistics for xxx.167.218.118:
Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),
Вернемся к рассматриваемому серверу Ubuntu:
rob@rhea:~$ sudo ifdown eth1
... и снова на другой машине:
C:\Documents and Settings\Rob>ping xxx.167.218.118
Pinging xxx.167.218.118 with 32 bytes of data:
Reply from xxx.167.218.118: bytes=32 time<1ms TTL=63
Reply from xxx.167.218.118: bytes=32 time<1ms TTL=63
Reply from xxx.167.218.118: bytes=32 time<1ms TTL=63
Reply from xxx.167.218.118: bytes=32 time<1ms TTL=63
Ping statistics for xxx.167.218.118:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
Итак ... что я делаю не так?
Решено Исправление сначала для удаления информации о шлюзе из раздела eth1 (как предложил MikeyB), а затем удаления маршрута для сетевого адреса eth1 из таблицы маршрутизации как такового:
sudo route del -net 192.168.99.0 netmask 255.255.255.0 dev eth1
У вас почти наверняка не должно быть двух шлюзов по умолчанию.
Попробуйте удалить шлюз по умолчанию из раздела eth1 и посмотрите, поможет ли это.