Usando um cliente ipsec roadwarrior como gateway

2

Cenário:

INTERNET --- VPN-Server <----> ROUTER <----> Roadwarrior  <----> Subnet 
             132.1.1.1       192.168.2.1     192.168.2.50       176.168.10.0/24 
                                  |  
                              INTERNET  

VPN-Server: CISCO
Roadwarrior: racoon no linux

Estou tentando configurar esse cenário para que todo o tráfego da INTERNET da sub-rede 176.168.10.0/24 passe pelo servidor VPN e não pelo roteador.

Até agora: posso me conectar ao servidor VPN através do Roadwarrior. Também todo o tráfego gerado no roadwarrior passa pelo servidor VPN para a internet. No entanto, o tráfego da sub-rede, conforme roteado com o seguinte comando, passa pelo roteador na Internet:

iptables -t nat -A POSTROUTING -s 176.168.10.0/24 -j SNAT --to-source 192.168.2.50

Usando o seguinte comando, nenhum tráfego da sub-rede está passando para a Internet (nem pelo roteador nem pelo servidor VPN):

iptables -t nat -A POSTROUTING -s 176.168.10.0/24 -j SNAT --to-source 132.1.2.2 (internal ip assigned to roadwarrior from VPN-Server)

Alguma idéia?

Roadwarrior:

eth0   192.168.2.50
eth0:1 132.1.2.2
br0    176.168.10.1

ip route list
default via 192.168.2.1 dev eth0  src 132.1.2.2 
132.1.0.0/16 dev eth0  proto kernel  scope link  src 132.1.2.2 
132.1.1.1 via 192.168.2.1 dev eth0 
176.168.10.0/24 dev br0  proto kernel  scope link  src 176.168.10.1 
192.168.2.0/24 dev eth0  proto kernel  scope link  src 192.168.2.50 
    
por scitech 21.11.2012 / 00:43

1 resposta

2

Eu encontrei ... O script phase1-up.sh contém no final as seguintes linhas:

44 #
45 # XXX This is a workaround for Linux forward policies problem.
46 # Someone familiar with forward policies please fix this properly.
47 #
48 echo "
49 spddelete 0.0.0.0/0[any] ${INTERNAL_ADDR4}[any] any
50        -P fwd ipsec esp/tunnel/${REMOTE}-${LOCAL}/require;
51 " | setkey -c
52

Esse código deve ser comentado, para que a política de encaminhamento não seja excluída. Então um simples

iptables -t nat -A POSTROUTING -o $WAN_IP -j MASQUERADE 

faz o truque.

    
por 22.11.2012 / 21:53