Eu tenho um dispositivo que executa o OpenVPN com eth0
(conectado à internet), tun0
conectado à VPN e wlan0
executando hostapd com clientes.
Eu quero todo o tráfego dos clientes para passar pela VPN, mas nenhum do tráfego do sistema local para. Eu tentei copiar rotas para table 3
com ip route
e marcando no iptables, e muitas outras iterações, mas a única maneira que eu consigo fazer isso funcionar é uma 0.0.0.0
route na tabela principal, o que força todo o tráfego no sistema local para passar pela VPN também.
Então, o que estou executando agora é básico:
sudo iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE
sudo iptables -A FORWARD -i tun0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i wlan0 -o tun0 -j ACCEPT
Se eu usar
sudo openvpn --config /etc/openvpn/server/server.ovpn --daemon
Então, é claro, tudo funciona, exceto que o tráfego no sistema local também está passando pela VPN.
Se eu usar
sudo openvpn --config /etc/openvpn/server/server.ovpn --daemon --pull-filter ignore redirect-gateway --route-nopull --route-noexec
Em seguida, o sistema local continua a passar pela eth0, mas o tráfego de máscaras da wlan0 é bloqueado.
Alguma sugestão?