Você realmente não bind
eth0
e tun0
mais do que vincula wlan0
e tun0
. Na verdade, você permite que os pacotes passem de uma interface para outra, configurando ip_forwarding=1
permanentemente alterando /etc/sysctl.conf
ou temporariamente echo
-ing 1 em /proc/sys/kernel/net/ipv4/ip_forward
.
A única coisa que está faltando é a mudança de cabeçalho do pacote: se você simplesmente deixá-los passar como estão, os pacotes terão como IP de origem o pc emissor, que não é o da interface através do qual eles saíram do seu sistema ( wlan0
, neste caso). Então você precisa de iptables
para fazer com que pareçam originários de wlan0
, para que eles encontrem o caminho de volta para casa. iptables
cuida automaticamente de lembrar qual conexão deve ser roteada de volta para tun0
e qual conexão não precisa ser:
iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
EDITAR:
você está tentando manter seu pc conectado simultaneamente com seu eth0
e wlan0
. As instruções que dei a você presumem que você está apenas conectado via wlan0
. Você deve desconectar da ethernet, reiniciar o openvpn e verificar se eles realmente funcionam.
Mantendo os dois eth0
e wlan0
conectados simultaneamente, iniciando uma instância do OpenVPN em wlan0
e roteando o tráfego da LAN a partir de tun0
via OpenVPN can ser feito, mas requer um diferente técnica. Eu sugiro que você faça uma pergunta diferente sobre isso.