Автор Тема: пренасочване на портове  (Прочетена 3657 пъти)

VladSun

  • Напреднали
  • *****
  • Публикации: 2166
    • Профил
пренасочване на портове
« Отговор #15 -: May 28, 2007, 14:01 »
Цитат (KPETEH @ Май 28 2007,13:54)
Vladsun знаеш много добре че при такава политика на OUTPUT му остава само да забрани портове,които не му трябват пък и от къде да знаеш може да реши да си браузва през links от рутера :-) Аз от време на време го правя защото моята щайга постоянно има проблеми а пък рутерченцето ми милото си бачка на шест. '<img'>

За по-голяма сигурност обикновено се прави обратното - забранява се целия трафик и се разрешава само този от/към определени портове.

А и "портове,които не му трябват" обикновено са над 65'000 '<img'>
Активен

KISS Principle ( Keep-It-Short-and-Simple )
http://openfmi.net/projects/flattc/
Има 10 вида хора на този свят - разбиращи двоичния код и тези, които не го разбират :P

KPETEH

  • Напреднали
  • *****
  • Публикации: 584
    • Профил
пренасочване на портове
« Отговор #16 -: May 28, 2007, 14:05 »
Като го гледам момчето е начинаещ в което няма лошо  '<img'>
Та ако си сложи политика за OUTPUT на DROP ще стане мазало той сам обясни че му е динамично IP-то.Не стана ясно по какъв протокол си получава адреса дали е фиксиран по MAC адрес и още много питанки останаха  '<img'>
На мен ми е лесно да си постна целия firewall ама не на всеки ше свърши работа '<img'> Пък и хайде всеки сам да си стигне до собствената си истина '<img'>
Активен

Най-добрата страна на алчността е способността и да стопява коефициента на интелигентност дори на най-умния човек.

sdr

  • Напреднали
  • *****
  • Публикации: 655
    • Профил
пренасочване на портове
« Отговор #17 -: May 28, 2007, 14:18 »
Нямаше ли един тънък момент че трябва да се разреши пакет-форвардинга за да заработи изобщо нат таблицата? Или инфото ми е от няколко десетки кернела назад?
Активен

KPETEH

  • Напреднали
  • *****
  • Публикации: 584
    • Профил
пренасочване на портове
« Отговор #18 -: May 28, 2007, 14:36 »
Цитат (sdr @ Май 28 2007,14:18)
Нямаше ли един тънък момент че трябва да се разреши пакет-форвардинга за да заработи изобщо нат таблицата? Или инфото ми е от няколко десетки кернела назад?

Да трябва '<img'> Ако иска да си го сложи в скрипта за iptables
или пък в някой конфигурационен файл '<img'>
Примерен код
echo 1 > /proc/sys/net/ipv4/ip_forward
Активен

Най-добрата страна на алчността е способността и да стопява коефициента на интелигентност дори на най-умния човек.

bnight

  • Напреднали
  • *****
  • Публикации: 313
  • Distribution: Ubuntu 8.10
  • Window Manager: KDE 3.5.10
    • Профил
    • WWW
пренасочване на портове
« Отговор #19 -: May 28, 2007, 17:14 »
Примерен код

Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     0    --  anywhere             anywhere
ACCEPT     0    --  anywhere             anywhere            state RELATED,ESTABLISHED
ACCEPT     0    --  anywhere             anywhere            state NEW
ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:5900
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:5900

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
ACCEPT     0    --  anywhere             anywhere            state RELATED,ESTABLISHED
ACCEPT     0    --  anywhere             anywhere
REJECT     0    --  anywhere             anywhere            reject-with icmp-port-unreachable
ACCEPT     tcp  --  anywhere             192.168.0.2         tcp dpt:5900

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

ето ми го целият IPTables въпреки това тая пущина неще да работи. Естествено че съм разрешил пренасочването на портовете още когато съм си правил рутера Какво да направя за да заработи ? Някой да ми каже точно какви правила да добавя за да стане. Предварително благодаря.
Активен

Registered Linux user: 473460
http://skyhost.bg - Хостинг и Домейни

Hapkoc

  • Напреднали
  • *****
  • Публикации: 2117
    • Профил
пренасочване на портове
« Отговор #20 -: May 28, 2007, 18:35 »
Е не е целият. :)

Дай в добавка това:

iptables -nvL -t nat



Активен

bnight

  • Напреднали
  • *****
  • Публикации: 313
  • Distribution: Ubuntu 8.10
  • Window Manager: KDE 3.5.10
    • Профил
    • WWW
пренасочване на портове
« Отговор #21 -: May 28, 2007, 19:06 »
Примерен код

Chain PREROUTING (policy ACCEPT 880 packets, 76583 bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 DNAT       tcp  --  eth1   *       0.0.0.0/0            0.0.0.0/0           tcp dpt:5900 to:192.168.0.2

Chain POSTROUTING (policy ACCEPT 4 packets, 192 bytes)
 pkts bytes target     prot opt in     out     source               destination
  591 40879 MASQUERADE  0    --  *      eth1    0.0.0.0/0            0.0.0.0/0  

Chain OUTPUT (policy ACCEPT 37 packets, 2362 bytes)
 pkts bytes target     prot opt in     out     source               destination

ето го целият
Активен

Registered Linux user: 473460
http://skyhost.bg - Хостинг и Домейни

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
пренасочване на портове
« Отговор #22 -: May 28, 2007, 22:31 »
Бе Vladsun е обяснил много точно проблема малко по-нагоре. Нещата  са много прости и очевидни и това  между другото е често срещан проблем. Който лесно се намира, стига човек да може да си представи малко как върви една проста TCP комуникация при това положение, нека ви опиша картинката (щото много обичам '<img'>  ):

Машина от вътрешната мрежа с адрес 192.168.0.5 (например) се опитва да върже vlc до "външна" машина (x.x.x.x) на порт 5900. SYN пакетът се препраща през рутера, 192.168.0.1.  Оттам се ДНАТ-ва към машината 192.168.0.2. Тя вижда SYN пакет идващ от 192.168.0.5 и му връща SYN-ACK потвърждение. Машината 192.168.0.5 получава потвърждението SYNACK, но то не идва от x.x.x.x - идва от 192.168.0.2 -  съответно не е асоцирано с никоя конекция и не се взема предвид. Установяването на сесията пропада.

За да се реши проблема е необходимо на рутера да  се сложи и правило, което SNAT-ва всичко от вътрешната мрежа към порт 5900 със "собствения"  си адрес - 192.168.0.1. Така логически схемата е завършена. SNAT правилото ТРЯБВА да е преди MASQUERADE правилото в POSTROUTING, иначе ще се появи друг проблем (пакетите към 192.168.0.2 ще се опитват да излязат през "външния" интерфейс - съответно пак проблем).

Що се отнася до quake там има друг проблем - не знам дали комуникацията не минава по UDP. Освен това, не знам дали не се работи с multicasting (поне ако се води "локален" сървър - не съм геймър и не знам как е там, но това беше случая с counterstrike май). Ако искате да си правите "локални" игри в рамките на вашето ISP - тогава се налага да се прави и multicast routing - това е една много дълга, широка и сложна тема в линукс света. Не се наемам да помагам в този случай...
Активен

"Knowledge is power" - France is Bacon

bnight

  • Напреднали
  • *****
  • Публикации: 313
  • Distribution: Ubuntu 8.10
  • Window Manager: KDE 3.5.10
    • Профил
    • WWW
пренасочване на портове
« Отговор #23 -: May 28, 2007, 22:40 »
добре дай само правилата за VNC-то че ми е приятно като съм далеч от комп-а да си ползвам VNC на домашния комп. Всъщност с IPTables не съм си играл за това моля те напиши ми правилата. Предварително благодаря.
Активен

Registered Linux user: 473460
http://skyhost.bg - Хостинг и Домейни

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
пренасочване на портове
« Отговор #24 -: May 28, 2007, 22:48 »
Имаш всичко на всичко 3 правила, 2-те вече са ти готови. Сигурно ще ме намразиш като го прочетеш, ама си имам някакви собствени  разбирания за нещата и не обичам да сервирам на някого наготово нещата, не е честно. Може да е глупаво, но ще ти дам джокер - след като вече имаш правило в POSTROUTING, новото правило не трябва да го добавяш "-А", а да го "вмъкнеш" на първа       позиция "-I 1". SNAT таргета работи само в POSTROUTING chain-a. Има минимална разлика в синтаксиса на DNAT и SNAT правилата, за която си пише в manpage-a на iptables. Кое се СНАТ-ва вече писах. Сигурно щеше да ми е по-лесно да ти напиша директно едната команда, която ти трябва, но нямаше да е поучително. Приемам псувни, само недей за майка ми, тя не е виновна. И да, правя се на интересен, съжалявам '<img'>
Активен

"Knowledge is power" - France is Bacon

bnight

  • Напреднали
  • *****
  • Публикации: 313
  • Distribution: Ubuntu 8.10
  • Window Manager: KDE 3.5.10
    • Профил
    • WWW
пренасочване на портове
« Отговор #25 -: May 28, 2007, 23:31 »
абе пробвах ма може и аз някъде да бъркам търсих какви ли не варианти пробвах ето това
Примерен код

iptables -t nat -i 1 POSTROUTING -p tcp --dport 5900 -j SNAT--to-source 192.168.0.2-192.168.1.2:5900-5900

но за съжеление пак не става къде бъркам ?
Активен

Registered Linux user: 473460
http://skyhost.bg - Хостинг и Домейни

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
пренасочване на портове
« Отговор #26 -: May 28, 2007, 23:33 »
-I POSTROUTING 1, не -i 1.

--to-source има малко по-различен синтаксис - точно като на --to-destination при DNAT
Активен

"Knowledge is power" - France is Bacon

bnight

  • Напреднали
  • *****
  • Публикации: 313
  • Distribution: Ubuntu 8.10
  • Window Manager: KDE 3.5.10
    • Профил
    • WWW
пренасочване на портове
« Отговор #27 -: May 28, 2007, 23:42 »
да това с I то го открих че е само I --to-source обаче си остава загатка така и не разбрах какво точно да му задам за да сработи ?
Активен

Registered Linux user: 473460
http://skyhost.bg - Хостинг и Домейни

bnight

  • Напреднали
  • *****
  • Публикации: 313
  • Distribution: Ubuntu 8.10
  • Window Manager: KDE 3.5.10
    • Профил
    • WWW
пренасочване на портове
« Отговор #28 -: May 29, 2007, 00:21 »
както и да е оправих се всичко си работи добре благодаря много на всички.
Активен

Registered Linux user: 473460
http://skyhost.bg - Хостинг и Домейни