Estado da meta : faça com que o tráfego de um computador na LAN use a configuração do túnel VPN entre o meu roteador e um provedor OpenVPN e não deixe que nenhum outro tráfego seja afetado.
Veja algumas informações relevantes sobre o meu roteador:
ssh
), root@hermes# nvram show | grep bytes size: 33129 bytes (32407 left)
O roteador DD-WRT ( hermes 10.1.1.1
) é configurado como um cliente OpenVPN e se conecta com êxito ao servidor OpenVPN ( torchwood 10.8.0.1
).
Eu testei isso executando tail -f /var/log/openvpn.log
em torchwood e executando ping 10.8.0.1
em hermes , além de verificar o conteúdo de /tmp/var/log/openvpn.log
em hermes - Eu definitivamente posso ver torchwood recebendo o tráfego de ping de hermes .
O que estou tentando fazer é usar o roteamento simples de políticas de origem para que outro computador ( solomon 10.1.1.20
) na minha LAN terá todo o seu tráfego roteado através da conexão VPN. No entanto, minhas tentativas de configurar a tabela como no exemplo não foram bem-sucedidas.
Aqui estão os passos que eu dou:
iptables -I INPUT 1 -p tcp --dport 1194 -j ACCEPT iptables -I FORWARD 1 --source 10.8.0.0/24 -j ACCEPT iptables -I FORWARD -i br0 -o tun1 -j ACCEPT iptables -I FORWARD -i tun1 -o br0 -j ACCEPT
root@hermes# mkdir /tmp/etc/iproute2 root@hermes# echo "200 ovpn" >> /tmp/etc/iproute2/rt_tables root@hermes# ip rule add from all 10.1.1.20 lookup ovpn root@hermes# ip route add default via 10.8.0.1 dev tun1 table ovpn root@hermes# ip route flush cache
O resultado final é que a pasta iproute2
é criada e 200 ovpn
é o conteúdo do arquivo rt_tables
nessa pasta. No entanto, quando eu corro:
root@hermes# ip rule list 0: from all lookup local 32766: from all lookup main 32767: from all lookup default root@hermes# ip route show table ovpn root@hermes# ip route show table all 10.8.0.5 dev tun1 src 10.8.0.6 X.Y.Z.1 dev vlan2 10.8.0.0/24 via 10.8.0.5 dev tun1 10.1.10.0/24 via 10.8.0.5 dev tun1 10.1.1.0/24 dev br0 src 10.1.1.1 X.Y.Z.0/21 dev vlan2 src X.Y.Z.W 169.254.0.0/16 dev br0 src 169.254.255.1 127.0.0.0/8 dev lo default via X.Y.Z.1 dev vlan2 broadcast 127.255.255.255 dev lo src 127.0.0.1 broadcast X.Y.Z.0 dev vlan2 src X.Y.Z.W local 169.254.255.1 dev br0 src 169.254.255.1 local 10.8.0.6 dev tun1 src 10.8.0.6 broadcast X.Y.Z.255 dev vlan2 src X.Y.Z.W broadcast 169.254.0.0 dev br0 src 169.254.255.1 broadcast 10.1.1.255 dev br0 src 10.1.1.1 broadcast 169.254.255.255 dev br0 src 169.254.255.1 local X.Y.Z.W dev vlan2 src X.Y.Z.W broadcast 127.0.0.0 dev lo src 127.0.0.1 broadcast 10.1.1.0 dev br0 src 10.1.1.1 local 127.0.0.1 dev lo src 127.0.0.1 local 10.1.1.1 dev br0 src 10.1.1.1 local 127.0.0.0/8 dev lo src 127.0.0.1 root@hermes# ifconfig tun1 tun1 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 inet addr:10.8.0.6 P-t-P:10.8.0.5 Mask:255.255.255.255 UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1 RX packets:3 errors:0 dropped:0 overruns:0 frame:0 TX packets:3 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100 RX bytes:252 (252.0 B) TX bytes:252 (252.0 B)
Nenhum comando gera a informação que acabei de adicionar. Eu também tentei adicionar os comandos para o script de inicialização na interface do usuário da web do roteador e para /tmp/openvpn/route-up.sh
sem resultados.
Também : existe uma alternativa? Por exemplo, talvez se eu pular a configuração VPN no roteador, e em vez disso estabelecer o link OpenVPN de solomon diretamente para torchwood , então eu tenho que mudar apenas a tabela de roteamento em solomon ?