Назад | Перейти на главную страницу

Перенаправление RedHat iptables на виртуальную машину VirtualBox Windows Server 20120 для RDP

У меня есть сервер с RedHat 6.5, у него сетевая карта eth2 подключена к Интернету по адресу 1.2.3.4. На этом сервере я установил VirtualBox 4.3.2 и создал виртуальную машину с Windows Server 2012 SR2, виртуальная машина win имеет подключение NAT, подключение только к хосту и IP-адрес 192.168.56.101. Соединение только для хоста определяется на уровне Linux как vboxnet0, ниже частичного вывода команды IP-адрес шоу:

4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
link/ether 2c:76:8a:5a:b4:c2 brd ff:ff:ff:ff:ff:ff
inet 1.2.3.4/27 brd 1.1.1.1 scope global eth2
inet6 fe80::2e76:8aff:fe5a:b4c2/64 scope link
   valid_lft forever preferred_lft forever

9: vboxnet0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
link/ether 0a:00:27:00:00:00 brd ff:ff:ff:ff:ff:ff
inet 192.168.56.1/24 brd 192.168.56.255 scope global vboxnet0
inet6 fe80::800:27ff:fe00:0/64 scope link
   valid_lft forever preferred_lft forever

Удаленный рабочий стол включен в поле победы виртуальной машины, я могу успешно подключиться из окна Linux, используя rdesktop 192.168.56.101.

Что я хочу сделать, так это иметь возможность RDP подключать vm win box из Интернета, то есть к 1.2.3.4:3389, перенаправив запрос на 192.168.56.101:3389. Пересылка включена, я использую следующие правила iptables, но это не работает.

iptables -A INPUT -p tcp --dport 3389  -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -t nat -A PREROUTING -d 1.2.3.4 -p tcp --dport 3389 -j DNAT --to 192.168.56.101:3389 
iptables -A FORWARD -p tcp --dport 3389 -d 192.168.56.101 -j ACCEPT
iptables -t nat -A POSTROUTING -p tcp --dport 3389 -d 192.168.56.101 -s 192.168.56.101 -j MASQUERADE

Кто-нибудь может помочь? Я застрял.

Спасибо за любую помощь.

Итак, я последовал совету Майкла Хэмптона, я создал виртуальную машину с помощью KVM и добавил следующие правила iptables

iptables -t nat -I PREROUTING -p tcp -d 1.2.3.4 --dport 3389 -j DNAT --to-destination   192.168.122.1:3389
iptables -t nat -I PREROUTING -p udp -d 1.2.3.4 --dport 3389 -j DNAT --to-destination 192.168.122.1:3389
iptables -I FORWARD -m state -d 192.168.122.1 --state NEW,RELATED,ESTABLISHED -j ACCEPT

Сейчас все работает. Правила iptables были адаптированы из представленных в этом посте:

Перенаправление портов гостям в libvirt / KVM

С уважением