Я использую Ubuntu 14.04 с двумя сетевыми картами. Я вижу проблему, когда один из сетевых адаптеров не хочет использовать свой шлюз по умолчанию для маршрутизации трафика. Один сетевой адаптер работает с публичным IP-адресом, а другой - внутри локальной сети. eth0 работает без проблем.
Ниже приведен вывод из /etc /network /interfaces
auto eth0
iface eth0 inet static
address X.X.X.71
netmask 255.255.255.0
network X.X.X.0
broadcast 1.1.1.255
gateway X.X.X.1
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers 8.8.8.8
auto eth1 iface eth1 inet статический адрес 10.2.8.13 сетевая маска 255.255.255.0 сеть 10.2.8.0 широковещательная рассылка 10.2.8.255 шлюз 10.2.8.254 # dns- * опции реализуются пакетом resolvconf, если установлены dns-nameservers 10.2.14.5 10.2.14.6
Сервер может без проблем пропинговать шлюз по умолчанию через eth1, но когда я выхожу на 8.8.8.8, сервер даже не пытается использовать настроенный шлюз для eth1
user@myserver:~$ sudo traceroute -i eth1 8.8.8.8
traceroute to 8.8.8.8 (8.8.8.8), 30 hops max, 60 byte packets
1 * * *
2 * * *
3 * * *
4 * * *
5 * * *
6 *^Z
[8]+ Stopped sudo traceroute -i eth1 8.8.8.8
Первоначально я подозревал, что у брандмауэра или проблемы с маршрутизацией, но, глядя на этот traceroute, я понял, что это проблема на сервере, так как он не отправляет запросы своему DG на внешние адреса. Никакие другие адреса в этом частном IP-пространстве не имеют проблем с доступом к внешним сетям, и я проверил, блокирует ли отдельный ACL этот IP
РЕДАКТИРОВАТЬ: Если посмотреть дальше, кажется, что вы не можете установить шлюз по умолчанию для интерфейса. Шлюз по умолчанию установлен для всей системы. Есть ли способ обойти это или как обычно настраиваются двойные сетевые интерфейсы?