Configuração de rede
Eu configurei uma rede:

Portasapropriadasdecomputadoresem192.168.87.0/24sãoencaminhadasemTP-LINKrouterparaseremvistas"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