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