iptables-Syntax zum Weiterleiten von Remote-Desktop-Anforderungen an eine virtuelle Maschine auf dem CentOS-Host

4925
NVRAM

Ich kann über eine Hosting-Maschine in eine VM mit Windows XP, die auf meinem CentOS 5.4-Computer gehostet wird, rdesktop retten und kann problemlos mit der privaten Adresse (192.168.122.65) arbeiten. Jetzt muss ich jedoch den Remotedesktop-Zugriff von anderen Computern (nicht nur vom Computer aus) zulassen Hosting der VM).

Ich muss den Zugriff nur für einen Tag zulassen. Daher möchte ich keine Netzwerkkarte hinzufügen (aus XP-Aktivierungsgründen).

Könnte mir jemand mit der iptables- Syntax helfen ?

Die VM befindet sich in einem privaten / virtuellen Netzwerk: 192.168.122.65 und meine CentOS-Maschine befindet sich in einem physischen Netzwerk um 10.1.3.38 (und 192.168.122.1 als GW für das virtuelle Netz).

Ich habe eine Frage zu den iptables-Regeln zum Weiterleiten einer Windows-Remotedesktopverbindung gefunden, aber keine der Antworten schien zu funktionieren, und ich bin etwas schüchtern, wenn ich blind Variationen ausprobiere. Meine FORWARD-Regeln sind aufgeführt.

# iptables -L FORWARD Chain FORWARD (policy ACCEPT) target prot opt source destination  ACCEPT all -- anywhere 192.168.122.0/24 state RELATED,ESTABLISHED  ACCEPT all -- 192.168.122.0/24 anywhere  ACCEPT all -- anywhere anywhere  REJECT all -- anywhere anywhere reject-with icmp-port-unreachable  REJECT all -- anywhere anywhere reject-with icmp-port-unreachable  RH-Firewall-1-INPUT all -- anywhere anywhere 

Wenn ich "blind" spiele, gibt es eine einfache Möglichkeit, die Einstellungen auf CentOS zurückzusetzen (a la service network restart)?

1
Ich möchte das funktionierende System so lassen, wie es ist, und den Remote-Zugriff auf die VM * für einen einzigen Tag * ermöglichen. Anfangs dachte ich darüber nach, die VM in das externe Subnetz zu stellen, aber abgesehen von dieser kurzfristigen Notwendigkeit ist sie nicht kaputt. Wenn Sie es im virtuellen Netzwerk haben, müssen Sie keine Firewall für WXP verwenden. NVRAM vor 14 Jahren 0

3 Antworten auf die Frage

1
Kevin M

Bevor Sie etwas tun, machen Sie eine service iptables save. Das kopiert alle Ihre iptables-Regeln nach /etc/sysconfig/iptables. Von hier aus können Sie die Datei kopieren und nach Herzenslust testen. Stellen Sie zum Wiederherstellen des von Ihnen gespeicherten Regelsatzes sicher, dass sich der Regelsatz in derselben Datei befindet (wenn Sie keine anderen iptables gespeichert haben, sollten Sie gut sein) service iptables resart. Der Regelsatz, den Sie beim Speichern hatten, ist jetzt wieder vorhanden.

Aktualisieren Sie jetzt, dass ich Zeit habe: Syntax Ich glaube funktioniert: iptables -t nat -A PREROUTING -p tcp --dport 3389 --to-destination 192.168.122.65 ; echo 1 > /proc/sys/net/ipv4/ip_forward. Beachten Sie, dass dies bedeutet, dass der RDP-Datenverkehr, der an diesen Host gelangt, weitergeleitet wird.

1
Mattias Ahnberg

Es sollte mit dem Beispiel in dem Beitrag, mit dem Sie verlinkt haben, gut funktionieren. Muss in der natTabelle von iptables wie folgt gemacht werden:

iptables -t nat -I PREROUTING -p tcp -d 10.1.3.38 --dport 3389 -j DNAT --to-destination 192.168.122.65 

Verbinden Sie sich dann mit Ihrem RDP-Client REMOT mit dem Port 3389 von 10.1.3.38.

0
Neal

Ich würde die Netzwerkkarte auf der VM lieber mit der auf dem Host überbrücken, sodass die VM vom DHCP-Server, der den Host bedient, eine IP-Adresse im Bereich 10.1.3.X erhält (oder, wenn Sie statische IP-Adressen verwenden), stellen Sie Ihre eigenen ein.

Ob dies akzeptabel ist, hängt von Ihrer Situation ab. Wenn Sie jedoch einen separaten physischen Computer anstelle einer VM verwenden, wenn Sie dies nur in Ihr Netzwerk stecken würden, tun Sie dasselbe mit Ihrer VM.

Um diese Antwort zu erweitern, sollte Ihr VM-Manager Ihnen einige verschiedene Optionen für die Art der Netzwerkverbindung geben, die die virtuelle NIC verwendet. Es ist üblich, dass der Adapter im NAT-Modus (Network Address Translation) konfiguriert ist. Dadurch wird die VM im Wesentlichen in einem anderen Teilnetz vom Host platziert, als befände sie sich hinter einem virtuellen Router. Sie sollten die NIC für den Bridged-Modus konfigurieren können, wodurch die VM die NIC des Hosts in demselben Subnetz wie der Host freigibt. Dadurch wird die VM für alle in diesem Subnetz sichtbar, ohne dass zusätzliches Routing erforderlich ist. Joe Internet vor 14 Jahren 0
Vielen Dank für die Klarstellung, aber ich wusste das (ich war vor 5-10 Jahren ein schwerer VMWare-Benutzer). Ich wollte die VM jedoch nicht ändern und habe deshalb speziell nach * iptables * -Syntax gefragt. NVRAM vor 14 Jahren 0
Wie gesagt, es hängt von Ihrer Situation ab und es ist einfacher, die Netzwerkkarte einfach zu überbrücken ... Wie auch immer, http://mydebian.blogdns.org/?p=111 erklärt, wie dies mit iptables (sowie durch die Verwendung von Virtualbox-Inhalten), so dass es Ihnen helfen kann. Neal vor 14 Jahren 0