Configuração de rede
Eu configurei uma rede:
Portasapropriadasdecomputadoresem192.168.87.0/24
sãoencaminhadasemTP-LINKrouter
paraseremvistas"em todo o mundo".
Encaminhamento de IP ativado em OpenVPN server
.
Eu posso me conectar do OfficeB de client1
a OpenVPN server
no OfficeA. client1
e server
se vêem - eles respondem por pings (ambos em 192.168.87.0/24
e 10.8.0.0/24
network), enviam dados, criam conexões (por exemplo, ssh).
Tabela de roteamento em TP-LINK router
( a.b.c.d
é um IP da WAN):
DST MASK GATEWAY IFACE
a.b.c.d 255.255.255.255 0.0.0.0 WAN
192.168.87.0 255.255.255.0 0.0.0.0 LAN & WLAN
10.8.0.0 255.255.255.0 192.168.87.2 LAN & WLAN (route added by hand)
239.0.0.0 255.0.0.0 0.0.0.0 LAN & WLAN
0.0.0.0 0.0.0.0 a.b.c.d WAN
O problema
E agora ... De QUALQUER computador em 192.168.87.0/24
, posso pingar 10.8.0.6
. Infelizmente 10.8.0.6
pode pingar APENAS 87.1
, 87.2
.
Mas ... 10.8.0.6
começaria a fazer ping em um computador em 87.0/24
(por exemplo, 87.104
) somente se eu pingasse primeiro deste computador para 10.8.0.6
:
-
10.8.0.6
: ping 192.168.87.104
- falhou, tempo excedido.
-
192.168.87.104
: ping 10.8.0.6
- ok.
-
10.8.0.6
: ping 192.168.87.104
- ok.
O que eu verifiquei
Eu verifiquei com tcpdump
, que 192.168.87.104
sempre recebe solicitações envia respostas para pings de 10.8.0.6
. Mas as respostas parecem não passar pelo gateway TP-LINK router
de volta para 10.8.0.6
- não consigo vê-las com tcpdump
on OpenVPN server
em ambas as interfaces.
Também verifiquei se adicionei uma rota em 192.168.87.104
:
(1) route add 10.8.0.0 netmask 255.255.255.0 gw 192.168.87.2
então 10.8.0.6
sempre receberia uma resposta de ping, mesmo que eu não tivesse pingado de 192.168.87.104
antes.
Outra coisa que descobri é: o ping de 192.168.87.104
para 10.8.0.6
é adicionado ao cache de roteamento ( route -C
) uma entrada (1)
. E no primeiro ping '' (antes da entrada ser adicionada) eu recebo:
PING 10.8.0.6 (10.8.0.6) 56(84) bytes of data.
64 bytes from 10.8.0.6: icmp_req=1 ttl=127 time=37.0 ms
From 192.168.87.1: icmp_seq=2 Redirect Host(New nexthop: 192.168.87.2)
64 bytes from 10.8.0.6: icmp_req=2 ttl=127 time=93.0 ms
Eu li que esse era um comportamento normal, porque o gateway para 10.8.0.0
estava no mesmo segmento de rede. E depois de icmp redirect host
, uma nova entrada foi criada no cache de roteamento.
O TP-LINK router
, no painel de configuração da web, possui uma caixa de seleção SPI Firewall - Stateful Packet Inspection
. Desativar isso não resolve o problema.
Minha pergunta
Não consigo entender por que uma resposta de ping 192.168.87.104 > 10.8.0.6
não passa por TP-LINK router
, apesar de TP-LINK router
saber uma rota para 10.8.0.0
e a solicitação de ping de 192.168.87.104
a 10.8.0.6
ser aprovada.
Então, minha pergunta é: qual é o motivo? Existe alguma coisa que eu possa fazer para resolver a situação (exceto para adicionar uma rota (1)
em cada computador no OfficeA ...)? Pessoalmente, acho que um problema está em TP-LINK router
.
OpenVPN server
arquivo de configuração:
port 1194
proto udp
dev tun
ca keys/ca.crt
cert keys/server.crt
key keys/server.key
dh keys/dh1024.pem
server 10.8.0.0 255.255.255.0
push "route 192.168.87.0 255.255.255.0"
client-to-client
keepalive 10 120
comp-lzo
persist-key
persist-tun