
Mein ISP-Benutzer CGNAT und ich haben keine statische IP-Adresse, aber ich möchte mich mit meinem AWS-Subnetz verbinden. Ich habe versucht, eine VM für einen OpenVPN-Server zu erstellen, aber auf diese Weise kann ich mich nur mit der Server-VM verbinden, es sei denn, ich richte sie auf allen anderen VMs ein. Wie kann ich mich ohne statische IP-Adresse mit meinem Subnetz verbinden?
Antwort1
Ich habe keine Erfahrung mit OpenVPN, aber mit einem einfachen Wireguard-Setup können Sie einen einzelnen Wireguard-Server haben, der den Zugriff auf eine beliebige Anzahl privater Subnetze ermöglicht.
In diesem Beispiel 10.xx.xx.x
sind dies meine privaten Subnetze und 192.168.x.x
mein Wireguard-Netzwerk.
- Wählen oder richten Sie eine dedizierte Maschine als Wireguard-Server ein und richten Sie eine Grundkonfiguration ein. Z. B. Serverseite
[Interface]
Address = 192.168.200.1
PrivateKey = ...
ListenPort = 51820
[Peer] # Enes home computer
PublicKey = ...
AllowedIPs = 192.168.200.2
und Clientseite
[Interface]
PrivateKey = ...
Address = 192.168.200.2
ListenPort = 51820
[Peer]
PublicKey = ...
Endpoint = your.wg.server
AllowedIPs = 192.168.200.1/32, 10.0.0.0/8 # We can route whatever we want!
- Konfigurieren Sie den Wireguard-Server so, dass IP-Weiterleitung zugelassen wird, beispielsweise mit den Sysctl-Einstellungen:
sysctl -w net.ipv4.ip_forward=1
sysctl -w net.ipv6.conf.all.forwarding=1
- Konfigurieren Sie den Wireguard-Server so, dass Masquerading möglich ist, z. B. mit Firewalld, einer benutzerdefinierten Regel für die Zone, in der sich die Wireguard-Schnittstelle befindet (z. B. intern).
firewall-cmd --add-rich-rule='rule family="ipv4" source address="192.168.211.0/24" masquerade' --permanent
firewall-cmd --reload
Und das sollte es sein. Verwenden Sie es, wg
um zu überprüfen, ob Wireguard funktioniert. Sie sollten in der Lage sein, jede 10.x.x.x
Adresse anzupingen, die der Wireguard-Server erreichen kann.
Ich führe dieses Setup mit einer einzelnen Wireguard-Server-VM gegen Dutzende private Subnetze mit Hunderten von Maschinen aus.