Obtendo o OpenVPN para conectar totalmente duas redes

2

Eu tenho um cliente (que também é um gateway para uma rede 192.168.203.0/24) que está tentando se conectar a um servidor remoto (que é um gateway para uma rede 192.168.150.0/24) e fazer uma ponte completa entre eles.

O cliente tem a seguinte configuração do OpenVPN:

dev tun
remote gs.example.com
ca OurCompany-CA.crt
client
port 5800
proto udp 
comp-lzo 
verb 3
cipher BF-CBC
ca /etc/openvpn/gs-keys/ca.crt
cert /etc/openvpn/gs-keys/kang.crt
key  /etc/openvpn/gs-keys/kang.key
keepalive 10 60
status /var/log/openvpn-status.log
log-append  /var/log/openvpn.log

O servidor tem o seguinte:

port 5800
proto udp
dev tun
push "route 192.168.150.0 255.255.255.0"
    push "route 192.168.203.0 255.255.255.0"
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/kang-server.crt
key /etc/openvpn/keys/kang-server.key 
dh /etc/openvpn/keys/dh1024.pem
server 192.168.155.0 255.255.255.0
keepalive 10 120
comp-lzo
status /var/log/openvpn-status.log
log /var/log/openvpn.log
verb 3
persist-key
persist-tun
client-config-dir /etc/openvpn/ccd

O arquivo /etc/openvpn/ccd/kang.exmaple.org tem o seguinte:

    iroute 192.168.203.0 255.255.255.0

De kang (192.168.203.1), eu posso pingar 192.168.150.1, mas nada mais (150.10, 150.11, etc todos me dão "Destination Port Unreachable"). De gs (192.168.150.1) eu posso pingar qualquer coisa na sub-rede 203.

De qualquer lugar na rede 203, eu posso pingar 192.168.150.1, mas nada mais nessa sub-rede (obter "Destination Port Unreachable quando eu ping 192.168.150.10). De qualquer coisa na sub-rede 150 (por exemplo, se eu ' m em 192.168.150.10) Eu não posso nem pingar 192.168.203.1.

O firewall em kang tem uma regra ACCEPT para qualquer coisa vinda através de seu adaptador de tun. No gs, eu também tenho um ACCEPT para tun0, mas ainda tenho esses problemas mesmo se eu desligar completamente o firewall.

Eu estou querendo saber se as regras iroute estão sendo lidas dos arquivos ccd. Como isso deve aparecer nos logs?

EDITAR:

ip_forwarding (/ proc / sys / net / ipv4 / ip_forward) está definido como 1 em ambas as máquinas.

No gateway gs (192.168.150.1) se eu fizer um traceroute:

traceroute 192.168.203.40
traceroute to 192.168.203.40 (192.168.203.40), 30 hops max, 38 byte packets
 1  192.168.155.6 (192.168.155.6)  396.019 ms  372.837 ms  362.607 ms
 2  192.168.203.40 (192.168.203.40)  364.324 ms  387.439 ms  366.329 ms

O mesmo traceroute de 192.168.150.10:

traceroute 192.168.203.40
traceroute to 192.168.203.40 (192.168.203.40), 30 hops max, 38 byte packets
 1  192.168.150.1 (192.168.150.1)  1.409 ms  1.173 ms  1.958 ms
 2  192.168.150.1 (192.168.150.1)  1.475 ms  1.222 ms  1.068 ms

E a tabela de roteamento de 192.168.150.10:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.11.0    *               255.255.255.0   U     0      0        0 br-lan
192.168.150.0   *               255.255.255.0   U     0      0        0 eth0.2
default         192.168.150.1   0.0.0.0         UG    0      0        0 eth0.2

Similar traceroutes de 192.168.203.1 (kang):

traceroute 192.168.150.1
traceroute to 192.168.150.1 (192.168.150.1), 30 hops max, 40 byte packets using UDP
 1  192.168.150.1 (192.168.150.1)  51.687 ms   50.260 ms   54.513 ms
kang:~ # traceroute 192.168.150.10
traceroute to 192.168.150.10 (192.168.150.10), 30 hops max, 40 byte packets using UDP
 1  192.168.155.1 (192.168.155.1)  48.623 ms   55.955 ms   54.684 ms
 2  192.168.155.1 (192.168.155.1)  57.062 ms   55.816 ms   57.978 ms

As rotas do Kang (o Kang também é um servidor VPN para usuários individuais. Eles podem acessar 192.168.203.0/24 e 192.168.150.1, mas nada mais em 192.168.150.0/24). Essa VPN usa a sub-rede 192.168.137.0/24:

route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.137.2   *               255.255.255.255 UH    0      0        0 tun0
192.168.155.5   *               255.255.255.255 UH    0      0        0 tun1
192.168.155.1   192.168.155.5   255.255.255.255 UGH   0      0        0 tun1
10.42.7.0       *               255.255.255.0   U     0      0        0 eth1
192.168.137.0   192.168.137.2   255.255.255.0   UG    0      0        0 tun0
192.168.203.0   *               255.255.255.0   U     0      0        0 eth0
192.168.150.0   192.168.155.5   255.255.255.0   UG    0      0        0 tun1
link-local      *               255.255.0.0     U     0      0        0 eth0
loopback        *               255.0.0.0       U     0      0        0 lo
default         10.42.7.1       0.0.0.0         UG    0      0        0 eth1
    
por djsumdog 10.03.2012 / 21:53

1 resposta

2

Algumas coisas para verificar:

  • Verifique se /proc/sys/net/ipv4/ip_forward é 1 no servidor OpenVPN e nas máquinas clientes.

  • Verifique se as máquinas que não são os pontos de extremidade do OpenVPN têm informações de roteamento para usar o túnel da VPN para acessar outra rede. Se as máquinas são os gateways de suas respectivas redes, o roteamento deve ser feito automaticamente. Caso contrário, o gateway padrão precisará ter uma rota estática que enviará tráfego para a outra rede por meio do terminal OpenVPN.

por 10.03.2012 / 23:57