Ich versuche, zwei Netzwerkadapter in Ubuntu (Server Edition) 9.10 einzurichten. Eine für das öffentliche Internet, die andere für ein privates LAN.
Während der Installation wurde ich gebeten, einen primären Netzwerkadapter (eth0 oder eth1) auszuwählen. Ich entschied mich für eth0, gab dem Installer die unten im Inhalt von aufgeführten Details /etc/network/interfaces
und fuhr fort. Ich habe diesen Adapter mit diesen Einstellungen in den letzten Tagen verwendet, und alles war in Ordnung.
Heute entscheide ich, dass es Zeit ist, den lokalen Adapter einzurichten. Ich bearbeite das /etc/network/interfaces
, um die Details für eth1 hinzuzufügen (siehe unten), und starte das Netzwerk mit neu sudo /etc/init.d/networking restart
.
Danach schlägt der Versuch fehl, den Computer mit seiner externen IP-Adresse zu pingen, aber ich kann seine lokale IP-Adresse pingen.
Wenn ich eth1 mit herunterfahre sudo ifdown eth1
, kann ich den Computer erneut erfolgreich über seine externe IP-Adresse (aber offensichtlich nicht über seine interne IP-Adresse) anpingen . Wenn Sie eth1 sichern, kehren Sie zum ursprünglichen Problemzustand zurück: Externe IP funktioniert nicht, interne IP funktioniert.
Hier ist meine /etc/network/interfaces
(Ich habe die externen IP-Informationen entfernt, aber diese Einstellungen sind unverändert, als es funktionierte)
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
Ich mache dann folgendes:
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
Dann von einer anderen Maschine:
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),
Zurück auf dem fraglichen Ubuntu-Server:
rob@rhea:~$ sudo ifdown eth1
... und nochmal auf der anderen Maschine:
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
Also ... was mache ich falsch?
Gelöst Der Fix, bei dem zuerst die Gateway-Informationen aus der Zeilengruppe eth1 entfernt wurden (wie von MikeyB vorgeschlagen) und dann die Route für die Netzwerkadresse von eth1 als solche aus der Routing-Tabelle entfernt wurde:
sudo route del -net 192.168.99.0 netmask 255.255.255.0 dev eth1
netstat -rn
und ip route list
ausgeben? Klingt nach einem Asym. Routing Whoops zu mir.