Die virtuelle Maschine hinter NAT konnte über die weiße Adresse nicht erreicht werden

Die virtuelle Maschine hinter NAT konnte über die weiße Adresse nicht erreicht werden

Ich habe das einfache Netzwerk in meiner VMware-Umgebung emuliert:planen

Das host1ist im internen Netzwerk 192.186.0.0/24, das host2ist in meinem Heimnetzwerk 192.168.0.0/24.

Dieser routerverfügt über zwei Netzadapter in beiden Netzwerken.

Alle Maschinen werden mit Ubuntu Server 22.04 betrieben.

Ich habe iptables installiert routerund konfiguriert.

root@router:~# iptables -S
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -i int0 -j ACCEPT
-A INPUT -i ext0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m tcp --dport 2022 -j ACCEPT
-A FORWARD -i int0 -o ext0 -j ACCEPT
-A FORWARD -i ext0 -o int0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

root@router:~# iptables -t nat -S
-P PREROUTING ACCEPT
-P INPUT ACCEPT
-P OUTPUT ACCEPT
-P POSTROUTING ACCEPT
-A PREROUTING -p tcp -m tcp --dport 2022 -j DNAT --to-destination 192.186.0.2:22
-A POSTROUTING -j MASQUERADE
-A POSTROUTING -d 192.186.0.2/32 -p tcp -m tcp --sport 22 -j SNAT --to-source 192.168.0.114:2222

Wenn ich versuche, über den Port 2022 des Routers auf dem externen Adapter eine Verbindung herzustellen, host1wird die Verbindung erfolgreich hergestellt.

ilya@host2:~$ ssh -v -p 2022 [email protected]
OpenSSH_8.9p1 Ubuntu-3, OpenSSL 3.0.2 15 Mar 2022
...
ilya@host1:~$ uname -a
Linux host1 5.15.0-56-generic #62-Ubuntu SMP Tue Nov 22 19:54:14 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

Wie Sie sehen, habe ich eine Regel hinzugefügt, um die falsche Adresse 192.168.0.114und den falschen Port 2222 für das zu erstellen host1.

Aber wenn ich mich mit Port 2222 auf der gefälschten Adresse verbinde, 192.168.0.114schlägt es fehl

ilya@host2:~$ ssh [email protected]:2222
ssh: Could not resolve hostname 192.168.0.114:2222: Name or service not known

Offensichtlich funktioniert die Regel nicht

root@router:~ iptables -t nat -A POSTROUTING -p tcp --sport 22 -d 192.186.0.2 -j SNAT --to-source 192.168.0.114:2222

Daher habe ich einige Regeln oder Konfigurationsoptionen übersprungen ...

Kannst du mir helfen?

verwandte Informationen