Estou lutando com um cenário específico do OpenVPN há alguns meses.
Pesquisando no Google, lendo no Serverfault, navegando Blogs e outros fóruns, mexendo com a minha configuração e outra vez.
Não tenho mais certeza se meus requisitos até funcionam logicamente.
Aqui o cenário:
Eu tenho um servidor raiz alugado, que eu uso para vários serviços, armazenamento em nuvem, backups etc.
Para simplificar, vamos chamar os elementos Client1 e Client2 e Server1.
O Server1 está usando o tun-Device.
Ambos os clientes podem se conectar ao servidor VPN e usar seus serviços sem problemas.
Ambos os clientes podem executar ping nos servidores VPN-IP com sucesso.
O servidor1 não pode fazer ping nos clientes VPN-IP.
Ambos os clientes não podem pingar os outros VPN-IP.
Eu quero conectar os dois clientes para que eles possam se comunicar como em uma LAN física, mas não conseguem fazê-lo.
Aqui estão minhas configurações.
Configuração do servidor:
port 1195
proto tcp-server
dev tun1
ca keys/server1/ca.crt
cert keys/server1/openvpn-server.crt
key keys/server1/openvpn-server.key
dh keys/server1/dh4096.pem
server 192.168.2.0 255.255.255.0
crl-verify keys/server1/crl.pem
ifconfig-pool-persist servers/server1/logs/ipp.txt
cipher AES-256-CBC
user nobody
group nogroup
status servers/server1/logs/openvpn-status.log
log-append servers/server1/logs/openvpn.log
verb 2
mute 20
max-clients 100
local XXX.XXX.XXX.245
management 127.0.0.1 8877
keepalive 10 120
client-config-dir /etc/openvpn/servers/server1/ccd
client-to-client
comp-lzo
persist-key
persist-tun
ccd-exclusive
push "redirect-gateway def1"
push "dhcp-option DNS XXX.XXX.XXX.98"
push "route 192.168.2.0 255.255.255.0"
Configuração do Client1:
client
proto tcp-client
dev tun
ca ca.crt
dh dh4096.pem
cert user1.crt
key user1.key
remote XXX.XXX.XXX.245 1195
cipher AES-256-CBC
verb 2
mute 20
keepalive 10 120
comp-lzo
persist-key
persist-tun
float
resolv-retry infinite
nobind
push "route-gateway 192.168.2.1"
A configuração do Client2 é, além dos certificados, exatamente igual.
No servidor /etc/sysctl.conf contém a entrada net.ipv4.ip_forward = 1
Firewalls de cliente foram ajustados para permitir a passagem do OpenVPN.
O encaminhamento de IP é ativado nos dois clusters por switch de registro IPEnableRouter .
O IP-Tables tem apenas uma regra extra específica, para permitir o acesso à Internet.
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.2.0/24 -j SNAT --to XXX.XXX.XXX.245
A maioria das perguntas frequentes, tutoriais ou postagens de blogs falam sobre conectar clientes de várias VPNs diferentes.
Eu gostaria de ter meus clientes na mesma VPN.
Estou no meu ponto de vista, não consigo fazer com que os clientes sequer façam o mesmo.
Isso é mesmo possível, ou eu entendi completamente o conceito de VPN?
Eu apreciaria cada dica que você pode me dar para resolver esse problema criado por mim mesmo.
Editar:
Traceroute Client1 - > Server1
traceroute to 192.168.2.1 (192.168.2.1), 30 hops max, 60 byte packets
1 19 ms 18 ms 18 ms 192.168.2.1
Traceroute Client1 - > Client2
traceroute to 192.168.2.10 (192.168.2.10), 30 hops max, 60 byte packets
1 * * *
2 * * *
3 * * *
4 * * *
5 * * *
6 * * *
7 * * *
8 * * *
9 * * *
10 * * *
11 * * *
12 * * *
13 * * *
14 * * *
15 * * *
16 * * *
17 * * *
18 * * *
19 * * *
20 * * *
21 * * *
22 * * *
23 * * *
24 * * *
25 * * *
26 * * *
27 * * *
28 * * *
29 * * *
30 * * *
Traceroute Server1 para Client1 resulta no mesmo que Client1 to Client2