В Linux, если вы отправляете пакет по адресу одного из его сетевых интерфейсов , этот пакет маршрутизируется внутри, он никогда не отправляется по сети. Это правильно в 99,99% случаев.
Иногда при тестировании сетевых конфигураций полезно отправлять пакет по локальной ссылке с самого компьютера, причем сама машина является целью. Как я могу это сделать? По крайней мере, для шинного соединения, такого как Ethernet, если не для соединения точка-точка. Меня интересуют только IP-пакеты (как IPv4, так и IPv6).
linux
networking
ip
ethernet
Жиль "ТАК - перестань быть злым"
источник
источник
Ответы:
Каждый сетевой адаптер в linux имеет логический параметр sysctl
accept_local
(/proc/sys/net/ipv4/conf/eth0/accept_local
). Попробуйте установить его в 0 для всех задействованных адаптеров (кроме того, вам может потребоваться изменить таблицу маршрутизации в соответствии с вашими настройками теста).Также убедитесь, что
rp_filter
(/proc/sys/net/ipv4/conf/eth0/rp_filter
) включен (не 0).Ссылка: http://code.metager.de/source/xref/linux/stable/Documentation/networking/ip-sysctl.txt
источник