Wir müssen das Netzwerkmodell verstehen, das Sie im Hypervisor verwenden.
Wenn die VMs in demselben IP-Netzwerk wie der Hypervisor ausgeführt werden, dh der Hypervisor kein IP-Netzwerkrouting durchführt, ist keine Portweiterleitung erforderlich.
Dies ist jedoch nicht die häufigste Situation. Wenn Sie VMs einrichten, bewahren Sie sie normalerweise in einem separaten Netzwerk auf und verwenden eine Art Portweiterleitung für den Hypervisor, um die Sicherheit ein wenig zu verbessern, indem Sie die Anzahl der freigegebenen Maschinen minimieren.
Daher müssen Sie höchstwahrscheinlich eine Portweiterleitungsregel einrichten iptables
, um beispielsweise Port 2022 in der IP des Hypervisors auf Port 22 der VM abzubilden.
Nehmen Sie im folgenden Beispiel an, dass Ihr Hypervisor ein Subnetz 192.168.1.0 mit der Netzmaske 255.255.255.0 (24 Bit, Klasse C) einrichtet. Nehmen Sie außerdem an, dass Ihre VM die Adresse 192.168.1.2 hat. Wenn Sie auf dem Hypervisor eine ordnungsgemäß eingerichtete Firewall eingerichtet haben, die standardmäßig alle Verbindungen ablehnt, sollten die folgenden beiden Zeilen die Aufgabe ausführen:
$ iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 2022 -j DNAT --to 192.168.1.2:22 $ iptables -A FORWARD -p tcp -d 192.168.1.2 --dport 22 -j ACCEPT
Verweise:
[1] https://www.systutorials.com/816/port-forwarding-using-iptables/