¿Es posible crear un centro virtual para clientes PPTP?

¿Es posible crear un centro virtual para clientes PPTP?

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-250pptpd, 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

información relacionada