Отправлять пакет по сети, даже если его целью является локальный хост

В Linux, если вы отправляете пакет по адресу одного из своих сетевых интерфейсов , этот пакет маршрутизируется внутри страны, он никогда не отправляется по сети. Это правильно в 99,99% случаев.

Иногда при тестировании сетевых конфигураций полезно отправлять пакет по локальной ссылке с самого устройства, причем сама машина является целевой. Как я могу это сделать? По крайней мере, для шины типа, например Ethernet, если не для двухточечной связи. Меня интересуют только IP-пакеты (как IPv4, так и IPv6).

  • DHCP-сервер: предлагает разные адреса подсети для разных интерфейсов
  • Контейнер LXC получает два назначенных ему IP-адреса
  • Что может вызвать задержку сети при установке нового Ubuntu Server 10.10?
  • Как заставить TCP-пакеты использовать конкретную сетевую карту
  • Как ограничить трафик для каждого порта (сервер Ubuntu)
  • DHCP-сервер со статическим IP-адресом, не разрешающим имена хостов (клиенты делают)
  • ifconfig показывает неверный IP-адрес
  • Виртуальный eth-адаптер в конфигурации сети
  • One Solution collect form web for “Отправлять пакет по сети, даже если его целью является локальный хост”

    Каждый сетевой адаптер на 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

    Linux и Unix - лучшая ОС в мире.