Ich habe ein ähnliches Problem wie dieses: OpenVPN ohne NAT
Es scheint, als wäre es noch nicht beantwortet worden.
Beschreibung meiner Situation: Ich habe einen OpenVPN-Server im Netzwerk A, den ein anderer Administrator installiert hat, bevor er das Unternehmen verlassen hat. Jetzt stellen mehrere Benutzer und Server eine Verbindung zu diesem OpenVPN-Server her, um auf Netzwerk A zuzugreifen und NATed zu erhalten, sodass alle Anfragen von VPN-Benutzern/-Servern die Quelladresse vom OpenVPN-Server haben.
Jetzt brauche ich einen Server im Netzwerk A, um auf einen der OpenVPN-Clients/-Server zuzugreifen, und möchte NAT in OpenVPN deaktivieren, um die „VPN-internen“ IP-Adressen dieser Clients und Server offenzulegen.
Ich weiß, dass ich eine Route im Netzwerk A hinzufügen muss, um auf das VPN-Netzwerk zuzugreifen. Das ist mir klar, aber ich weiß nicht, wie ich NAT in OpenVPN deaktivieren kann. Zudem sind keine IPtables-Regeln vorhanden, sodass anscheinend ein interner NAT-Mechanismus von OpenVPN verwendet wird.
Welche Optionen muss ich überprüfen, um NAT zu deaktivieren?
Antwort1
Auf dem OpenVPN-Server muss eine Regel wie diese vorhanden sein
iptables -t nat -A POSTROUTING -i tun0 -j MASQUERADE
Sie finden es mit
iptables-t nat -L -n -v
Sie müssen diese Regel unterdrücken.
Wenn, wie Sie behaupten (aber sind Sie gelaufen
iptables -t nat -L -n -v
um zu überprüfen, ob keine iptables-Regeln im Spiel sind?), die einzige andere Möglichkeit ist, dass Natting über die iproute2
Suite erfolgt.
cat /etc/iproute2/rt_tables
notieren Sie sich die Namen der Tabellen, die Sie haben, und geben Sie dann
ip route table TABLE_NAME | grep ^nat
und sehen Sie, ob Sie eine Ausgabe finden. Wenn ja, bedeutet das, dass die Paketheader durch den iproute2
Befehl neu geschrieben wurden ip route add nat ..
. Sie müssen lediglich die betreffende Routing-Tabelle löschen.
Dies sind die beiden Möglichkeiten,tertium non datur.
Jetzt müssen Sie dem Router eine Regel hinzufügen, um Pakete für das OpenVPN-Subnetz 10.0.0.0/24 über den OpenVPN-Server zu routen (nehmen wir an, er hat die IP-Adresse 192.168.0.127). Wenn der Router eine Linux-Maschine wäre, würde der folgende Befehl ausreichen:
ip route add 10.0.0.0/24 via 192.168.0.127
Die meisten Router, wie z. B. Cisco-Router, verfügen über eine Advanced routing
entsprechende Funktion, die in ihrer GUI zu finden ist. Sie sollten diese verwenden, um die Route oben anzugeben.