W systemie Linux, jeśli wysyłasz pakiet na adres jednego z jego interfejsów sieciowych , ten pakiet jest trasowany wewnętrznie, nigdy nie jest wysyłany przez sieć. Tak jest w 99,99% przypadków.
Czasami podczas testowania konfiguracji sieci przydatne jest wysłanie pakietu przez łącze lokalne z samego komputera, z samym komputerem jako celem. W jaki sposób mogę to zrobić? Przynajmniej dla łącza typu magistrala, takiego jak Ethernet, jeśli nie dla łącza punkt-punkt. Interesują mnie tylko pakiety IP (zarówno IPv4, jak i IPv6).
linux
networking
ip
ethernet
Gilles „SO- przestań być zły”
źródło
źródło
Odpowiedzi:
Każda karta sieciowa w systemie Linux ma parametr logiczny sysctl
accept_local
(/proc/sys/net/ipv4/conf/eth0/accept_local
). Spróbuj ustawić wartość 0 dla wszystkich zaangażowanych adapterów (dodatkowo może być konieczne zmodyfikowanie tabeli routingu, aby dostosować ją do konfiguracji testowej).Upewnij się także, że
rp_filter
(/proc/sys/net/ipv4/conf/eth0/rp_filter
) jest włączone (nie 0).Odniesienie: http://code.metager.de/source/xref/linux/stable/Documentation/networking/ip-sysctl.txt
źródło