Hay una máquina Linux ( A
) ejecutando pptpd dentro de una red universitaria detrás de un firewall pero con IP real. No tengo acceso ni conocimiento de la distribución de IP en esta red, por lo que no puedo simplemente configurar remoteip X.Y.Z.200-250
pptpd, ya que podría causar conflictos. Me pregunto si es posible crear un centro virtual para todos los clientes VPN conectados, que luego se conecta mediante NAT a la red real.
Aquí hay algunos gráficos ascii torpes que ilustran lo que quiero lograr:
PPTP-client ---\ ________________ ________________________
\ | 10.0.0.0/24 | |10.0.0.0/24 real ip|
PPTP-client ----->| Virt. hub (A) |----|ethX A eth0|----- Outside world
/ |_______________| |_______________________|
PPTP-client ---/
Buscar en Google muestra que PacketiX.NET y UT-VPN tienen capacidades integradas, pero no tengo idea de cómo hacerlo con pptpd normal. Intenté crear una interfaz ficticia, configurarla con una IP estática y luego proporcionarle al cliente pptp las IP de esta subred de la interfaz, pero sin éxito.
El uso de otros servidores VPN es problemático ya que la configuración del firewall es bastante paranoica y tengo que usar el servidor Wetware ssh para cualquier operación en A
.
Respuesta1
Puede utilizar el servidor PPTPd (si su red no filtra el protocolo GRE). PPTD creará una nueva interfaz ppp para cada cliente en su servidor.
Por ejemplo usted especifica
localip 192.168.101.1-100
remoteip 192.168.101.101-200
Entonces cada interfaz ppp* obtendrá una nueva IP de la subred 192.168.101. Finalmente, puedes realizar una transferencia NAT de todo el tráfico desde esta subred a tu IP real (no te olvides de net.ipv4.ip_forward=1).
# here could be full MASQUERADE or SNAT
iptables -t nat -I POSTROUTING -o real_interface0 -j MASQUERADE
# forward for all ppp + MSS tune, conntrack recommended
iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -s 172.20.1.0/24 -j TCPMSS --clamp-mss-to-pmtu