Обсуждение статьи тематического каталога: Проброс порта внутрь сети через NAT в Linux (nat iptables linux)Ссылка на текст статьи: http://www.opennet.me/base/net/nat_redirect.txt.html
День добрый! у меня сложилась ситуация, когда мне нужно сделать доступ к локальной машине извне на порт 3389.
У меня стоит на роутере fedora core 2.
согласно вышеописанному, делаю
# iptables -t nat -A PREROUTING -p tcp -d $EXT_R_IP --dport 3389 -j DNAT --to-destination $LOCAL_IP:3389
# iptables -A FORWARD -i eth0 -d $LOCAL_IP -p tcp --dport 3389 -j ACCEPTно к локальной машине по этому порту так и не пускает.
1. Точно ли включен доступ на локальной машине RD
2. Не перебивает ли какоенибудь правило iptables твою цепочку проброса портов...
И ещё... какой у тебя ЯДРО на твоей FC2 ???????
в мануале сказано, цетирую:
"Сразу скажу, что на ядрах 2.2.x это нормально не получается,
только используя утилиты iproute2 Алексея Кузнецова(сам не пробовал,
но, говорят, получается). Так что я рассматриваю вариант kernel-2.4.x
+ iptables."
Linux & Windows
==
Проброс порта, в большенстве нужен для администрирования сервера в локальной сети.
Помимо UNIX серверов, частенько необходим доступ, напрмер к Домену, который само собой работает под управлением windows 2k, 2003. Но если администратор работает всю жизнь под unix, и пользуеться удалённым клиентом rdesktop (unix).... может возникнуть проблема, как один раз возникла у меня. Пробросил я порт 3389 на локальную машинку, под управлением windows 2003 server, но имя пользователя на ней на русском языке, пароль на английском. Стандартная комбинация Shift + Alt или Shift + Ctrl под rdesktop (unix) - НЕ РАБОТАЕТ, как же залогиниться????
Ответ прост - Экранная Клавиатура. Запускаеться она комбинацией клавиш
!!! windows + U !!!
собственно такой небольшой ньюанс, который не раз поможет Вам быстро и оперативно залогиниться удалённо.
>Пробросил я порт 3389
>на локальную машинку, под управлением windows 2003 server, но имя пользователя
>на ней на русском языке, пароль на английском. Стандартная комбинация Shift
>+ Alt или Shift + Ctrl под rdesktop (unix) - НЕ
>РАБОТАЕТ, как же залогиниться????x11.conf отменили?
XkbOption и пр.
>Стандартная комбинация Shift + Alt или Shift + Ctrl под rdesktop (unix) - НЕ РАБОТАЕТЭто после каго перепугу? Все работает
Сам только что пропарился с пробросом портов... Вот вычитал в инете
ptables -t nat -A PREROUTING -s $FROM -d $GATE_IP -i eth1 -p tcp -m tcp --sport 1024:65535 --dport 3389 -j DNAT --to-destination $W2K_SERVERiptables -t nat -A POSTROUTING -d $W2K_SERVER -o eth0 -p tcp -m tcp --dport 3389 -j SNAT --to-source $GATE_INNER_IP
iptables -A INPUT -s $FROM -d $GATE_IP -i eth1 -p tcp -m tcp --dport 3389 -j ACCEPT
iptables -A FORWARD -s $FROM -i eth1 -p tcp -m tcp --dport 3389 -j ACCEPT
iptables -A FORWARD -s $W2K_SERVER -d $FROM -i eth0 -p tcp -m tcp --sport 3389 -j ACCEPTгде
$FROM - кому разрешено ломиться к внутреннему серверу
$GATE_IP - внешний ip-адрес шлюза
$GATE_INNER_IP - внутренний ip-адрес шлюза
$W2K_SERVER - ну это понятно :)
-------------
спасибки Xman'у
а в free можно шота подобное сделать???
Да конечно, а IPFW юзать rdr.
Например:
"rdr on $ExtIf proto tcp from any to $ExtIP port 33334 -> 10.х.х.х/32 port rdp"
Ой, извиняюсь PF надо.
У меня другая задача, нужно пробросить порт но маршрутизация сделана на Win XP. Нужно чтоб апачь на одной из машин был через другую виден вовне.
Спасибо большое статья работает))))
А как сделать что бы это работало когда внешний ип по дхцп и внутри сети всем по дхцп раздается и что б у всех во внутреней сети был виден этот порт?
Юзать DNS внутри сети и писать вместо IP DNS-имя. У меня так.
Какой этот?
спасибо! помогло!10 баллов по 10 бальной шкале автору! недавно сел за iptables, но поскольку проброс понадобился раньше чем прочитал про них, пришлось юзать скрипт. спасибо!!!
Почему же только '-p tcp'? Как на счет UDP, ICMP?.. Я бы убрал '-p tcp'.
У меня только при:
# iptables -t nat -A PREROUTING -p tcp -i $EXT_IFACE --dport $PORT1 -j DNAT --to-destination $LOCAL_IP:$PORT2
# iptables -A FORWARD -i eth0 -d $LOCAL_IP -p tcp --dport $PORT2 -j ACCEPT
заработало.
Толково и без воды. На wl-500gP+ usb wimax YOTA c прошивкой от Олега нужно было пробросить порт с wimax. Много искал. Ничего путного не выходило. Данная статья помогла. АВТОРУ СПАСИБО ОГРОМНОЕ!!!!!!
возможно ли сделать проброс портов через один интерфейс?
Имеем
1) fedora core 11 на "сервере"(поставлена в роутере а DMZ).
2) 3 машинки каждой нужен проброс на разные порты(от 2 до 5-ти).
3) роутер(из-за лимита количества правил 10-15 и резделении по протоколам)
Система висит(
1) на DMZ
3)(из-за лимита количества правил 10-15 и резделении по протоколам, такое количество правил не реализовать)
Получаю $EXT_R_IP по средствам DHCP сервера провайдера. Каким образом следует изменить правило?
во во... меня тож DHCP интересует, от прова DHCP и ppp0
iptables -F FORWARD
iptables -t nat -A PREROUTING -p tcp -d 192.168.56.11 --dport 2221 -j DNAT --to-destination 192.0.2.102:22
#iptables -A FORWARD -i eth0 -p tcp --sport 2221 -d 192.0.2.102 --dport 22 -j ACCEPTiptables -L
Для чего нужна вторая строчка, если у меня работает и без нее?
Суть: на локальном компе с 192.168.56.11 с помощью OpenVZ сделан контейнер без внешнего доступа. Вышеприведенным кодом делаю ssh доступ к нему по порту 2221 (стандартный 22 используется для доступа к самому компу).
Разрешает прохождение (форвардинг) пакетов. Понимаешь ли... У нормальных сисадминов стоит правило iptables -P FORWARD DROP, дабы всякие козявкины не ломали сетку.
Скажите пожалуйста:
1) Те кто будет по проброшеному порту заходить на машину в локалке будут знать, что они зашли на локальную машину, а не на роутер?
2) Провайдер от которого у меня интернет может выяснить, что за роутером ещё машины есть, если локальным машинам устроить проброс портов?
1) - Нет небудут.
2) - При сильном желании может.Но только какая ему разница?))
А какие еще нужно добавить правила (чтобы добраться до GATE_INNER_IP), если перед машиной GATE стоит железный файервол, который уже выбрасывает GATE наружу? Т.е. получается что у GATE оба IP адреса внутренние.
фууууу, сколько ламоты!
Я б таких не подпускал к компам без сдачи на права. Да!
И в инет бы не выпускал писать. Только читать.
Так-то.
Сделал все по описанию, два раза проверил, - не работает.
Linux - CentOS 6.3
Видимо, статья устарела.
Господа, что же получается, что DMZ в каком-нибудь DLink-е, мулька для Юзверей?
кто-нубудь делал ли DMZ на неком Firehol (это такой farewall, достаточно интеллигентный)
Подскажите, как подключиться с этой же локальной сети где веб сервер по внешнему ІР?
У меня шлюз-комп. 2 сетевухи. 1-ая сетевуха 192.168.1.10 смотрит в инет на роутер 192.168.1.1
вторая сетевуха смотрит внутрь сети. у нее IP 10.10.2.1. А у компа что мне недо IP 10.10.2.200
Пробрасываю ssh и RDP так:
iptables -t nat -A PREROUTING -p tcp -d 192.168.1.10 --dport 2222 -j DNAT --to-destination 10.10.2.200:22
iptables -A FORWARD -i eth0 -d 10.10.2.200 -p tcp --dport 22 -j ACCEPT
iptables -t nat -A PREROUTING -p tcp -d 192.168.1.10 --dport 33389 -j DNAT --to-destination 10.10.2.200:3389
iptables -A FORWARD -i eth0 -d 10.10.2.200 -p tcp --dport 3389 -j ACCEPT
Причем из вне на ssh я захожу по порту 2222 меня перебрасывает на комп на порт 22
а по удаленке захожу по порту 33389 меня перебрасывает на комп на порт 3389p.s. Это так инфа для тех у кого не получается.. Смотрите примеры - пробуйте.
спасибо за спасибо )
eth0 смотрит наружу или внутрь?
У меня андроид(rooted) и подключенный к нему по wifi hotspot девайс. хочу получить на девайс доступ из вне. Симка с стат. публичн. IP 46.x.x.x. Пробавал так -не получилось-
# iptables -t nat -A PREROUTING -p tcp -d 46.x.x.x --dport 4xxxx -j DNAT --to-destination 192.168.43.120:80
# iptables -A FORWARD -i ccmni0 -d 46.x.x.x -p tcp --dport 80 -j ACCEPT[сообщение отредактировано модератором]