Eu gostaria de encaminhar pacotes entre interfaces sem usar o iptables. Eu não sou contra o iptables por si só, eu apenas acredito que para as minhas necessidades simples não é necessário. No entanto, não posso fazê-lo. Posso?
Aqui está o cenário: Eu tenho uma interface sem fio e uma interface com fio no host A. Meu gateway sem fio tem IP 10.0.0.1. Minha interface sem fio é 10.0.0.12.
Por isso, se ativar o encaminhamento de porta usando sysctl e criar um IP na rede para minha interface com fio, crie uma entrada de tabela de roteamento para o host conectado à interface com fio (chame-o de host B). deve ser bom, não?
Então eu tenho:
- Sem fio:
- Gateway == 10.0.0.1
- Interface do Host A == 10.0.0.12
- Host netmask == 255.255.255.0
- Com fio:
- Interface do Host A == 10.0.0.99
- Interface do host B == 10.0.0.100, conectada ao host A.
- entrada da tabela de roteamento para o Host B com uma máscara de rede de 255.255.255.255.
Eu posso pingar e ssh no Host B do Host A. Mas quando eu tento pingar o gateway do host B, vejo muitos deles na interface com fio do Host A:
12:56:55.211866 ARP, Request who-has gateway tell 10.0.0.100, length 46
12:56:56.211751 ARP, Request who-has gateway tell 10.0.0.100, length 46
12:56:57.214187 ARP, Request who-has gateway tell 10.0.0.100, length 46
12:56:58.211834 ARP, Request who-has gateway tell 10.0.0.100, length 46
...
Há algo que está faltando ou preciso de iptables?
Aqui está minha tabela de roteamento no Host A:
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 10.0.0.1 0.0.0.0 UG 0 0 0 wlp3s0
10.0.0.0 0.0.0.0 255.255.255.0 U 0 0 0 wlp3s0
10.0.0.100 0.0.0.0 255.255.255.255 UH 0 0 0 enp0s25
adTHANKSvance!
BTW, no host A:
# sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 1