Синтаксис iptables для пересылки запросов удаленного рабочего стола на виртуальную машину на хосте CentOS

4596
NVRAM

Я могу rdesktop в виртуальную машину под управлением Windows XP, размещенную на моем компьютере с ОС CentOS 5.4, с хост-машины и отлично работать, используя частный адрес (192.168.122.65), но теперь мне нужно разрешить удаленный доступ к рабочему столу с других компьютеров (не только с компьютера). хостинг ВМ).

Мне нужно разрешить доступ только на день или около того, поэтому я не хочу добавлять сетевой адаптер (по причинам активации XP).

Может ли кто-нибудь помочь мне с синтаксисом iptables ?

ВМ находится в частной / виртуальной сети: 192.168.122.65, а моя машина CentOS находится в физической сети, на 10.1.3.38 (и 192.168.122.1 в качестве GW для виртуальной сети).

Я нашел вопрос о правилах iptables для пересылки подключения к удаленному рабочему столу Windows, но ни один из ответов, похоже, не сработал, и я немного робок в слепой проверке вариантов. Мои правила FORWARD перечислены ниже.

# 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 

Если я играю «вслепую», есть ли простой способ сбросить настройки в CentOS (перезапуск службы сети)?

1
Я хочу оставить работающую систему как есть и предоставить удаленный доступ к ВМ * на один день *. Я изначально задумывался о том, чтобы поместить виртуальную машину во внешнюю подсеть, но, за исключением этой краткосрочной необходимости, она не сломана. А наличие его в виртуальной сети устраняет необходимость в любом брандмауэре на WXP. NVRAM 14 лет назад 0

3 ответа на вопрос

1
Kevin M

Прежде чем что-то делать, сделайте service iptables save. Это копирует все ваши правила iptables /etc/sysconfig/iptables. Отсюда вы можете скопировать этот файл, а затем протестировать его. Чтобы восстановить тот набор правил, который вы сохранили, убедитесь, что набор правил находится в том же файле (если вы не сохранили другие iptables, то все должно быть хорошо), и выполните a service iptables resart. Набор правил, который вы имели при сохранении, теперь снова на месте.

Обновление теперь у меня есть время: Синтаксис Я считаю, что будет работать: iptables -t nat -A PREROUTING -p tcp --dport 3389 --to-destination 192.168.122.65 ; echo 1 > /proc/sys/net/ipv4/ip_forward. Обратите внимание, что это означает, что любой трафик RDP, поступающий на этот хост, будет перенаправлен.

1
Mattias Ahnberg

Это должно прекрасно работать с примером в посте, на который вы ссылаетесь. Это должно быть сделано в natтаблице iptables, например:

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

Затем УДАЛЕННО подключитесь к порту 3389 10.1.3.38 с вашим RDP-клиентом.

0
Neal

Я бы предпочел соединить сетевую карту на виртуальной машине с сетевой на хосте, чтобы виртуальная машина получала IP-адрес в диапазоне 10.1.3.X от DHCP-сервера, обслуживающего хост (или, если вы используете статические IP-адреса, установите свой собственный).

Приемлемо ли это, зависит от вашей ситуации, но если вы используете отдельную физическую машину, а не виртуальную машину, если вы просто добавите ее в свою сеть, то сделайте то же самое с вашей виртуальной машиной.

Чтобы расширить этот ответ, ваш менеджер виртуальных машин должен предоставить вам несколько вариантов для типа сетевого подключения, которое будет использовать виртуальный сетевой адаптер. Обычно адаптер настраивается в режиме NAT (трансляция сетевых адресов). По сути, это помещает виртуальную машину в другую подсеть от хоста, как если бы она находилась за виртуальным маршрутизатором. Вы должны иметь возможность настроить сетевой адаптер для мостового режима, в результате чего виртуальная машина совместно использует сетевой адаптер хоста в той же подсети, что и хост. Это сделает виртуальную машину видимой для всех в этой подсети без дополнительной маршрутизации. Joe Internet 14 лет назад 0
Спасибо за разъяснения, но я знал это (я был опытным пользователем VMWare 5-10 лет назад). Однако я не хотел изменять виртуальную машину, и поэтому я специально спросил синтаксис * iptables *. NVRAM 14 лет назад 0
Как я уже сказал, это зависит от вашей ситуации, и проще просто подключить сетевую карту ... В любом случае, http://mydebian.blogdns.org/?p=111 объясняет, как это сделать с помощью iptables (а также используя Virtualbox встроенный материал), так что это может вам помочь. Neal 14 лет назад 0