maneira correta de NAT e roteamento ao usar a interface TUN com iptables

maneira correta de NAT e roteamento ao usar a interface TUN com iptables

editar: sou um novato em networking e descobrindo coisas novas :)

Criei uma interface TUN programaticamente e capaz de interagir.

Eu configurei e passei ifconfig myTun 10.10.1.1/24 up

e está instalado e funcionando como posso vê-lo ifconfige fazendo ping10.10.1.1

e para ter 100% de certeza se minha interface TUN está funcionando com meu problema escrito, fiz o seguinte:

Eu fiz ping 10.10.1.2e o pacote foi recebido em meu programa, escrevi de volta para tun e o recebi novamente em um loop.

agora tenho certeza de que todos os pacotesDEouPARA 10.10.1.xestão sendo recebidos e escritos para TUN sem nenhum problema.

quando escrevo um pacote comqualquer IP de destino foraele 10.10.1.xfoi gravado com sucesso no TUN, mas nenhuma resposta foi recebida no TUN.

depois de pesquisar e ler muitos artigos, percebi que ele estava sendo descartado silenciosamente pelo kernel.

Eu li muitas perguntas e respostas sobre interfaces TUN em serverfault.com e descobri que perdi uma parte importante da minha lógica, que éROTEAMENTO.

meu entendimento final é: o pacote está OK e foi recebido pela pilha de rede no Linux, mas o kernel não sabe o que fazer com o pacote por causa de seu destino estranho. então descobri que devo especificar algum roteamento para o kernel emtabelas de ipe habilitando net.ipv4.ip_forward, mas não sabe como.

meu objetivo final é:

quando eu envio qualquer pacote com qualquer destino fora 10.10.1.xdo TUN, ele deve ser roteado para minha interface principal (que tem acesso à internet, e é wlps020f3) e qualquer resultado desse pacote deve ser retornado para minha interface TUN

como configurarNATemtabelas de ippara solução alternativa?

Agradeço antecipadamente

Responder1

Habilitar encaminhamento IPv4:

sudo sysctl -w net.ipv4.ip_forward=1

Tráfego NATda interface do túnel atrás do seu endereço sem fio:

sudo iptables -t nat -A POSTROUTING -o wlps020f3 -j MASQUERADE

Nenhuma dessas alterações sobreviverá a uma reinicialização. O link superior eEstetenha mais informações sobre esse aspecto.

informação relacionada