En Linux, si envía un paquete a la dirección de una de sus interfaces de red , este paquete se enruta internamente, nunca se envía a través de la red. Eso es lo correcto en el 99.99% de los casos.
Ocasionalmente, cuando se prueban las configuraciones de red, es útil enviar un paquete a través de un enlace local desde la máquina misma, con la máquina como destino. ¿Cómo puedo hacer esto? Al menos para un enlace de tipo bus como Ethernet, si no es para un enlace punto a punto. Solo me interesan los paquetes IP (tanto IPv4 como IPv6).
linux
networking
ip
ethernet
Gilles 'SO- deja de ser malvado'
fuente
fuente
Respuestas:
Cada adaptador de red en Linux tiene un parámetro booleano sysctl
accept_local
(/proc/sys/net/ipv4/conf/eth0/accept_local
). Intente configurarlo en 0 para todos los adaptadores involucrados (además, es posible que deba modificar su tabla de enrutamiento para adaptarla a su configuración de prueba).Además, asegúrese de que
rp_filter
(/proc/sys/net/ipv4/conf/eth0/rp_filter
) esté habilitado (no 0).Referencia: http://code.metager.de/source/xref/linux/stable/Documentation/networking/ip-sysctl.txt
fuente