Wenn Sie unter Linux ein Paket an die Adresse einer seiner Netzwerkschnittstellen senden , wird dieses Paket intern weitergeleitet und niemals über das Netzwerk gesendet. Das ist in 99,99% der Fälle das Richtige.
Gelegentlich ist es beim Testen von Netzwerkkonfigurationen hilfreich, ein Paket über eine lokale Verbindung vom Computer selbst zu senden, wobei der Computer selbst das Ziel ist. Wie kann ich das machen? Zumindest für eine Busverbindung wie Ethernet, wenn nicht für eine Punkt-zu-Punkt-Verbindung. Ich interessiere mich nur für IP-Pakete (sowohl IPv4 als auch IPv6).
linux
networking
ip
ethernet
Gilles 'SO - hör auf böse zu sein'
quelle
quelle
Antworten:
Jeder Netzwerkadapter unter Linux verfügt über einen booleschen sysctl-Parameter
accept_local
(/proc/sys/net/ipv4/conf/eth0/accept_local
). Versuchen Sie, es für alle beteiligten Adapter auf 0 zu setzen (zusätzlich müssen Sie möglicherweise Ihre Routing-Tabelle an Ihr Test-Setup anpassen).Stellen Sie außerdem sicher, dass
rp_filter
(/proc/sys/net/ipv4/conf/eth0/rp_filter
) aktiviert ist (nicht 0).Referenz: http://code.metager.de/source/xref/linux/stable/Documentation/networking/ip-sysctl.txt
quelle