Ist es möglich, einen virtuellen Hub für PPTP-Clients zu erstellen?

Ist es möglich, einen virtuellen Hub für PPTP-Clients zu erstellen?

Es gibt eine Linux-Maschine ( A), auf der pptpd in einem Universitätsnetzwerk hinter einer Firewall, aber mit einer echten IP-Adresse, läuft. Ich habe keinen Zugriff oder keine Kenntnisse über die IP-Verteilung in diesem Netzwerk, daher kann ich nicht einfach remoteip X.Y.Z.200-250die pptpd-Konfiguration festlegen, da dies zu Konflikten führen könnte. Ich frage mich, ob es möglich ist, einen virtuellen Hub für alle verbundenen VPN-Clients zu erstellen, der dann per NAT an das echte Netzwerk angeschlossen wird.

Hier sind einige klobige ASCII-Grafiken, die veranschaulichen, was ich erreichen möchte:

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  ---/

Beim Googeln zeigt sich, dass PacketiX.NET und UT-VPN über solche integrierten Funktionen verfügen, aber ich habe keine Ahnung, wie ich das mit einem normalen pptpd machen soll. Ich habe versucht, eine Dummy-Schnittstelle zu erstellen, sie mit einer statischen IP zu konfigurieren und dann dem pptp-Client die IPs aus diesem Schnittstellensubnetz zu geben, aber ohne Erfolg.

Die Verwendung anderer VPN-Server ist problematisch, da die Firewall-Einstellungen ziemlich paranoide sind und ich für alle Vorgänge einen Wetware-SSH-Server verwenden muss A.

Antwort1

Sie können den PPTPd-Server verwenden (wenn das GRE-Protokoll nicht von Ihrem Netzwerk gefiltert wird). PPTD erstellt für jeden Client auf Ihrem Server eine neue PPP-Schnittstelle.

Sie geben beispielsweise an

localip 192.168.101.1-100
remoteip 192.168.101.101-200

Somit erhält jede ppp*-Schnittstelle eine neue IP aus dem Subnetz 192.168.101. Schließlich können Sie den gesamten Datenverkehr aus diesem Subnetz per NAT auf Ihre echte IP umleiten (vergessen Sie nicht 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

verwandte Informationen