OpenVPN: Encaminhe um IP da LAN do cliente para o servidor

OpenVPN: Encaminhe um IP da LAN do cliente para o servidor

Minha configuração é a seguinte:

  • Servidor (servidor Ubuntu) com endereço IP público 1.2.3.4atuando como servidor OpenVPN
  • RaspberryPi (raspbian) conectado ao servidor OpenVPN com endereço 10.8.0.6na rede OpenVPN e endereço local na rede física192.168.178.36
  • "Lan-Client" está na mesma rede física que o Raspberry Pi com o endereço local192.168.178.56
  • "Cliente" está na mesma rede OpenVPN que o Raspberry Pi com o endereço10.8.0.10

Com minha configuração atual, o "cliente" e o raspberry pi se conectam com sucesso ao servidor openvpn e podem se comunicar entre si. Agora quero encaminhar o "lan-client" para a rede openvpn usando o raspberry pi como roteador, para que cada cliente conectado ao servidor openvpn possa acessá-lo.

Não consigo instalar o OpenVPN no "lan-client", nem posso encaminhar portas para ele ou alterar qualquer configuração.

Isso é possível com OpenVPN? E se sim, como posso fazer isso? Eu só quero encaminhar esse ip específico e não todos os clientes na lan raspberry pis.

Minhas configurações atuais são assim:

servidor.conf

port  1194
proto udp
dev   tun

ca   /etc/certs/ca.crt
cert /etc/certs/server.crt
key  /etc/certs/server.key

dh   /etc/certs/dh4096.pem

cipher AES-256-CBC

server    10.8.0.0 255.255.255.0
keepalive 10 120
client-to-client

ifconfig-pool-persist /etc/openvpn/ipp.txt
client-config-dir /etc/openvpn/ccd

persist-key
persist-tun

status     /var/log/openvpn/status.log
log        /var/log/openvpn/openvpn.log
log-append /var/log/openvpn/openvpn.log

verb 3

ipp.txt(servidor)

client-rpi,10.8.0.4

ccd/client-rpi(servidor)

ifconfig-push 10.8.0.6 10.8.0.1

cliente.conf(Raspberry Pi)

client
dev     tun
proto   udp
remote  1.2.3.4 1194

resolv-retry infinite
nobind
persist-key
persist-tun

ca   /etc/certs/ca.crt
cert /etc/certs/client-rpi.crt
key  /etc/certs/client-rpi.key

cipher AES-256-CBC

remote-cert-tls server

verb 3

Mesmo que eu queira rotear apenas um endereço IP, já segui alguns guias on-line para rotear a LAN completa. Para fazer isso, adicionei

route 192.168.178.0 255.255.255.0

para oservidor.confe

iroute 192.168.178.0 255.255.255.0

para occd/client-rpiconfiguração. Quando tento fazer ping, 192.168.178.20por exemplo, no servidor, recebo 100% de perda de pacotes (sem resposta). No Raspberry Pi fica assim:

$ sudo tcpdump -i tun0
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on tun0, link-type RAW (Raw IP), capture size 262144 bytes
09:39:09.863118 IP 10.8.0.1 > 192.168.178.20: ICMP echo request, id     19467, seq 1, length 64
09:39:10.869903 IP 10.8.0.1 > 192.168.178.20: ICMP echo request, id 19467, seq 2, length 64
09:39:11.878093 IP 10.8.0.1 > 192.168.178.20: ICMP echo request, id 19467, seq 3, length 64

Quando faço ping no mesmo endereço, mas a partir do raspberry pi (que está na mesma rede física do destino), tudo funciona bem, como esperado, então não é o firewall do alvo quem descarta as solicitações.

Meu palpite é que o Raspberry Pi recebe as solicitações de ping e as encaminha, mas o alvo 192.168.178.20não sabe como responder. O problema é que, como já mencionado, não consigo alterar a tabela de roteamento nem outras configurações desse dispositivo. Só tenho acesso ao servidor e ao Raspberry Pi. Meu entendimento está correto e existe uma solução que funcionaria? Ou é apenas minha configuração incorreta e mal-entendido? Também pode ser um problema com rotas no Raspberry Pi, mas não tenho ideia de como consertar isso.

informação relacionada