¿Cómo enrutar el tráfico a través de una VPN que solo está disponible a través de otra computadora en la red?

2

La red 1 tiene 2 computadoras, PC1 y PC2. PC1 tiene acceso a una VPN. PC2 no. ¿Hay alguna manera de que la PC2 pueda enrutar su tráfico a través de la VPN en la PC1?

Una posible idea que se me ocurrió sería el túnel SSH. Mientras conozca una lista finita de puntos finales a los que quiero acceder a través de la VPN, podría configurar túneles SSH específicos para esos puntos finales específicos y acceder a ellos a través de localhost: {número-puerto-definido-para-ese-específico -endpoint}

¿Eso incluso funcionaría? ¿Hay una configuración más limpia en la que alguien más pueda pensar?

JHixson
fuente

Respuestas:

1

(Como no menciona ningún sistema operativo, supondré que todo es Linux).

Deberá asegurarse de que el reenvío de paquetes esté habilitado en PC1. Para hacer esto permanentemente, agregue un archivo en /etc/sysctl.d/(llamé el mío local.conf):

net.ipv4.ip_forward = 1

También querrá configurar sus iptables para hacer NAT, editando /etc/iptables.rules(suponiendo que tenga una upregla de interfaz para iptables-restoreel archivo de reglas):

*nat
-A POSTROUTING -o tun0 -j MASQUERADE 
COMMIT

En la PC2, querrá enrutar el tráfico a su VPN a través de la PC1. Suponiendo que tiene una única interfaz Ethernet, agregue un routecomando a los comandos upy downen su /etc/network/interfaces.d/eth0(o /etc/network/interfacessi está utilizando un solo archivo para todas las interfaces):

iface eth0 inet static
      address 192.168.0.2
      netmask 255.255.255.0
      broadcast 192.168.0.255
      pre-up iptables-restore </etc/iptables.eth0.rules
      up route add -net 10.0.0.0 netmask 255.0.0.0 gw 192.168.0.1
      down route del -net 10.0.0.0 netmask 255.0.0.0

Supuse anteriormente que PC1 debería ser 192.168.0.1y PC2 debería ser 192.168.0.2, y que su VPN aparece como 10.x.x.x; sustituya sus propios valores según corresponda.

Probablemente desee crear la ruta a mano la primera vez, y solo agregarla al archivo de interfaz cuando esté contento de que esté haciendo lo correcto.

Toby Speight
fuente