O roteamento não funciona com o OpenVPN

2

Estou tentando configurar um servidor OpenVPN no Debian 6.0.5 (instalado via apt), mas estou com problemas de roteamento.

Esta minha configuração de rede:

Client   <-> Router+Firewall <-> OVPN Server  <-> Subnet A       AND Subnet B 
172.17.17.6                      197.174.211.77   197.174.211.0/27   197.174.211.64/27

Eu posso conectar-me ao servidor e obter um IP, mas não consigo acessar servidores em ambas as sub-redes. Eu me certifiquei de que o OpenVPN pudesse pingar, wget etc para servidores na sub-rede A e B.

Aqui está a configuração do meu servidor:

port 1194
proto tcp
dev tun
ca ca.crt
cert server.crt
key server.key  # This file should be kept secret
dh dh1024.pem
server 172.17.17.0 255.255.255.0
ifconfig-pool-persist ipp.txt
route 197.174.211.0 255.255.255.224
route 197.174.211.64 255.255.255.224
push "route 197.174.211.0  255.255.255.224"
push "route 197.174.211.64  255.255.255.224"
client-to-client

duplicate-cn

keepalive 10 120
comp-lzo
max-clients 20
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status-tcp.log
log-append /var/log/openvpn-tcp.log
verb 5

Minha tabela de rota do servidor:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
172.17.17.2     *               255.255.255.255 UH    0      0        0 tun0
197.174.211.64  172.17.17.2     255.255.255.224 UG    0      0        0 tun0
197.174.211.64  *               255.255.255.224 U     0      0        0 eth0
172.17.17.0     172.17.17.2     255.255.255.0   UG    0      0        0 tun0
default         197.174.211.65  0.0.0.0         UG    0      0        0 eth0

Quando faço

cat /proc/sys/net/ipv4/ip_forward
1

Então eu acho que o ip_forward está ativado ...

Vejo que o OpenVPN recebe tráfego do túnel, mas não o encaminha ...

**root@vpn:/etc/openvpn# tcpdump -i tun0
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on tun0, link-type RAW (Raw IP), capture size 65535 bytes
15:24:42.913610 IP 172.17.17.6 > : ICMP echo request, id 1, seq 729,   length 40
15:24:47.743495 IP 172.17.17.6 > 197.174.211.11: ICMP echo request, id 1, seq 730, length 40

Mas não obtive resposta no meu cliente: - (

Eu não estou usando o iptables ou qualquer firewall no meu servidor ...

Alguém tem uma ideia?

    
por DJYod 21.09.2012 / 15:33

1 resposta

0

Cliente (172.17.17.6) < - > Router + Firewall < - > OVPN SRV (WAN: 197.174.211.77) < - > Sub-rede A 197.174.211.0/255.255.255.224 E Sub-rede B 197.174.211.64 /255.255.255.224

Portanto, o seu servidor OpenVPN localiza na sub-rede B. Suponho que seus servidores na sub-rede A podem rotear para a sub-rede B.

route 197.174.211.0 255.255.255.224         <---- You don't need this, remove it
route 197.174.211.64 255.255.255.224        <---- You don't need this, remove it
push "route 197.174.211.0  255.255.255.224"
push "route 197.174.211.64  255.255.255.224"

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
172.17.17.2     *               255.255.255.255 UH    0      0        0 tun0
197.174.211.64  172.17.17.2     255.255.255.224 UG    0      0        0 tun0  <-- Bad
197.174.211.64  *               255.255.255.224 U     0      0        0 eth0
172.17.17.0     172.17.17.2     255.255.255.0   UG    0      0        0 tun0
default         197.174.211.65  0.0.0.0         UG    0      0        0 eth0

Agora o 197.174.211.65 é o seu roteador padrão. Você precisa configurá-lo para roteamento de 172.17.17.0/24 a 197.174.211.77. Você também precisa configurar o roteador na sub-rede A para isso.

Outra solução (com o iptables instalado):

iptables -t nat -A POSTROUTING -s 172.17.17.0/24 -o eth0 -j MASQUERADE
    
por 22.02.2015 / 14:08