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.