No Linux, se você enviar um pacote para o endereço de uma de suas interfaces de rede , esse pacote é roteado internamente, nunca é enviado pela rede. Essa é a coisa certa em 99,99% dos casos.
Ocasionalmente, ao testar configurações de rede, é útil enviar um pacote através de um link local da própria máquina, com a própria máquina como destino. Como posso fazer isso? Pelo menos para um link do tipo barramento, como Ethernet, se não for para um link ponto a ponto. Estou interessado apenas em pacotes IP (IPv4 e IPv6).
linux
networking
ip
ethernet
Gilles 'SO- parar de ser mau'
fonte
fonte
Respostas:
Cada adaptador de rede no linux possui um parâmetro booleano sysctl
accept_local
(/proc/sys/net/ipv4/conf/eth0/accept_local
). Tente defini-lo como 0 para todos os adaptadores envolvidos (além disso, pode ser necessário modificar sua tabela de roteamento para se adequar à sua configuração de teste).Além disso, verifique se
rp_filter
(/proc/sys/net/ipv4/conf/eth0/rp_filter
) está ativado (não 0).Referência: http://code.metager.de/source/xref/linux/stable/Documentation/networking/ip-sysctl.txt
fonte