Zwei Netzwerkadapter unter Ubuntu Server 9.10 - Können nicht beide gleichzeitig funktionieren?

7

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/interfacesund 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


quelle
Können Sie mit beiden die interne von der internen Maschine und die externe von der Maschine außerhalb Ihres Netzwerks anpingen?
McJeff
@ McJeff - nein. Mit beiden kann ich die externe IP-Adresse weder intern noch von einem SliceHost VPS
Kannst du posten netstat -rnund ip route listausgeben? Klingt nach einem Asym. Routing Whoops zu mir.
McJeff
hatte ein ähnliches Problem und dieser Thread hat sehr geholfen - danke an alle! Eine weitere Frage: Wäre die Route del beim Neustart erforderlich, nachdem der zweite Gateway-Eintrag in / etc / network / interfaces entfernt wurde?
Nathan

Antworten:

4

Sie sollten mit ziemlicher Sicherheit nicht zwei Standard-Gateways haben.

Versuchen Sie, das Standard-Gateway aus der Zeilengruppe eth1 zu entfernen, und prüfen Sie, ob dies hilfreich ist.

MikeyB
quelle
Bitte posten Sie die Ausgabe von ip addrund ip routemit beiden Schnittstellen. Und Sie müssen nur das erste Oktett Ihrer IP-Adresse bereinigen.
MikeyB
Vielen Dank, Mikey. Wenn Sie das Gateway aus der Zeilengruppe eth1 entfernen, kann die externe IP-Adresse von außerhalb des Netzwerks gepingt werden, aber von innen funktioniert sie immer noch nicht. Ich habe die angeforderten Informationen hinzugefügt
Ah! Es sieht so aus, als ob asymmetrisches Routing stattfindet. Wenn Sie am 192.168.99.0/24 von einem anderen Computer aus auf xxx.167.218.118 zugreifen, wird diese Anforderung NATted? Wenn ja, ist das Ihr Problem. Keine Notwendigkeit zu NAT. Vor diesem Hintergrund funktioniert Ihre Lösung zum Entfernen der Netzwerkroute aus eth1. Sie können auch die interne Adresse in eine / 32-Adresse ändern.
MikeyB