iptables проброс портов

Автор glabol, 11 мая 2012, 13:21:45

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

glabol

Дано:

хост Linux debian 2.6.32-5-686 #1 SMP Mon Mar 26 05:20:33 UTC 2012 i686 GNU/Linux           ip 192.168.1.25
установлен virtualbox 3.1
гостевая windows xp         ip 192.168.56.101
требуется подключиться к удаленному рабочему столу гостевой машины из локальной сети и из внешки.

root@debian:~# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0d:87:c9:68:aa
          inet addr:192.168.1.25  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::20d:87ff:fec9:68aa/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:984 errors:0 dropped:0 overruns:0 frame:0
          TX packets:266 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:91318 (89.1 KiB)  TX bytes:31593 (30.8 KiB)
          Interrupt:21 Base address:0xa000

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:8 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:560 (560.0 B)  TX bytes:560 (560.0 B)

vboxnet0  Link encap:Ethernet  HWaddr 0a:00:27:00:00:00
          inet addr:192.168.56.1  Bcast:192.168.56.255  Mask:255.255.255.0
          inet6 addr: fe80::800:27ff:fe00:0/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:35 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:6365 (6.2 KiB)

root@debian:~# iptables -nL
Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

root@debian:~# iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination
DNAT       tcp  --  anywhere             debian.local        tcp dpt:3389 to:192.168.56.101:3389

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination
SNAT       tcp  --  anywhere             192.168.56.101      tcp dpt:3389 to:192.168.1.25

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

проброс делал так
iptables -t nat -A PREROUTING -p tcp -d 192.168.1.25 --dport 3389 -j DNAT --to-destination 192.168.56.101:3389
iptables -t nat -A POSTROUTING -p tcp --dst 192.168.56.101 --dport 3389 -j SNAT --to-source 192.168.1.25

Просьба vrdp не предлагать какой то он тугой (скорость маленькая, несоответствие мышки)

Будьте любезны подскажите пожалуйста как достичь нужного результата

HAEMHIK


glabol

гостевая машина подключена к виртуальному адаптеру хоста, тогда по идеи nat если я правильно понял

rayanAyar

Цитата: HAEMHIK от 11 мая 2012, 15:47:28nat или bridge
Это "Виртуальный адаптер хоста".

А зачем SNAT такой?
Форвардинг включен?

glabol

честно iptables вообще не знаю, просто как то раньше с центосом игрался и нагуглил этот проброс, но там я подлючался из внешки к центосу, а он меня перебрасывал на rdp win2k3, думал и сдесь такое прокатить. Как включить этот форвардинг?

rayanAyar


glabol

форвардинг включил так
echo 1 > /proc/sys/net/ipv4/ip_forward
подключения все равно нет, где чего еще можно попробывать

rayanAyar

А вобще с хостовой системы есть подключение на гостевую? Может там файервол/антивирус на винде блокирует?

glabol

С хоста на гостя подключение есть по rdp
Ситуация такова когда я добавляю правило

iptables -t nat -A PREROUTING -p tcp -d 192.168.1.25 --dport 3389 -j DNAT --to-destination 192.168.56.101:3389

подключиться с хоста на гостя можно, а вот когда добавляю второе
iptables -t nat -A POSTROUTING -p tcp --dst 192.168.56.101 --dport 3389 -j SNAT --to-source 192.168.1.25
то с хоста на гостя уже подключиться нельзя

fry

Цитата: glabol от 12 мая 2012, 15:57:45С хоста на гостя подключение есть по rdp
Ситуация такова когда я добавляю правило

iptables -t nat -A PREROUTING -p tcp -d 192.168.1.25 --dport 3389 -j DNAT --to-destination 192.168.56.101:3389

подключиться с хоста на гостя можно, а вот когда добавляю второе
iptables -t nat -A POSTROUTING -p tcp --dst 192.168.56.101 --dport 3389 -j SNAT --to-source 192.168.1.25
то с хоста на гостя уже подключиться нельзя
iptables -t nat -A POSTROUTING -p tcp --dst 192.168.56.101 --dport 3389 -j SNAT --to-source 192.168.56.1
Товарищи призывники! Надо понимать всю глубину наших глубин!

Руководство по добавлению изображений на форум

rayanAyar

Уберите вобще SNAT. Он для проброса портов не нужен. Он нужен для натирования. И если уж делать, то примерно так:

iptables -t nat -A POSTROUTING -o eth0 -s 192.168.56.0/24 -j SNAT --to-source 192.168.1.25