Como rotear todo o tráfego através de outro servidor na mesma sub-rede?

1

Desejo encaminhar todo o tráfego proveniente dos clientes (192.168.1.0/24) do gateway (0.0.0.0/0) do openwrt para o túnel openvpn Server.

O servidor tem um túnel openvpn. Também definiu opções:

iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE
net.ipv4.ip_forward=1
tun0 is the default gateway

O Openwrt é um gateway padrão para a Internet. Então, se eu alterar manualmente o gateway padrão no lado do cliente para o servidor ip 192.168.1.2 - ele funciona.

                            +------------+                                       
                            |  INTERNET  |                                       
                            +------|-----+                                       
                                   |                                             
                                   |                                             
                                   |                                             
                          +--------|-------+                                     
                          |    OpenWRT     |                                     
                          |                |                                     
                          | 192.168.1.1/24 |                                     
                          +---|----|-------+                                     
                              |    |                                             
                              |    |       +-------------+                       
                              |    |       |    Server   |                       
                              |    |       |             |                       
          +---------------+   |    |--------192.168.1.2  |                       
          |    Client     |   |    |       |             |                       
          |               ----+    +-------|tun0         |                       
          | 192.168.1.101 |                |             |                       
          +---------------+                +-------------+                       

O que eu tentei?

Marcados todos os pacotes, exceto um do servidor:

iptables -t mangle -I PREROUTING -i br-lan '!' -s 192.168.1.2 -d 0.0.0.0/0 -j MARK --set-mark 1

Em seguida, direcione-os por meio da nova tabela de rotas, que tem rota padrão por 192.168.1.2 , mas não tem sorte com isso. O tráfego stucks no roteador.

ip route add default via 192.168.1.2 table vpn
ip rule add fwmark 1 lookup vpn

Meu Sollution

Na verdade, enquanto escrevo isso, reconheci que posso usar dhcp-option = 3,192.168.1.2 no roteador dnsmasq para enviar a todos os clientes o gateway preferencial. E funciona :) Provavelmente esta é a melhor solução. Mas, é possível rotear todo o tráfego com iptables e rotas no lado openwrt?

    
por Alex 14.06.2017 / 23:40

0 respostas