openvpn - encaminha o tráfego de rede da sub-rede específica para a interface específica do tun

1

Estou usando um dispositivo em execução no openwrt (chaos_calmer 15.05)

Estou tentando encaminhar o tráfego de rede de dois SSIDs diferentes para dois vps diferentes executando o openvpn

Minha configuração está trabalhando com apenas uma interface wifi / tun. Parece impossível trabalhar com os dois VPN (openvpn client) ao mesmo tempo.

Eu não entendo o porquê: / Eu acho que não é uma configuração complicada. Espero que alguém possa me ajudar aqui, já que você é especialista em redes.

Eu acho que é um problema de roteamento, mas não tenho certeza. Alguém pode me ajudar a consertar isso, por favor?

Para simplificar isso, minha configuração se parece com:

eth0 (internet link) <===== tun0 <==== wifi-A
eth0 (internet link) <===== tun1 <==== wifi-B

Observe as seguintes declarações

  1. Meu dispositivo openwrt obtém o link da Internet com a interface eth0 usando DHCP

  2. Eu criei uma ponte na minha interface wlan0 para poder transmitir duas SSID: (wifi-a & wifi-b)

  3. No wifi-a: um servidor DHCP está executando o pool 172.17.42.100-200 gw 172.18.42.1

  4. Em wifi-b: um servidor DHCP está executando o pool 172.18.42.100-200 gw 172.18.42.1

  5. Eu tenho dois VPS onde instalei o openvpn: PublicIP-1 & PublicIP-2

  6. Eu corro no meu dispositivo dois clientes openvpn para public-IP-1 (tun0) e para public-IP-2 (tun1)

  7. Finalmente eu chamei uma sub-rede wifi para uma sub-rede tun0 e wifi-b para tun1 com as seguintes regras de iptables:

    iptables -t nat -A POSTROUTING -s 172.17.42.0/24 -o tun0 -j MASQUERADE     iptables -A FORWARD -s 172.17.42.0/24 -o tun0 -j ACEITAR iptables -A     FRENTE -d 172.17.42.0/24 -m estado - estado ESTABELECIDO, RELACIONADO -i tun0 -j ACEITAR

    iptables -t nat -A POSTROUTING -s 172.18.42.0/24 -o tun1 -j MASQUERADE
    iptables -A FORWARD -s 172.18.42.0/24 -o tun1 -j ACCEPT iptables -A
    FORWARD -d 172.18.42.0/24 -m state --state ESTABLISHED,RELATED -i tun1 -j ACCEPT
    

Abaixo dos detalhes da minha interface:

eth0 inet addr:192.168.0.10 Bcast:192.168.0.255 Mask:255.255.255.0

br-wifi-a inet addr:172.17.42.1 Bcast:172.17.42.255 Mask:255.255.255.0

br-wifi-b inet addr:172.18.42.1 Bcast:172.18.42.255 Mask:255.255.255.0

tun0 inet addr:10.8.0.6 P-t-P:10.8.0.5 Mask:255.255.255.255

tun1 inet addr:10.9.0.6 P-t-P:10.9.0.5 Mask:255.255.255.255

Minha tabela de rotas:

Destination Gateway Genmask Flags Metric Ref
Use Iface

default 192.168.0.1 0.0.0.0 UG 0 0 0 eth0

10.8.0.1 10.8.0.5 255.255.255.255 UGH 0 0 0 tun0 10.8.0.5 * 255.255.255.255 UH 0 0 0 tun0 10.9.0.1 10.9.0.5 255.255.255.255 UGH 0 0 0 tun1 10.9.0.5 * 255.255.255.255 UH 0 0 0 tun1

PublicIP-1 192.168.0.1 255.255.255.255 UGH 0 0 0 eth0

PublicIP-2 192.168.0.1 255.255.255.255 UGH 0 0 0 eth0

172.17.42.0 * 255.255.255.0 U 0 0 0 br-wred

172.22.42.0 * 255.255.255.0 U 0 0 0 br-lan 192.168.0.0 * 255.255.255.0 U 0 0 0 eth0

Depuração rápida:

ping google.com -I tun1 PING google.fr (108.177.119.94): 56 data bytes 64 bytes from 108.177.119.94: seq=0 ttl=43 time=29.665 ms

ping google.com -I tun0 PING google.fr (108.177.119.94): 56 data bytes 64 bytes from 108.177.119.94: seq=0 ttl=43 time=30.277 ms

ping google.com -I eth0 PING google.fr (108.177.119.94): 56 data bytes 64 bytes from 108.177.119.94: seq=0 ttl=42 time=17.860 ms ^C

Você sabe onde estou falhando? Obrigado pela sua ajuda pessoal,

Adicionalmente, eu tentei o seguinte para adicionar o add default gw para minhas interfaces tun:

echo "1 vpna" >> /etc/iproute2/rt_tables
echo "2 vpnb" >> /etc/iproute2/rt_tables

ip rule add from 10.8.0.0/24 dev tun0 table vpna
ip rule add from 10.9.0.0/24 dev tun1 table vpnb

ip route add default via 10.8.0.5 dev tun0 table vpna
ip route add default via 10.9.0.5 dev tun1 table vpnb
    
por random dude 23.09.2017 / 17:30

0 respostas