Sous Linux, si vous envoyez un paquet à l'adresse de l'une de ses interfaces réseau , ce paquet est routé en interne, il n'est jamais envoyé sur le réseau. C'est la bonne chose dans 99,99% des cas.
Parfois, lors du test de configurations réseau, il est utile d'envoyer un paquet sur une liaison locale depuis la machine elle-même, avec la machine elle-même comme cible. Comment puis-je faire ceci? Au moins pour une liaison de type bus telle qu'Ethernet, sinon pour une liaison point à point. Je ne suis intéressé que par les paquets IP (IPv4 et IPv6).
linux
networking
ip
ethernet
Gilles 'SO- arrête d'être méchant'
la source
la source
Réponses:
Chaque adaptateur réseau sous linux a un paramètre booléen sysctl
accept_local
(/proc/sys/net/ipv4/conf/eth0/accept_local
). Essayez de le mettre à 0 pour tous les adaptateurs impliqués (en outre, vous devrez peut-être modifier votre table de routage pour l'adapter à votre configuration de test).Assurez-vous également que
rp_filter
(/proc/sys/net/ipv4/conf/eth0/rp_filter
) est activé (pas 0).Référence: http://code.metager.de/source/xref/linux/stable/Documentation/networking/ip-sysctl.txt
la source