Автор Тема: Port forwarding с DNAT (как?)  (Прочетена 5965 пъти)

OMA

  • Напреднали
  • *****
  • Публикации: 12
    • Профил
Port forwarding с DNAT (как?)
« -: Mar 19, 2004, 16:42 »
Здравейте.
 Това което искам да направя е много просто. Искам при
 обръщение към 80-ти порт на сървърната ми машина 192.168.0.x
 заявката да се пренасочва към компютър 192.168.1.y от
 вътрешната ми мрежа. Знам, че това става с DNAT на iptables,
но нещо при мен не става връзката.
Това което правя е:
 iptables -A PREROUTING -t nat -p tcp -d 192.168.0.x --dport
80 -j DNAT --to 192.168.1.y:80
FORWARD веригата ми е ACCEPT при всяко положение.

 След това като пусна браузъра вече не се отваря web
 страницата на сървъра ми (явно пакетите се пренасочват към
 другата машина), но и не се отваря сайта от другият ми
компютър. Браузърът си цикли и достига timeout.

 Мисля, че подробно обясних какъв е проблема. Ако имате
 някакви предложения какво пропускам или какво бъркам моля
споделете ги.
Благодаря

П.П. Успях да направя port forwarding с ssh по този начин:
ssh -L 80:192.168.1.y:80 192.168.0.x
Така всичко си работи, но с iptables е много по-елегантно!

Тъй като поставих този въпрос в "Въпроси-Отговори" и получих няколко некомпетентни, дразнещи предложения и мнения, моля пишете само ако знаете наистина нещо по въпроса или сте правили успешен port forwarding някога.
Активен

kolio_kolev

  • Напреднали
  • *****
  • Публикации: 356
  • Distribution: Mandriva 2011, Mandriva Cooker
  • Window Manager: KDE 4.6.x
    • Профил
    • WWW
Port forwarding с DNAT (как?)
« Отговор #1 -: Mar 19, 2004, 17:07 »
Ти кого наричаш некомпетентен !?
Виж пак във "Въпроси-Отговори" !
Активен

Кольо Колев
Mandriva BG: http://mandriva.biotronica.net
Bitronica.Net форуми: http://forum.biotronica.net

OMA

  • Напреднали
  • *****
  • Публикации: 12
    • Профил
Port forwarding с DNAT (как?)
« Отговор #2 -: Mar 19, 2004, 17:53 »
Добре де.... малко силно се изказах, но все пак ще ти направя едно сравнение с copy-paste на това което ми написа:

аз написах:
Това което правя е:
iptables -A PREROUTING -t nat -p tcp -d 192.168.0.y --dport
80 -j DNAT --to 192.168.1.y:80

ти написа:
Пробвай:
/sbin/iptables -t nat -A PREROUTING -p tcp -d 192.168.0.y
--dport   80 -j DNAT --to 192.168.1.y:80


Каква е разликата м/у двете? '<img'>
Активен

the_real_maniac

  • Напреднали
  • *****
  • Публикации: 1258
  • Kernel panic, me - no panic ;-) :-)
    • Профил
Port forwarding с DNAT (как?)
« Отговор #3 -: Mar 19, 2004, 18:05 »
Сигурен ли си в сървъра , към койъо пренасочваш ! , че  е конф. правилно .

добави едно -m tcp преди -p tcp и пробвай

разлиакта м/у неговия и твоя пример е , че неговия пример е с / чрез абсолютен път '<img'>
Активен

Powered by Debian GNU / LINUX /// Intel inside ...

„Насилието е последното убежище на некомпетентността“ - Айзък Азимов (1920 — 1992)

kolio_kolev

  • Напреднали
  • *****
  • Публикации: 356
  • Distribution: Mandriva 2011, Mandriva Cooker
  • Window Manager: KDE 4.6.x
    • Профил
    • WWW
Port forwarding с DNAT (как?)
« Отговор #4 -: Mar 19, 2004, 18:05 »
Ти не разбра ли, че аз потвърдих това, което си написал...
И че реално това правило работи!
Просто проблема не ти е в праволото за port forward, а някъде другаде...


Кольо Колев
Активен

Кольо Колев
Mandriva BG: http://mandriva.biotronica.net
Bitronica.Net форуми: http://forum.biotronica.net

  • Гост
Port forwarding с DNAT (как?)
« Отговор #5 -: Mar 19, 2004, 18:46 »
Прави ми впечатлени следното:
Машината (рутера доколкото разбирам) е от мрежа 192.168.0.0 а пренасочваме към 192.168.1.0.
Та ако мрежовата маска е 24 бита то има ли указан път (рутинг) към 192.168.1.0?
Покажи също така веригата FORWARD на firewalla.
И последно - в man iptables за DNAT target е указано: --to-destination. Не съм сигурен дали само --to се възприема коректно.

Кажи докъде си я докарал. Ще се опитаме да помагаме.
Активен

OMA

  • Напреднали
  • *****
  • Публикации: 12
    • Профил
Port forwarding с DNAT (как?)
« Отговор #6 -: Mar 19, 2004, 23:39 »
Към the_real_maniac:
Сигурен съм в сървъра защото като се обърна към него с броузър(192.168.1.y) ми изплюва страницата.
Що се отнася до -m tcp няма нужда защото правилото за съвпадение на пакетите работи. Защото след като направя веригата вече не мога да се обърна към порт 80 на съвъра, т.е. пакетите наистина се пренасочват, но накъде незнам.
tcpdump ми показва, че не напускат изходните интерфейси.
tcpdump -qnn -i eth0 | grep 192.168.0.x
tcpdump -qnn -i eth1 | grep 192.168.1.y
не дават никакъв резултат.

Та това което ми се струва, е че проблема не е в iptables веригата а нещто със самия DNAT или нещо друго. Просто пакетите отиват някъде ...незнам къде.

Към Koko:
не е проблема в --to понеже веригата се изпълнява. --to = --to-destination
Да има routing към 192.168.1.0. А веригата FORWARD е АCCEPT за всичко.

Към kolio_kolev:
Да май наистина проблема ми е някъде другаде ама въпроса е къде... Четох какво ли не и навсякъде пише, че с тази верига се постига port forwarding

Благодаря ви, че се отзовахте на моя проблем'<img'> ... ама като гледам май нищо няма да излезне'<img'>(
Активен

  • Гост
Port forwarding с DNAT (как?)
« Отговор #7 -: Mar 20, 2004, 00:39 »
Разрешен ли е forward в ядрото
echo "1" > /proc/sys/net/ipv4/ip_forward ?
Активен

OMA

  • Напреднали
  • *****
  • Публикации: 12
    • Профил
Port forwarding с DNAT (как?)
« Отговор #8 -: Mar 20, 2004, 13:47 »
Да. Това ми е в .rc скриптовете
echo 1 > /proc/sys/net/ipv4/ip_forward
Активен

  • Гост
Port forwarding с DNAT (как?)
« Отговор #9 -: Apr 13, 2004, 18:24 »
Значи аз май имам като твоя проблем '<img'>

192.168.1.1 - router
192.168.1.90 - http(d) server / apache '<img'>

iptables -t nat -A PREROUTING -p tcp -d 192.168.1.1 --dport 80 -j DNAT --to 192.168.1.90:80

Дотук на всички им е ясно, нали ...

Такаaa ... Kлиент различен от 192.168.1.x няма проблем с връзка към моето апаче '<img'> , т.е http://my.real.ip.ok се отваря от всичко живо , но когато вътр. клиент (той е само един де , но '<img'> ) се опита да отвори въпросният сайт/сървър/страница чрез http://my.real.ip.ok броузъра цикли , както казаха по-горе и timeout '<img'>

Дефакто наистина по правилно е с redirect , защото това е пренасочване, но нали идеята е да е скрито зад НАТ цялата тази история '<img'> hmm ще трябва да се чете още iptables howto '<img'>

Но и с redirect не става '<img'> / не работи -> не се отваря страницата по реланото ип от вътрешен клиент , дори и от самия рутер ?!. ':0'

Честно казано и идея си няма защо става така ...

Със ssh проблем никакъв .:

iptables -t nat -A PREROUTING -m tcp -p tcp -d 192.168.1.1 --dport 22 -j DNAT --to 192.168.1.90:22 - работи си ?!.

Да не би проблема да е в самия httpd сървър / apache-то ?
Активен

  • Гост
Port forwarding с DNAT (как?)
« Отговор #10 -: Sep 02, 2004, 21:24 »
probvai v httpd.conf

<VirtualHost *>
ServerName 192.168.0.y
Redirect / http://192.168.1.y/
</VirtualHost>
Активен

Ivan_storm

  • Напреднали
  • *****
  • Публикации: 35
  • Distribution: Debian stable
    • Профил
Port forwarding с DNAT (как?)
« Отговор #11 -: Sep 03, 2004, 10:28 »
Проблема не е в DNAT според мен Сложи едно правило
IPTABLES -A  INPUT -m state --state NEW -j ACCEPT
IPTABLES -A  input -m state --state ESTABLISHED,RELATED -j ACCEPT
ако го нямаш , на вътрешната ти машина  с апа4а .
Ако не е от това си огледай дригите настроики на Iptables , свързани с входящите вериги ,защото проблемите винаги започват от там.
Активен

Pentium + Debian GNU/Linux - he fights for us.

Филип Бонев

  • Напреднали
  • *****
  • Публикации: 517
  • Distribution: Debian
  • Window Manager: KDE
    • Профил
Port forwarding с DNAT (как?)
« Отговор #12 -: Sep 03, 2004, 11:01 »
Здравейте,

Това дето ще го постна не знам дали ще ви помогне(и не знам дали е правилно), но аз така съм си настройл vnc,ssh,warcraft и бачкат. При условие, че това ми сървъра в къщи и ги прави от интернет към домашните компове,но и от домашните си работата тея работи.

Цитат
$IPTABLES -t nat -A PREROUTING -p tcp -i $EXTIF -d $EXTIP --dport 5800 -j DNAT --to-destination 192.168.0.3:5800
$IPTABLES -A FORWARD -p tcp -i $EXTIF -o $INTIF -d 192.168.0.3 --dport 5800 -j ACCEPT


Тук 192.168.0.3:5800 е машина с vnc.

Ако не се лъжа май на това му се казваше DMZ и мисля, че описано в howto-тата и документацията на netfilter
Активен

Поздрави,
Филип Бонев

ntenev

  • Напреднали
  • *****
  • Публикации: 125
    • Профил
Port forwarding с DNAT (как?)
« Отговор #13 -: Sep 03, 2004, 11:10 »
the_real_maniac

При теб случката е друга. Клиента търси 192.168.1.1 и очаква отговор от него, но го получава от 192.168.1.90. Тъй като той не е питал 192.168.1.90 нищо (или поне не директно) отговорите се игнорират. Предполагам че нещата работят за мрежи различни от 192.168.1.х защото имаш и някакво маскиране (или SNAT).

OMA
При теб предполагам проблема е същия.
Един съвет:

вместо
tcpdump -qnn -i eth0 | grep 192.168.0.x

използвай
tcpdump -qnn -i eth0 host 192.168.0.x
tcpdump -qnn -i eth0 port xx

grep-ването на целия изход от tcpdump може да се окаже тежичка задача за по-малки машини. това което съм забелязал като резултата е че редовете излизат по 15 през голям интервал от време

Поздрави !
Активен

melwin

  • Напреднали
  • *****
  • Публикации: 222
    • Профил
Port forwarding с DNAT (как?)
« Отговор #14 -: Sep 03, 2004, 11:15 »
Цитат на: OMA,Март 19 2004,17:42
ето така:
iptables -t nat -A PREROUTING -p tcp -d 192.168.0.x --dport 80 -j DNAT --to 192.168.1.y
iptables -t nat -A POSTROUTING -p tcp -d 192.168.1.y --dport 80 -j SNAT --to 192.168.0.x

едит: ntenev доколкото успях да разбера .. в постановката има рутер!
Активен

The second is the basic unit of time. It is the length of time taken for 9192631770 periods of vibration of the caesium-133 atom to occur.

Подобни теми
Заглавие Започната от Отговора Прегледи Последна публикация
port forwarding
Настройка на програми
coldy 1 3743 Последна публикация Nov 23, 2002, 11:15
от coldy
hlds port forwarding
Общ форум
ronalniko 1 2445 Последна публикация Aug 29, 2009, 12:50
от ludsic
Проблем с Port Forwarding и iptables
Настройка на програми
HunteR 8 3461 Последна публикация Dec 17, 2012, 11:30
от VladSun
Router, Port Forwarding и Apache сървър
Настройка на програми
mahmahani 6 3123 Последна публикация Dec 17, 2013, 12:03
от mkkostov
iptables port forwarding
Хардуерни и софтуерни проблеми
bonbon_ev 2 2287 Последна публикация Jan 22, 2015, 11:35
от bonbon_ev