A política de roteamento de origem simples no roteador dd-wrt não “gruda”

1

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:

  • Modelo: Netgear WNDR3400
  • ID do FCC: PY309300116
  • Firmware: DD-WRT v24-sp2 (12/08/11) mega, construir 17990M
  • No prompt do roteador (via 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:

  1. Usando a interface do usuário da web do roteador, coloco o seguinte como um script de firewall:
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
  1. Salvei o script de firewall e reinicie o roteador.
  2. Em um computador separado ( lars ), eu ssh em hermes .
  3. Em hermes , executo os seguintes comandos:
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.

  • Qual é a maneira correta de fazer isso para que a configuração persista?
  • O script de firewall é estritamente necessário?
  • Essa configuração atingirá a meta de obter solomon por meio da VPN e deixar todos os outros tráfego sem serem afetados?

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 ?

    
por emptyset 29.11.2012 / 00:10

0 respostas