Encaminhamento através do gateway OpenVPN

2

Eu tenho a seguinte configuração:

++++++++++++++++++
+ OpenVPN server +........ . .  .   .   (cat pictures)  
++++++++++++++++++
  |
  |
__|__________________________________________Internet________________
  |                                           Local
  | DSL
  |
++++++++++++++++++             +++++++++++++++++++
+ router1        +  Ethernet   + router2         +
+ DHCP serving   +-------------+ DHCP serving    +
+ 192.168.1.1/24 +        eth0 + 10.0.0.1/24     +
++++++++++++++++++             + OpenVPN client  +
  .                            + hostapd/dnsmasq +
  .                            +++++++++++++++++++
  .                              . wlan0
  .                              .
  .  WLAN 1                      .  WLAN 2
  .                              .
 (wifi clients 1)                (wifi clients 2)

A intenção disso é ter uma WLAN 2 separada à qual os clientes wi-fi possam se conectar e obter todo o seu tráfego para a Internet roteado através da conexão OpenVPN do roteador2.

router2 executa uma hostapd instance com uma configuração mínima na interface wlan0 . O dnsmasq.conf também é bem minimalista com:

interface=wlan0
dhcp-range=10.0.0.1,10.0.0.254,12h
no-host

Isso funciona bem. Eu posso me conectar ao Wi-Fi e receber um endereço IP.

O OpenVPN está configurado e funcionando também. Estou me conectando a um serviço VPN comercial, portanto, a configuração do servidor não está sob meu controle. O OpenVPN está usando tun0 .

Como posso encaminhar todas as solicitações para a Internet de wifi clients 2 através da conexão estabelecida do OpenVPN no roteador2? Eu acho que eu tenho que configurar a tabela de roteamento agora, mas como?

route diz:

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         10.200.4.1      128.0.0.0       UG    0      0        0 tun0
default         router1         0.0.0.0         UG    0      0        0 eth0
10.0.0.0        *               255.0.0.0       U     0      0        0 wlan0
10.200.4.0      *               255.255.252.0   U     0      0        0 tun0
<vpn server ip> router1         255.255.255.255 UGH   0      0        0 eth0
128.0.0.0       10.200.4.1      128.0.0.0       UG    0      0        0 tun0
link-local      *               255.255.0.0     U     1002   0        0 eth0
192.168.1.0     *               255.255.255.0   U     0      0        0 eth0
    
por Secoe 31.05.2013 / 01:19

2 respostas

4

O servidor OpenVPN foi configurado para rotear a rede 10.0.0.1/24 para roteador2? O que acontece se o servidor OpenVPN executar pings 10.0.0.1 ?

Se quiser que os hosts do outro lado da VPN tenham a capacidade de fazer conexões de entrada, será necessário corrigir o servidor VPN.

Se este for apenas o tráfego de saída, você provavelmente precisará configurar o NAT. Portanto, os pacotes da rede 10.0.0.0/24 parecem vir da interface VPN.

Uma regra como iptables -t nat -A POSTROUTING -o tun1 -j SNAT --to-source 10.200.4.1

    
por 31.05.2013 / 02:27
1

Você define uma tabela de roteamento separada em /etc/iproute2/rt_tables , vamos chamá-la de wlan2 (o número não importa).

# in this routing table: send everything over the VPN
ip route add table wlan2 $vpn_remote_ip dev tun0
# next line(s) for all LAN networks (which shall be reachable from WLAN 2)
ip route add table wlan2 192.168.1.1/24 via $router1_ip
ip route add table wlan2 $router1_router2_network dev eth0 src $router2_ip

ip route add table wlan2 default via $vpn_remote_ip

# use routing table wlan2 (instead of main) for every packet coming from the WLAN
ip rule add iif $wlan_if priority 100 table wlan2

E, claro, você deve configurar o servidor OpenVPN para o roteamento para a rede WLAN (se você não fizer NAT no roteador local).

Editar 1:

Se todo o tráfego da Internet passar pelo servidor OpenVPN, a configuração será muito fácil. Como já existe uma rota de host para o servidor OpenVPN, você só precisa alterar a rota padrão de router1 para o IP do túnel do servidor OpenVPN.

    
por 31.05.2013 / 02:03