Ich habe einen funktionierenden OpenVPN-Server auf der EC2-Instanz in meinem VPC installiert. Er wird verwendet, um Remote-Benutzern den Zugriff auf Dienste innerhalb des privaten Subnetzes zu ermöglichen. Bisher war dies eine ausreichende Lösung, aber derzeit werden alle Clients als VPN-Server-IP angesehen.
Ist es möglich, einen OpenVPN-Server auf einer EC2-Instanz zu konfigurieren und Clients IP-Adressen (vorzugsweise statisch pro Benutzer) zuzuweisen?
Angenommen, ich habe eine 10.0.0.0/16
VPC mit 10.0.10.0/24
Subnetz A und 10.0.11.0/24
Subnetz B. Ich möchte VPN-Clients IP-Adressen aus Subnetz 2 zuweisen.
Antwort1
Sie verwenden tatsächlich die NAT-Option (Standard), was bedeutet, dass alle Clients als der OpenVPN-Server selbst angesehen werden.
Sie können auch die andere Option „Geroutet“ verwenden. In diesem Fall werden Ihren Clients IP-Adressen aus einem von Ihnen definierten Bereich zugewiesen (in Ihrem Beispiel 10.0.11.0/24). Bitte stellen Sie sicher, dass dieses Subnetz (10.0.11.0/24) nicht auf Ihrem VPC vorhanden ist oder dass sich Ihr OpenVPN-Server NUR in diesem Subnetz befindet.
Sie müssen lediglich bedenken, dass Ihre Instanzen im privaten Subnetz, auf das Ihre Benutzer zugreifen, wissen müssen, wie die IP-Adressen Ihrer Benutzer erreicht werden (in diesem Fall 10.0.11.0/24), da AWS nicht weiß, wohin der Datenverkehr geleitet werden soll, der für dieses „neue“ Subnetz bestimmt ist, und daher verworfen wird.
Die Lösung hierfür ist:
- Fügen Sie Ihrer AWS-Routingtabelle (in Ihrem privaten Subnetz) eine Route hinzu, um den gesamten Datenverkehr, der für 10.0.11.0/24 bestimmt ist, an Ihren OpenVPN-Server zu senden.
- Deaktivieren Sie die Quell-/Zielprüfung auf Ihrer OpenVPN-Serverinstanz
- Stellen Sie sicher, dass die Sicherheitsgruppe Ihrer OpenVPN-Serverinstanz Datenverkehr von 10.0.11.0/24 zulässt
- Wenn Sie NACL verwenden, stellen Sie sicher, dass Sie diesen Datenverkehr nicht auch blockieren.