Problema de roteamento no OpenVPN

2

Abaixo está minha topologia de rede openVPN. Este é um exemplo no livro de receitas openvpn. aquiestáomeuarquivodeconfiguraçãodoservidor(fedoraéservidor):

protoudpport1194devtunserver192.168.200.0255.255.255.0ca/etc/openvpn/cookbook/ca.crtcert/etc/openvpn/cookbook/openvpnserver.crtkey/etc/openvpn/cookbook/openvpnserver.keydh/etc/openvpn/cookbook/dh2048.pemtls-auth/etc/openvpn/cookbook/ta.key0keepalive1060push"route 192.168.4.0 255.255.255.0"
topology subnet

daemon
log-append /home/mazimi/Desktop/openvpn.log

client-config-dir /etc/openvpn/cookbook/clients
route 192.168.2.0 255.255.255.0 192.168.200.1

Aqui está o arquivo /etc/openvpn/cookbook/clients :

iroute 192.168.2.0 255.255.255.0

Este é o meu cliente openvpn (ubuntu):

client
proto udp
remote 192.168.3.1
port 1194
dev tun

ca /etc/openvpn/cookbook/ca.crt
cert /etc/openvpn/cookbook/client1.crt
key /etc/openvpn/cookbook/client1.key
tls-auth /etc/openvpn/cookbook/ta.key 1

daemon
log-append /root/openvpn.log

ns-cert-type server

Esta configuração está funcionando bem. Mas por que o próximo salto é definido como 192.168.200.1?(é uma interface local não é o próximo salto). Não deveria ser 192.168.200.2? Eu mudei para 192.168.200.2. A única diferença é que:

  1. Eu não consigo pingar a interface do Ubuntu (192.168.3.254) do client1
  2. Eu não consigo fazer ping na interface do fedora (192.168.3.1) do client2 Todos os outros IPs são alcançáveis.

Alguém poderia explicar?

    
por Majid Azimi 10.01.2012 / 17:21

3 respostas

1

Eu acredito que o 192.168.200. * IPs são artefatos de como os túneis do OpenVPN realmente funcionam. O OpenVPN nesta configuração é essencialmente ponto-a-ponto e cada ponto recebe seu próprio endereço IP. Quando você roteia pelo túnel, você tem que especificar o fim próximo do túnel. Pense nesses IPs como sendo internos à forma como o OpenVPN funciona (para meu próprio esclarecimento, atribuo um bloco não-roteável totalmente diferente, por exemplo, 10.0.0.0/8, se minha rede for 192.168.0.0/16; a 10.0.0.0 / 8 IPs só existem para o OpenVPN, tanto quanto eu estou preocupado).

Por outro lado, com a interface TAP, você obteria o IP da LAN que você está conectando ao OpenVPN.

Tenho certeza de que está em algum lugar da FAQ , mas não vejo em uma rápida olhada.

    
por 10.01.2012 / 20:11
0

Acredito que você precisa usar a diretiva client-to-client e está faltando os envios de roteamento para 192.168.3.0 e 192.168.4.0

    
por 10.01.2012 / 19:10
0

Esta é, na verdade, uma versão reduzida da minha própria implementação do OpenVPN, como eu tenho no lugar. Na verdade, você não declara em seus detalhes, mas provavelmente precisaria do seguinte, incluído no seu /etc/sysctl.conf ou em /etc/sysctl.d no seu servidor Fedora 16 e no seu cliente Ubuntu 11.10 para rotear o tráfego através deles como um gateway.

net.ipv4.ip_forward = 1

Depois de executar sysctl -a após a entrada da linha, você deverá estar pronto para trabalhar na sua configuração do OpenVPN. Eu sugeriria tentar o seguinte para a configuração do seu servidor:

proto udp
port 1194
dev tun

ca /etc/openvpn/cookbook/ca.crt
cert /etc/openvpn/cookbook/openvpnserver.crt
key /etc/openvpn/cookbook/openvpnserver.key
dh /etc/openvpn/cookbook/dh2048.pem
tls-auth /etc/openvpn/cookbook/ta.key 0

server 192.168.200.0 255.255.255.0
topology subnet

client-config-dir /etc/openvpn/cookbook

client-to-client
route 192.168.2.0 255.255.255.0 192.168.200.2
route 192.168.4.0 255.255.255.0 192.168.200.1

keepalive 10 60

push "route 192.168.4.0 255.255.255.0"
topology subnet

daemon
log-append /home/mazimi/Desktop/openvpn.log

Em seguida, supondo que o certificado de cliente do Ubuntu CN seja cliente, adicione o seguinte em /etc/openvpn/cookbook/client1 :

ifconfig-push 192.168.200.2 255.255.255.0
iroute 192.168.2.0 255.255.255.0

Então, finalmente, para o seu arquivo de configuração do cliente Ubuntu:

client
proto udp
remote 192.168.3.1 1194
dev tun

persist-key
persist-tun

ca /etc/openvpn/cookbook/ca.crt
cert /etc/openvpn/cookbook/client1.crt
key /etc/openvpn/cookbook/client1.key
tls-auth /etc/openvpn/cookbook/ta.key 1

daemon
log-append /root/openvpn.log

ns-cert-type server

Como eu disse, esta é uma versão reduzida do que eu uso. Minhas configurações têm mais algumas opções que as suas, mas os padrões para elas devem ser suficientes. Para mim, meu cliente1 tem duas sub-redes por trás dele (192.168.1.0/24 e 172.16.20.0/24). Meu corp servidor OpenVPN é executado em 10.20.30.0/24 e meu servidor OpenVPN cliente é executado em 10.8.0.0/24 com clientes conectados a ele. O servidor corp ovpn é atribuído 10.20.30.1 e o servidor ovpn do cliente recebe o 10.20.30.2 e o client1 recebe o 10.20.30.3 quando se conectam a servidor corp ovpn .

Então, minha configuração de servidor corp inclui o seguinte:

route 172.16.20.0 255.255.255.0 10.20.30.3
route 192.168.1.0 255.255.255.0 10.20.30.3
route 10.8.0.0 255.255.255.0 10.20.30.2

Enquanto o arquivo CCD para client1 contém o seguinte:

ifconfig-push 10.20.30.3 255.255.255.0
iroute 172.16.20.0 255.255.255.0
iroute 192.168.1.0 255.255.255.0
push "route 10.8.0.0 255.255.255.0"

E o arquivo CCD do cliente ovpn server contém o seguinte:

ifconfig-push 10.20.30.2 255.255.255.0
iroute 10.8.0.0 255.255.255.0
push "route 192.168.1.0 255.255.255.0"
push "route 172.16.20.0 255.255.255.0"
push "route 10.20.30.0 255.255.255.0"

Dito isto ... Do meu laptop no meu wifi que recebe o IP 192.168.1.140 se eu traceroute para o meu cliente conectado ao cliente ovpn server como 10.8.0.30 eu recebo o seguinte:

traceroute to 10.8.0.30 (10.8.0.30), 30 hops max, 60 byte packets
 1  192.168.1.1  2.108 ms  2.078 ms  2.460 ms
 2  192.168.1.2  3.370 ms  3.340 ms  3.671 ms
 3  10.20.30.2  20.250 ms  20.220 ms  20.518 ms
 4  10.8.0.30  33.505 ms  34.326 ms  34.809 ms

Você pode desconsiderar o primeiro salto (192.168.1.1), como é o AP / roteador que tem rotas estáticas configuradas para 10.0.0.0/8 e 172.16.0.0/12 roteadas para 192.168.1.2 client1 endereço IP. Apenas por uma questão de estar completo, aqui está a rota de retorno desse cliente (10.8.0.30).

 traceroute to 192.168.1.140 (192.168.1.140), 64 hops max, 52 byte packets
 1  10.8.0.1  8 ms  8 ms  8 ms
 2  10.20.30.3  21 ms  22 ms  24 ms
 3  192.168.1.140  24 ms  24 ms  23 ms
    
por 11.08.2012 / 08:55