VLAN-Trunking auf Schnittstelle nur von Hosts in seinem VLAN pingbar

VLAN-Trunking auf Schnittstelle nur von Hosts in seinem VLAN pingbar

Ich versuche, auf meinem Ubuntu 14.04-Server für jedes VLAN Subschnittstellen einzurichten. Ich glaube, ich habe sie erfolgreich mit vconfig eingerichtet, aber die Subschnittstelle kann nur von Hosts in ihrem eigenen VLAN angepingt werden. Ich brauche Hosts außerhalb ihres VLAN, um eine Verbindung herstellen zu können. Das scheint für meinen CentOS-Server gut zu funktionieren, also weiß ich, dass mein Netzwerk korrekt ist. Ich sehe auch ICMP-Anforderungspakete auf der Subschnittstelle, wenn ich ein tcpdumpPing von einem Client außerhalb des VLAN aus an die Subschnittstelle ausführe.

Irgendwelche Ideen? Welche anderen Tipps zur Fehlerbehebung können Sie mir geben?

EDIT: Ich habe es geschafft, das zu beheben. Mein TCPdump auf dem Server zeigte ICMP-Echoanfragen, aber keine Antwort. Ich habe einen verwandten Beitrag gefundenHier. Aktivieren Sie die Martian-Quellcodeprotokollierung wie folgt:

echo 1 >/proc/sys/net/ipv4/conf/eth2/log_martians

und dann

sysctl net.ipv4.conf.all.rp_filter=2

Habe es behoben. Ich bin überrascht, dass das nicht öfter vorkommt.

Antwort1

Ich habe es geschafft, das Problem zu beheben. Mein TCPdump auf dem Server zeigte ICMP-Echoanfragen, aber keine Antwort. Ich habe einen verwandten Beitrag gefundenHier. Aktivieren Sie die Martian-Quellcodeprotokollierung wie folgt:

echo 1 >/proc/sys/net/ipv4/conf/eth2/log_martians

und dann

sysctl net.ipv4.conf.all.rp_filter=2

Habe es behoben. Ich bin überrascht, dass das nicht öfter vorkommt.

Antwort2

Damit Ihr Client die IP-Adresse Ihres Servers anpingen kann, muss eine der folgenden Bedingungen zutreffen:

  • Der Client muss sich im selben [V]LAN befindenUNDeine IP-Adresse im selben IP-Subnetz verwenden wie die Adresse, die angepingt werden soll.

ODER

  • Es muss ein IP-Router (oder ein Netzwerk von Routern) vorhanden sein, der das [V]LAN und IP-Subnetz des Clients mit dem [V]LAN und IP-Subnetz des Servers verbindet.

Wenn Sie zwischen den beiden VLANs (oder zwischen den beiden IP-Subnetzen im selben VLAN, falls Sie dies tun) keinen Router eingerichtet haben, haben Sie keine IP-Netzwerkroute für die Pings bereitgestellt.

Beachten Sie, dass einige Betriebssysteme, zumindest in einigen Konfigurationen, nicht darauf achten, über welche Schnittstelle ein bestimmtes IP-Paket eingegangen ist. In diesen Fällen antworten sie möglicherweise auf eine Ping-Anforderung, die über die „falsche“ Schnittstelle eingegangen ist. Es könnte sein, dass Ihre CentOS-Umgebung in dieser Hinsicht nachlässig war, Ihr Ubuntu-Rechner jedoch sorgfältiger darauf achtet, welche Schnittstelle welche ist. Oder es kann sein, dass Sie die IP-Weiterleitung (die einfachste Version eines IP-Routers) auf dem CentOS-Rechner aktiviert haben, aber nicht auf Ihrem Ubuntu-Rechner.

Antwort3

Klingt, als ob Sie Routen für die spezifischen Remote-Netzwerke benötigen, mit denen Sie eine Verbindung herstellen möchten.

Zum Testen fügen Sie die Route wie folgt in die Routing-Tabelle ein:

sudo route add -net 172.16.0.0/12 gw 192.168.1.113 dev eth.<vlan number>

Um diese Routen dauerhaft zu machen, benötigen Sie einen Eintrag in /etc/network/interfaces wie diesen:

up route add [-net|-host] <host/net>/<mask> gw <host/IP> dev <Interface>

verwandte Informationen