
Mi configuración es la siguiente:
- Servidor (servidor ubuntu) con dirección IP pública
1.2.3.4
que actúa como servidor OpenVPN - RaspberryPi (raspbian) conectado al servidor OpenVPN con dirección
10.8.0.6
en red OpenVPN y dirección local en red física192.168.178.36
- "Lan-Client" está en la misma red física que Raspberry Pi con la dirección local
192.168.178.56
- "Cliente" está en la misma red OpenVPN que la raspberry pi con la dirección
10.8.0.10
Con mi configuración actual, el "cliente" y la raspberry pi se conectan correctamente con el servidor openvpn y pueden comunicarse entre sí. Ahora quiero reenviar el "cliente lan" a la red openvpn usando la raspberry pi como enrutador, para que cada cliente conectado al servidor openvpn pueda acceder a él.
No puedo instalar OpenVPN en el "cliente LAN", ni puedo reenviarle ningún puerto ni cambiar ninguna configuración.
¿Es esto posible incluso con OpenVPN? Y si es así, ¿cómo puedo hacer eso? Solo quiero reenviar esta IP específica y no a todos los clientes en Raspberry Pis Lan.
Mis configuraciones actuales se ven así:
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/rpi-cliente(servidor)
ifconfig-push 10.8.0.6 10.8.0.1
cliente.conf(frambuesa 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
Aunque solo quiero enrutar una dirección IP, ya seguí algunas guías en línea para enrutar la LAN completa. Para hacer eso, agregué
route 192.168.178.0 255.255.255.0
haciaservidor.confy
iroute 192.168.178.0 255.255.255.0
haciaccd/rpi-clienteconfiguración. Cuando intento hacer ping, 192.168.178.20
por ejemplo, en el servidor, obtengo una pérdida de paquetes del 100% (sin respuesta). En Raspberry Pi se ve así:
$ 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
Cuando hago ping a la misma dirección pero desde Raspberry Pi (que está en la misma red física que el objetivo), todo funciona bien, como se esperaba, por lo que no es el firewall del objetivo quien descarta las solicitudes.
Supongo que la Raspberry Pi recibe las solicitudes de ping y las reenvía, pero el objetivo 192.168.178.20
no sabe cómo responder. El problema es que, como ya se mencionó, no puedo cambiar la tabla de enrutamiento ni otras configuraciones en ese dispositivo. Solo tengo acceso al servidor y a la raspberry pi. ¿Mi comprensión es correcta? ¿Existe alguna solución que funcione? ¿O es simplemente mi mala configuración y mi malentendido? También podría ser un problema en la Raspberry Pi con las rutas, pero no tengo idea de cómo solucionarlo.