Suas interfaces de entrada e saída estão invertidas no comando iptables.
Eles devem ser:
sudo iptables -A FORWARD --in-interface enp5s0 --out-interface tun0 -j ACCEPT
e:
sudo iptables -t nat -A POSTROUTING --out-interface tun0 -j MASQUERADE
Estou tentando encaminhar o tráfego de uma interface física enp5s0
para um virtual tun0
. O objetivo é fazer com que tun0
receba essencialmente todos os pacotes de enp5s0
.
Primeiro, habilito o encaminhamento com um comando
sudo sysctl -w net.ipv4.ip_forward=1
Em seguida, crio tun0
executando
sudo ip tuntap add dev tun0 mod tun
Eu atribuo o endereço IP e ligo o dispositivo:
sudo ifconfig tun0 10.1.8.5 netmask 255.255.255.0 promisc up
Eu quero fazer com que todos os pacotes passem de enp5s0
para tun0
, então eu tenho que usar iptables . Eu preciso fazer uma regra que permita o encaminhamento de enp5s0
para tun0
, então o comando é
sudo iptables -A FORWARD --in-interface tun0 --out-interface enp5s0 -j ACCEPT
Então eu ative o NAT executando
sudo iptables -t nat -A POSTROUTING --out-interface enp5s0 -j MASQUERADE
tcpdump não mostra tráfego em tun0
.
Além disso, tentei quase a mesma coisa, mas usando o dispositivo TAP. Eu criei uma ponte com brctl
, adicionei tap0
e enp5s0
, mas nenhum pacote foi recebido por tap0
e tudo deu certo com enp5s0
. Nada como default gw 10.1.8.5
funciona no caso do TUN. Onde está um erro?
Suas interfaces de entrada e saída estão invertidas no comando iptables.
Eles devem ser:
sudo iptables -A FORWARD --in-interface enp5s0 --out-interface tun0 -j ACCEPT
e:
sudo iptables -t nat -A POSTROUTING --out-interface tun0 -j MASQUERADE
Tags vpn iptables tunneling forwarding