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
Meu dispositivo openwrt obtém o link da Internet com a interface eth0 usando DHCP
Eu criei uma ponte na minha interface wlan0 para poder transmitir duas SSID: (wifi-a & wifi-b)
No wifi-a: um servidor DHCP está executando o pool 172.17.42.100-200 gw 172.18.42.1
Em wifi-b: um servidor DHCP está executando o pool 172.18.42.100-200 gw 172.18.42.1
Eu tenho dois VPS onde instalei o openvpn: PublicIP-1 & PublicIP-2
Eu corro no meu dispositivo dois clientes openvpn para public-IP-1 (tun0) e para public-IP-2 (tun1)
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 Ifacedefault 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