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

skuller

  • Напреднали
  • *****
  • Публикации: 70
    • Профил
    • WWW
пренасочване на портове
« -: May 05, 2007, 19:28 »
zдравеите
имам два компютъра единия с реално ип и дебиан на него а другото с частно ип и winXP
искам при опит да се свържа кам линукса даречем на порт 12345 да се пренасочва и да се свързвам със порт 12345 на winXP машината

на линукс пц-то
еth2 real IP
eth1 10.0.0.1

winXP
IP:10.0.0.2
Активен

angie_bg

  • Напреднали
  • *****
  • Публикации: 842
  • Distribution: Ubuntu 10.04
  • Window Manager: Gnome
    • Профил
    • WWW
пренасочване на портове
« Отговор #1 -: May 05, 2007, 19:43 »
Виж Easy Firewall Generator
Активен

skuller

  • Напреднали
  • *****
  • Публикации: 70
    • Профил
    • WWW
пренасочване на портове
« Отговор #2 -: May 05, 2007, 20:06 »
това го гледах допреди малко и него схванах ;/
Активен

zzzzz

  • Напреднали
  • *****
  • Публикации: 12
    • Профил
пренасочване на портове
« Отговор #3 -: May 05, 2007, 20:17 »
iptables -t nat -A PREROUTING -p tcp -d (външно ип) --dport (porta) -j DNAT --to-destination (вътрешно ип)
Активен

Explisit

  • Напреднали
  • *****
  • Публикации: 97
    • Профил
пренасочване на портове
« Отговор #4 -: May 05, 2007, 20:19 »
iptables -A PREROUTING -t nat -i eth1 -p tcp  --dport 12345 -j DNAT --to 10.0.0.2:12345
iptables -A INPUT -p tcp -m state --state NEW --dport 12345 -i eth1 -j ACCEPT

E нещо такова ти трябва. Даже май баш същото  '<img'>



Активен

Powered by Debian

skuller

  • Напреднали
  • *****
  • Публикации: 70
    • Профил
    • WWW
пренасочване на портове
« Отговор #5 -: May 05, 2007, 21:14 »
това ми дава като напиша  iptables -L -t nat -n
Примерен код
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination
DNAT       tcp  --  0.0.0.0/0            91.*       tcp dpt:5588 to:10.0.0.2:5588
DNAT       tcp  --  0.0.0.0/0            10.0.0.2            tcp dpt:5580 to:10.0.0.2:5580
DNAT       tcp  --  0.0.0.0/0            91*       tcp dpt:5585 to:10.0.0.2
DNAT       tcp  --  0.0.0.0/0            91.*       tcp dpt:5585 to:10.0.0.2:5585
DNAT       tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:12345 to:10.0.0.2:12345

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination
MASQUERADE  0    --  10.0.0.0/24          0.0.0.0/0

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
m22-sux:~#


Примерен код
telnet 91.* 5588
Trying 91.*...
telnet: Unable to connect to remote host: Connection refused

това го дава за които и да е порт ;/

но препратката кам нито един от тези портове неработи
Активен

neter

  • Global Moderator
  • Напреднали
  • *****
  • Публикации: 3408
  • Distribution: Debian, SailfishOS, CentOS
  • Window Manager: LXDE, Lipstick
    • Профил
    • WWW
пренасочване на портове
« Отговор #6 -: May 05, 2007, 23:00 »
Какво има пуснато на тия портове на машината с win-а, че очакваш telnet да се върже? И защо, аджеба, в destination имаш зададени IP-та (освен в последното)? Изтрий съдържанието на PREROUTING и използвай първия ред на Explisit, като махнеш -i eth1 от него или сложиш -i eth2 на негово място. Вторият ред на Explisit не е задължителен. Дай все пак да ти видим и изхода от iptables -L да не би да има някакво объркване там. Сигурен ли си, че eth2 е с реалното IP и eth1 с частното? А нямаш ли нещо на eth0? И още нещо, как правиш рутирането към 10.0.0.2? Дай да видим и този ред.



Активен

"Да си добре приспособен към болно общество не е признак за добро здраве" - Джиду Кришнамурти

skuller

  • Напреднали
  • *****
  • Публикации: 70
    • Профил
    • WWW
пренасочване на портове
« Отговор #7 -: May 06, 2007, 11:04 »
на машината с win съм пуснал
Примерен код
nc -l -p port -t -e cmd.exe

и това е само за да видя дали ще проработи . основната ми цел е да пренасоча порта на играта quake3 за да мога да правя сървър на вин машината .. (27960 е порта на играта )
iptables -L
Примерен код

iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     0    --  10.0.0.0/24          anywhere
ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:12345
ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:5511

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination


ifconfig
Примерен код

eth1      Link encap:Ethernet  HWaddr 00:06:7B:0B:6C:D2
          inet addr:10.0.0.1  Bcast:10.255.255.255  Mask:255.0.0.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:250571 errors:0 dropped:0 overruns:0 frame:0
          TX packets:284464 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:65580239 (62.5 MiB)  TX bytes:81675892 (77.8 MiB)
          Interrupt:11 Base address:0x9000

eth2      Link encap:Ethernet  HWaddr 00:*
          inet addr:91.92.*  Bcast:91.255.255.255  Mask:255.255.255.224
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:402862 errors:0 dropped:0 overruns:0 frame:0
          TX packets:283467 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:144546755 (137.8 MiB)  TX bytes:67868615 (64.7 MiB)
          Interrupt:11 Base address:0x9400



eth0  е ланкартата която е вградена в дъното но нея нея ползам
рутирането на нета го правя със
Примерен код

iptables -I INPUT -s 10.0.0.0/24 -j ACCEPT
iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -j MASQUERADE
Активен

bnight

  • Напреднали
  • *****
  • Публикации: 313
  • Distribution: Ubuntu 8.10
  • Window Manager: KDE 3.5.10
    • Профил
    • WWW
пренасочване на портове
« Отговор #8 -: May 28, 2007, 10:40 »
интересно и аз искам да пренасоча два порта по-точно 5900 29760 единият е VNC другият е именно Qukae 3 ползвам ядро 2.6.20 вътрешната ми мрежа е от рода 192.168.0.0/24 и се намира на eth0 външното ми ИП е динамично и се пренасочва към eth1 което е с ИП 192.168.1.2 бих бил благодарен ако ми кажете какви правила да ползвам.
ето и изхода от iptables -L -t nat -n
Примерен код

Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination
DNAT       tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:5900 to:192.168.0.2:5900
DNAT       tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:5900 to:192.168.0.2:5900

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination
MASQUERADE  0    --  0.0.0.0/0            0.0.0.0/0

но когато от другия компютър се опитам да се свържа с този порт минавайки през първият компютър ми дава connection refused. Явно някъде бъркам но къде ?
Активен

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

KPETEH

  • Напреднали
  • *****
  • Публикации: 584
    • Профил
пренасочване на портове
« Отговор #9 -: May 28, 2007, 12:33 »
Ето ти правила които можеш да ползваш за определени портове:
Цитат

iptables -A INPUT -i eth1 -p tcp --dport 5900 -j ACCEPT
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 5900 -j DNAT --to 192.168.0.2
iptables -A FORWARD -i eth1 -p tcp -d 192.168.0.2 --dport 5900 -j ACCEPT


Упс щях да забравя много е ваюно каква ти е политиката за OUTPUT т.е трябва да е примерно ACCEPT.

Примерен код
iptables -P OUTPUT ACCEPT




Активен

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

VladSun

  • Напреднали
  • *****
  • Публикации: 2166
    • Профил
пренасочване на портове
« Отговор #10 -: May 28, 2007, 13:34 »
Цитат на: KPETEH,Май 28 2007,12:33
Цитат

iptables -A INPUT -i eth1 -p tcp --dport 5900 -j ACCEPT


Защо?

Цитат

iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 5900 -j DNAT --to 192.168.0.2


ОК, но трябва и в обратната посока да се направи НАТ - т.е. SNAT на изходящите пакети от 192.168.0.2

Цитат

iptables -A FORWARD -i eth1 -p tcp -d 192.168.0.2 --dport 5900 -j ACCEPT


ОК, но трябва и в обратната посока да се разрешат пакетите ОТ 192.168.0.2

Цитат

Упс щях да забравя много е ваюно каква ти е политиката за OUTPUT т.е трябва да е примерно ACCEPT.

Примерен код
iptables -P OUTPUT ACCEPT



Защо?
Активен

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

VladSun

  • Напреднали
  • *****
  • Публикации: 2166
    • Профил
пренасочване на портове
« Отговор #11 -: May 28, 2007, 13:37 »
Цитат (bnight @ Май 28 2007,10:40)
Примерен код

Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination
DNAT       tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:5900 to:192.168.0.2:5900
DNAT       tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:5900 to:192.168.0.2:5900

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination
MASQUERADE  0    --  0.0.0.0/0            0.0.0.0/0

но когато от другия компютър се опитам да се свържа с този порт минавайки през първият компютър ми дава connection refused. Явно някъде бъркам но къде ?

1. Пробва ли от рутера да се вържеш към порта на втората машина (т.е. дали изобщо е пусната)?
2.Сложи FORWARD веригата на -P ACCEPT и виж дали става.
3. Сложи в DNAT правилото и match за интерфейса.
3. Сложи в MASQUERADE  правилото и match за интерфейса.
Активен

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

KPETEH

  • Напреднали
  • *****
  • Публикации: 584
    • Профил
пренасочване на портове
« Отговор #12 -: May 28, 2007, 13:44 »
Добре де vladsun защо да не е на ACCEPT,политиката за
OUTPUT ?! А и би трябвало да ползва MASQUERADE нали е рутер машината му то това е ясно.Само може да си спориме тук с теб заради глупости само защото човека не си е постнал целия firewall тук.
Дадох идея при мен как работи безотказно при положение че даже ползвам TOS за различните портове.
Както и да е.  '<img'>



Активен

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

VladSun

  • Напреднали
  • *****
  • Публикации: 2166
    • Профил
пренасочване на портове
« Отговор #13 -: May 28, 2007, 13:51 »
Цитат (KPETEH @ Май 28 2007,13:44)
Добре де vladsun защо да не е на ACCEPT,политиката за
OUTPUT ?! А и би трябвало да ползва MASQUERADE нали е рутер машината му то това е ясно.Само може да си спориме тук с теб заради глупости само защото човека не си е постнал целия firewall тук.
Дадох идея при мен как работи безотказно при положение че даже ползвам TOS за различните портове.
Както и да е.  '<img'>

Имах предвид, че INPUT/OUTPUT веригите нямат нищо общо с port forwarding. Няма нужда човекът да си "чупи" безмислено firewall-a.
А и нали трябва да научи нещо покрай тази тема '<img'>
Активен

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

KPETEH

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

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