Configuración de reenvío del cliente Tomato OpenVPN

Configuración de reenvío del cliente Tomato OpenVPN

Estoy usando una VPN únicamente para obtener una IP dedicada/estática (porque mi red doméstica tiene una IP dinámica debido a su cable). No me importa ocultar mi identidad, etc. Tengo la VPN configurada en mi enrutador ejecutando el firmware Tomato, usando el cliente OpenVPN.

Lo que quiero es que cuando el tráfico ingresa a la IP de la VPN y llega a mi enrutador, dependiendo de la IP de donde proviene el tráfico, se redirige a un dispositivo específico en mi red doméstica. Cada dispositivo en mi red tiene una IP estática asignada, y en el pasado usé una VPN diferente que usaba PPTP, y eso simplemente funcionó, por ejemplo, las reglas normales de reenvío de puertos de Tomato funcionaron perfectamente y, dependiendo de dónde provenía el tráfico, se enrutaba automáticamente. al dispositivo correcto conectado a mi enrutador.

Sin embargo, ahora que estoy usando una VPN que usa OpenVPN en lugar de PPTP, ¿parece que las reglas de reenvío de puertos en Tomato ya no funcionan? No sé cómo enviar tráfico al dispositivo correcto en mi red doméstica según el número de puerto y qué IP envió la solicitud. Noté la pestaña "Política de enrutamiento" en la página de configuración del cliente OpenVPN en Tomato, pero eso no tiene sentido para mí.

¿Necesito agregar algún tipo de script en algún lugar de Tomato? ¿Algunas reglas de iptables o algo así? Parece extraño que no pueda simplemente usar la página de configuración de reenvío de puertos en Tomato. ¿O simplemente necesito habilitar/deshabilitar algunas de las opciones en la página de configuración del Cliente OpenVPN? Estoy fuera de mi alcance, cualquier consejo sería apreciado.

Respuesta1

Creo que mipregunta en Redditpodría ayudarte.

Lo duplicaré aquí:

Entonces, después de mirar con elasociación que proporciona la VPN, terminamos con la siguiente solución.


  1. Para almacenar un script personalizado que se ejecutará cuando la VPN esté activa (iniciada), habilite JFFS con el navegador enhttp://192.168.1.1/admin-jffs2.asp. Guarde la configuración y algunos servicios se reiniciarán (se montará /jffs/).

  2. Telnet en su enrutador:

    telnet 192.168.1.1
    
  3. Inicia sesión con rooty la contraseña que utilizas habitualmente para acceder a Tomato.

  4. Cree y edite un script en /jffs/:

    vi /jffs/vpnup.sh
    
  5. Agregue lo siguiente al script:

    #!/bin/sh
    
    # Script to be run when the VPN is brought up
    
    # Use the VPN to route all packets through the tunnel.
    iptables -t nat -A PREROUTING -s 0.0.0.0/0 -d YYY.YYY.YYY.YYY -j WANPREROUTING
    
    # Apply the port forwarding rules to the tunnel.
    iptables -I FORWARD 1 -i tun11 -s 0.0.0.0/0 -d 0.0.0.0/0 -m state --state NEW -j wanin
    
  6. Guarde y salga de vi escribiendo Esc, :, w, qy luego Enter.

  7. Haga que el script sea legible y ejecutable únicamente para root:

    chmod 700 /jffs/vpnup.sh
    
  8. Salga de la sesión de telnet:

    exit
    
  9. Agregue la siguiente línea al control de formulario "Configuración personalizada" enhttp://192.168.1.1/vpn-client.asp, en la pestaña “Avanzado”:

    up /jffs/vpnup.sh
    
  10. Guarde la configuración.

  11. (Re)inicie su VPN.

Cada vez que se inicia la VPN, las iptables deben actualizarse para enrutar todo el tráfico a través de la VPN y aplicar las reglas de reenvío de puertos a su túnel.

Algunos comandos útiles para depurar:

  • ip addr show(sobre elEnrutador)
  • ip route show(sobre elEnrutador)
  • iptables -nvL(sobre elEnrutador)
  • iptables -t nat -nvL(sobre elEnrutador)
  • tcpdump -ni any port 80(sobre elServidor)

Espero que ayude o ayude.

información relacionada