encaminhamento IP específico para o túnel ppp0

1

Eu sinto que tenho lutado com isso por tempo suficiente e preciso de ajuda.

Eu tenho um túnel pptp e estou tentando direcionar o tráfego de destino de 208.85.40.20 para o túnel pptp (ppp0). (Os observadores interessados podem reconhecer o ip como sendo o de pandora.com). Eu estou fazendo toda essa configuração em um roteador ... e sei que não está funcionando com sucesso, pois traceroute não produz nada além de astericks.

Eu colei os resultados relevantes abaixo: (com alguma edição de "segurança" para os endereços)

root@OpenWrt:~# ifconfig

br0       Link encap:Ethernet  HWaddr 00:1A:92:BC:XX:XX
          inet addr:192.168.1.1  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:28185 errors:0 dropped:0 overruns:0 frame:0
          TX packets:24936 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:4894242 (4.6 MiB)  TX bytes:5941902 (5.6 MiB)

eth0      Link encap:Ethernet  HWaddr 00:1A:92:BC:XX:XX
          UP BROADCAST RUNNING PROMISC MULTICAST  MTU:1500  Metric:1
          RX packets:51829 errors:0 dropped:0 overruns:0 frame:0
          TX packets:56824 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:11490288 (10.9 MiB)  TX bytes:11857913 (11.3 MiB)
          Interrupt:4

eth2      Link encap:Ethernet  HWaddr 00:1A:92:BC:XX:XX
          UP BROADCAST RUNNING ALLMULTI MULTICAST  MTU:1500  Metric:1
          RX packets:4 errors:0 dropped:0 overruns:0 frame:15426
          TX packets:9529 errors:21 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:423 (423.0 B)  TX bytes:596036 (582.0 KiB)
          Interrupt:2 Base address:0x2000

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:30 errors:0 dropped:0 overruns:0 frame:0
          TX packets:30 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:2300 (2.2 KiB)  TX bytes:2300 (2.2 KiB)

ppp0      Link encap:Point-Point Protocol
          inet addr:68.68.39.250  P-t-P:172.16.20.1  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1400  Metric:1
          RX packets:165 errors:2 dropped:0 overruns:0 frame:0
          TX packets:68 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3
          RX bytes:7006 (6.8 KiB)  TX bytes:3462 (3.3 KiB)

vlan0     Link encap:Ethernet  HWaddr 00:1A:92:BC:XX:XX
          UP BROADCAST RUNNING ALLMULTI MULTICAST  MTU:1500  Metric:1
          RX packets:28182 errors:0 dropped:0 overruns:0 frame:0
          TX packets:33813 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:5006544 (4.7 MiB)  TX bytes:6609774 (6.3 MiB)

vlan1     Link encap:Ethernet  HWaddr 00:1A:92:BC:XX:XX
          inet addr:173.183.111.3  Bcast:173.183.111.255  Mask:255.255.224.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:23653 errors:0 dropped:0 overruns:0 frame:0
          TX packets:23012 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:5522012 (5.2 MiB)  TX bytes:4982944 (4.7 MiB)

wds0.4915 Link encap:Ethernet  HWaddr 00:1A:92:BC:XX:XX
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

wds0.4915 Link encap:Ethernet  HWaddr 00:1A:92:BC:XX:XX
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
root@OpenWrt:~# cat /etc/ppp/ip-up

iptables -A FORWARD -t filter -i br0 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -t filter -i ppp0 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A POSTROUTING -o ppp0 -s 192.168.1.1/24 -d 0/0 -j MASQUERADE

iptables -A forwarding_rule -o ppp0 -j ACCEPT
iptables -A forwarding_rule -i ppp0 -j ACCEPT
iptables -t nat -A postrouting_rule -o ppp0 -j MASQUERADE
root@OpenWrt:~# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
172.16.20.1     *               255.255.255.255 UH    0      0        0 ppp0
208.85.40.20    *               255.255.255.255 UH    0      0        0 ppp0
192.168.1.0     *               255.255.255.0   U     0      0        0 br0
173.183.192.0   *               255.255.224.0   U     0      0        0 vlan1
default         d173-183-192-1. 0.0.0.0         UG    0      0        0 vlan1
default         192.168.1.1     0.0.0.0         UG    0      0        0 br0

Qualquer conselho é muito apreciado, eu não sou muito bom com a rede, mas sou muito esperto em aprender; -)

    
por gompertz 01.04.2010 / 22:53

2 respostas

1

você pode fazer algo parecido com isso para o seu script de inicialização:

echo "route add 208.85.40.20 dev \$IFNAME" >> /etc/ppp/ip-up.local
chmod 755 /etc/ppp/ip-up.local

EDITAR

Eu vejo seu usando o openwrt; Eu não acho que $ IFNAME resolverá para ppp0, ppp1 etc. O wiki openwrt sugere $ INTERFACE no script ip-up:

echo "route add 208.85.40.20 dev \$INTERFACE" >> /etc/ppp/ip-up

EDIT2

Você tentou adicionar manualmente a rota?

route add 208.85.40.20 dev ppp0
route add 208.85.40.50 dev ppp0

Se sim, aparece na sua tabela de roteamento? Em caso afirmativo, (suponho que sim), suspeito que o problema esteja no firewall ou no outro lado do link ppp. Você pode verificar com o tcpdump - se você ver o tráfego deixando a interface ppp0, mas sem retorno, então é provável que o ppp peer. Se você não vir tráfego, verifique as configurações do iptables.

tcpdump -n ip host 208.85.40.20

iptables inseguros para solução de problemas:

iptables -t nat -I PREROUTING -d 208.85.40.20 -j ACCEPT
iptables -t nat -I PREROUTING -s 208.85.40.20 -j ACCEPT
iptables -I FORWARD -s 208.85.40.20 -j ACCEPT
iptables -I FORWARD -d 208.85.40.20 -j ACCEPT
iptables -t nat -I POSTROUTING -s 208.85.40.20 -j ACCEPT
iptables -t nat -I POSTROUTING -d 208.85.40.20 -j MASQUERADE
    
por 02.04.2010 / 00:16
0

Eu fiz uma configuração semelhante, mas usando dois roteadores e funciona muito bem. Eu configurei o primeiro roteador como 192.168.199.1 e configurei o roteador strongVPN como 192.168.199.2. O roteador StrongVPN tem um endereço WAN estático apontando para 192.168.199.1 como gateway. O roteador principal tem rotas adicionadas para endereços que desejam passar pelo túnel. Para o Exemplo 208.85.40.20, sub-rede 255.255.255.0, gateway 192.168.199.2. Eu uso a sub-rede / 24 porque acho que a empresa pode ter um bloco de endereços para vários servidores. Ele funciona muito bem e dá velocidade total na maior parte do tráfego de rede e na velocidade do túnel para os serviços que você deseja rotear pelos servidores do país de hospedagem. Eu sei que isso não respondeu especificamente a sua pergunta original, mas é outra maneira de chegar lá que eu sei que funciona.

    
por 12.04.2010 / 13:28