Zwei Standard-Ubuntu-Instanzen können nicht über Amazon VPC aufeinander zugreifen

Zwei Standard-Ubuntu-Instanzen können nicht über Amazon VPC aufeinander zugreifen

Ich verwende zwei Ubuntu 12.04-Instanzen, die nicht aufeinander zugreifen können.

Maschine 1:

eth0 - 10.0.0.20
eth1 - 10.0.0.30

netstat -nr:

Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         10.0.0.1        0.0.0.0         UG        0 0          0 eth0
10.0.0.0        0.0.0.0         255.255.255.0   U         0 0          0 eth1
10.0.0.0        0.0.0.0         255.255.255.0   U         0 0          0 eth0

Maschine 2:

eth0 - 10.0.0.100
eth1 - 10.0.0.40

netstat -nr:

Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         10.0.0.1        0.0.0.0         UG        0 0          0 eth0
10.0.0.0        0.0.0.0         255.255.255.0   U         0 0          0 eth0
10.0.0.0        0.0.0.0         255.255.255.0   U         0 0          0 eth1

Beide Maschinen haben nur über das Internet Zugriff aufeinander, aber nicht über VPC (LAN, mit anderen Worten). Das Deaktivieren der Firewall hilft nicht. Maschine 1 kann nur 10.0.0.100 anpingen. Maschine 2 kann nur 10.0.0.30 anpingen. Ich kann über LAN keine Verbindung zu einer der Maschinen im TCP/UDP-Protokoll herstellen. Es gibt keine ACLs und die Daemons auf den Maschinen lauschen auf allen IPs, allen Schnittstellen. Was könnte das Problem sein?

Bearbeitung 1:

Es scheint, dass das Problem in den Routing-Tabellen lag. Ich habe das Problem auf Maschine 1 gelöst, nachdem ich 1 NIC auf Maschine 2 gelöscht und einige zufällige Aktionen ausgeführt habe. Dies führte dazu, dass DHCP diese Regeln erhielt:

~$ ip rule
0:      from all lookup local 
32765:  from 10.0.0.30 lookup 2 
32766:  from all lookup main 
32767:  from all lookup default 
~$ 

Ich kann dies auf Maschine 2 nicht reproduzieren, aber ich kann die Regeln und Routingtabellen manuell hinzufügen mit:

ip route add default via 10.0.0.1 dev eth0
ip route add default via 10.0.0.1 dev eth1 table 2
ip rule add from 10.0.0.167 lookup 2 prio 1000

Wie kann ich vermeiden, es manuell zu tun?

Antwort1

Versuchen Sie, die Routen spezifischer hinzuzufügen. Beim Routing wird die erste passende Route bevorzugt, sortiert nach Spezifität, Metrik und dann Reihenfolge der Hinzufügung.

Fügen Sie beispielsweise auf Maschine 1 die folgende Route hinzu:

ip route add 10.0.0.40/32 dev eth1 src 10.0.0.30

Und auf Maschine 2:

ip route add 10.0.0.30/32 dev eth1 src 10.0.0.40

Möglicherweise möchten Sie die allgemeineren Routen für eth1 auf beiden Maschinen löschen:

ip route del 10.0.0.0/24 dev eth1

Da sie sich in /24 befinden, sollten Sie versuchen, sie in verschiedene Subnetze zu bekommen. Wenn sich beispielsweise beide eth1s in 10.0.1.0/24 befänden, hätten Sie dieses Problem überhaupt nicht.

verwandte Informationen