Автор Тема: Проблем с port forwarding  (Прочетена 7569 пъти)

No_root__No_cry

  • Напреднали
  • *****
  • Публикации: 19
    • Профил
Проблем с port forwarding
« -: May 20, 2008, 19:16 »
Имам следния проблем.
Искам да пренасоча конекциите от порт 8080 на външния си сървър към порт 80 на вътрешния си сървър.
Двата реда по-долу не работят.

iptables -t nat -A PREROUTING -p tcp -i eth1 -d xxx.xxx.xxx.xxx --dport 8080 -j DNAT --to 192.168.1.2 :80
iptables -A FORWARD -p tcp -i eth1 -d 192.168.1.2 --dport 80 -j ACCEPT

където eth1 е външният interface на gateway-я (eth0 е вътрешният). xxx.xxx.xxx.xxx е статичния ми външен IP адрес на gateway-я, а 192.168.1.2 е ip адреса на вътрешния сървър. Gateway-я е Debian 4, а вътрешния сървър ползва windows vista.
Ползвам PPPoEd да давам Internet на вътрешния компютър.

Някъде четох, че на вътрешната машина gateway-я трябва да е настроен да е вътрешния IP адрес на външната машина, но не знам как да го настроя, защото PPPoEd го слага да е празен (в статус прозореца на pppoe връзката под vista полето Default Gateway е празно).

Това е скрипта, който ползвам:
EXT=eth1
INT=eth0

iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -X

iptables -A INPUT -i lo -j ACCEPT

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -m state --state NEW -i ! $EXT -j ACCEPT
iptables -A FORWARD -i $EXT -o $INT -m state --state ESTABLISHED,RELATED -j ACCEPT

iptables -A FORWARD -i $INT -o $EXT -j ACCEPT

iptables -t nat -A POSTROUTING -o $EXT -j MASQUERADE

iptables -A FORWARD -i $EXT -o $INT -j REJECT

iptables -t mangle -A PREROUTING -i $EXT -j TTL --ttl-inc 1
iptables -t mangle -A POSTROUTING -s 192.168.1.0/24 -o $EXT -j TTL --ttl-set 64

iptables -t nat -A PREROUTING -p tcp -i eth1 -d xxx.xxx.xxx.xxx --dport 8080 -j DNAT --to 192.168.1.2:80
iptables -A FORWARD -p tcp -i eth1 -d 192.168.1.2 --dport 80 -j ACCEPT


Ако някой има идея защо това пренасочване не става, моля да помага!
Благодаря предварително!
Активен

VladSun

  • Напреднали
  • *****
  • Публикации: 2166
    • Профил
Проблем с port forwarding
« Отговор #1 -: May 20, 2008, 21:36 »
Без gateway няма да стане '<img'>
Активен

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

No_root__No_cry

  • Напреднали
  • *****
  • Публикации: 19
    • Профил
Проблем с port forwarding
« Отговор #2 -: May 22, 2008, 00:27 »
С настроен gateway на вътрешната машина да е вътрешния IP адрес на външната машина пак не става.
Активен

VladSun

  • Напреднали
  • *****
  • Публикации: 2166
    • Профил
Проблем с port forwarding
« Отговор #3 -: May 22, 2008, 12:40 »
Дай:

ifconfig
route -n

на рутера и:

ipconfig /all

на win машината.
Активен

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

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
Проблем с port forwarding
« Отговор #4 -: May 22, 2008, 13:50 »
Хм, tcpdump кво казва?



Активен

"Knowledge is power" - France is Bacon

VladSun

  • Напреднали
  • *****
  • Публикации: 2166
    • Профил
Проблем с port forwarding
« Отговор #5 -: May 22, 2008, 14:31 »
Цитат (VladSun @ Май 20 2008,21:36)
Без gateway няма да стане '<img'>

@gat3way - нямах предвид теб ':p' ':p' ':p'
Активен

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

tolostoi

  • Напреднали
  • *****
  • Публикации: 1337
  • Distribution: Ubuntu
  • Window Manager: Unity
  • левел: авераж :)
    • Профил
Проблем с port forwarding
« Отговор #6 -: May 22, 2008, 15:35 »
Цитат (VladSun @ Май 22 2008,13:31)
Цитат на: VladSun,Май 20 2008,21:36
Без gateway няма да стане '<img'>

@gat3way - нямах предвид теб ':p' ':p' ':p''<img'>  '<img'>  '<img'>  '<img'>
Абе какво е това животно pppoed?



Активен


... в Столичен инспекторат една година след миграцията, продължават да работят под Linux. Което, май прави "експеримента" успешен
by entusiast

No_root__No_cry

  • Напреднали
  • *****
  • Публикации: 19
    • Профил
Проблем с port forwarding
« Отговор #7 -: May 22, 2008, 16:37 »
PPPoEd е PPPoE сървър, но и без него пак не става.

Пълната картина

xxx.xxx.xxx.xxx - външният ми IP адрес
xxx.xxx.xxx.0 - ISP мрежата
xxx.xxx.xxx.1 - ISP gateway
dns.dns.dns.dns - ISP DNS

10.11.12.0 - локалната ми (вътрeшна) мрежа
10.11.12.13 - вътрешният ми адрес (на Debian машината, рутера)

10.11.12.14 - другият компютър (vista машината, към която искам да пренасочвам пакетите)

eth0 - вътрешният interface (локалната мрежа)
eth1 - външният interface

в /proc/sys/net/ipv4/ip_forward
   1

в /etc/sysctl.conf
   net.ipv4.conf.default.forwarding=1
   net.ipv4.ip_forward = 1

ifconfig -a

   
Примерен код
eth0      Link encap:Ethernet  HWaddr xx:xx:xx:xx:xx:xx  
      inet addr:10.11.12.13  Bcast:10.11.12.255  Mask:255.255.255.0
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:3997 errors:0 dropped:0 overruns:69 frame:0
      TX packets:4965 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000
      RX bytes:652783 (637.4 KiB)  TX bytes:4246737 (4.0 MiB)
      Interrupt:177 Base address:0x4c00
   
   eth1      Link encap:Ethernet  HWaddr yy:yy:yy:yy:yy:yy  
      inet addr:xxx.xxx.xxx.xxx  Bcast:xxx.xxx.xxx.255  Mask:255.255.255.0
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:21830 errors:0 dropped:0 overruns:0 frame:0
      TX packets:6528 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000
      RX bytes:6875496 (6.5 MiB)  TX bytes:1152166 (1.0 MiB)
      Interrupt:169 Base address:0xd800
   
   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:4046 errors:0 dropped:0 overruns:0 frame:0
      TX packets:4046 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:0
      RX bytes:1270416 (1.2 MiB)  TX bytes:1270416 (1.2 MiB)
   
   sit0      Link encap:IPv6-in-IPv4  
      NOARP  MTU:1480  Metric:1
      RX packets:0 errors:0 dropped:0 overruns:0 frame:0
      TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:0
      RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)


route -n

   
Примерен код
Kernel IP routing table
   Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
   xxx.xxx.xxx.0   0.0.0.0         255.255.255.0   U     0      0        0 eth1
   10.11.12.0      0.0.0.0         255.255.255.0   U     0      0        0 eth0
   0.0.0.0         xxx.xxx.xxx.1   0.0.0.0         UG    0      0        0 eth1


Ползвам следния script:

   
Примерен код
EXT=eth1
   INT=eth0
   
   iptables -F
   iptables -t nat -F
   iptables -t mangle -F
   iptables -X
   
   # Always accept loopback traffic
   iptables -A INPUT -i lo -j ACCEPT
   
   iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
   iptables -A INPUT -m state --state NEW -i ! $EXT -j ACCEPT
   iptables -A FORWARD -i $EXT -o $INT -m state --state ESTABLISHED,RELATED -j ACCEPT
   
   # Accept outgoing packets from internal network
   iptables -A FORWARD -i $INT -o $EXT -j ACCEPT
   
   iptables -t nat -A POSTROUTING -o $EXT -j MASQUERADE
   
   # TTL settings
   iptables -t mangle -A PREROUTING -i $EXT -j TTL --ttl-inc 1
   iptables -t mangle -A POSTROUTING -s 10.11.12.0/24 -o $EXT -j TTL --ttl-set 64
   
   # port 8080 to port 80
   iptables -t nat -A PREROUTING -p tcp -i eth1 -d xxx.xxx.xxx.xxx --dport 8080 -j DNAT --to 10.11.12.14:80
   iptables -A FORWARD -p tcp -i eth1 -d 10.11.12.14 --dport 80 -j ACCEPT


iptables -L -n

   
Примерен код
Chain INPUT (policy ACCEPT)
   target     prot opt source               destination        
   ACCEPT     0    --  0.0.0.0/0            0.0.0.0/0          
   ACCEPT     0    --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
   ACCEPT     0    --  0.0.0.0/0            0.0.0.0/0           state NEW
   
   Chain FORWARD (policy ACCEPT)
   target     prot opt source               destination        
   ACCEPT     0    --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
   ACCEPT     0    --  0.0.0.0/0            0.0.0.0/0          
   ACCEPT     tcp  --  0.0.0.0/0            10.11.12.14         tcp dpt:80
   
   Chain OUTPUT (policy ACCEPT)
   target     prot opt source               destination        


iptables -t nat -L -n

   
Примерен код
Chain PREROUTING (policy ACCEPT)
   target     prot opt source               destination        
   DNAT       tcp  --  0.0.0.0/0            xxx.xxx.xxx.xxx        tcp dpt:8080 to:10.11.12.14:80
   
   Chain POSTROUTING (policy ACCEPT)
   target     prot opt source               destination        
   MASQUERADE  0    --  0.0.0.0/0            0.0.0.0/0          
   
   Chain OUTPUT (policy ACCEPT)
   target     prot opt source               destination        


iptables -t mangle -L -n

   
Примерен код
Chain PREROUTING (policy ACCEPT)
   target     prot opt source               destination        
   TTL        0    --  0.0.0.0/0            0.0.0.0/0           TTL increment by 1
   
   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        
   
   Chain POSTROUTING (policy ACCEPT)
   target     prot opt source               destination        
   TTL        0    --  10.11.12.0/24        0.0.0.0/0           TTL set to 64


вътрешната машина (която ползва vista)

ipconfig -all

   
Примерен код
Ethernet adapter Local Area Connection:
   
   Connection-specific DNS Suffix  . :
   Description . . . . . . . . . . . : 10/100 Ethernet
   Physical Address. . . . . . . . . : xx-xx-xx-xx-xx-xx
   DHCP Enabled. . . . . . . . . . . : No
   Autoconfiguration Enabled . . . . : Yes
   IPv4 Address. . . . . . . . . . . : 10.11.12.14(Preferred)
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . : 10.11.12.13
   DNS Servers . . . . . . . . . . . : dns.dns.dns.dns
   NetBIOS over Tcpip. . . . . . . . : Enabled



когато напиша http://10.11.12.14:80 виждам index.html на вътрешната машина
когато напиша http://xxx.xxx.xxx.xxx:80 виждам index.html на външната машина
когато напиша http://xxx.xxx.xxx.xxx:8080 отново виждам index.html на външната мапина, вместо index.html на вътрешната машина
(външната ми машина слуша и на двата порта 80 и 8080, вътрешната - само на 80)

Мисля, че има проблем със следния ред в таблицата с маршрутите
   10.11.12.0      0.0.0.0         255.255.255.0   U     0      0        0 eth0
Активен

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
Проблем с port forwarding
« Отговор #8 -: May 22, 2008, 16:58 »
Последното е нормално.

iptables -t nat -A PREROUTING -p tcp -i eth1 -d xxx.xxx.xxx.xxx --dport 8080 -j DNAT --to 10.11.12.14:80

Това правило няма да match-не нищо, свързано с TCP връзка от хост от вътрешната мрежа до х.х.х.х:8080, защото минаваш през eth0, а не eth1.
Активен

"Knowledge is power" - France is Bacon

No_root__No_cry

  • Напреднали
  • *****
  • Публикации: 19
    • Профил
Проблем с port forwarding
« Отговор #9 -: May 23, 2008, 14:39 »
Наистина, когато адреса се зареди от Интернет пренасочването работи '<img'> Благодаря и се извинявам за ламерския въпрос!
Активен

ge6kata

  • Участници
  • ***
  • Публикации: 6
    • Профил
Проблем с port forwarding
« Отговор #10 -: Jun 20, 2008, 16:10 »
Имам същият проблем ,но нищо от прочетеното в форума или саита не ми помогна !
Не става нито с сусе 10.3
нито с дебиан4!
от 2 седмице се боря и не става, према всички команди и правила ,но ефекта е 0!!!!
Моля за помощ!
и двета са с iptables v 1.3.8



Активен

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