Запомняне

» Здравейте
[ Вход :: Регистриране ]
 » Начало » Li Форуми » Help & Support » Networking » Проблем с port forwarding
Тема: Проблем с port forwarding
Мнение #1 Skip to the next post in this topic.
Написано на: Май 20 2008, 19:25

No avatar chosen




Група: Li fans
Мнения: 7
Регистриран: Септември 2007

Оценка: няма

Offline
Имам следния проблем.
Искам да пренасоча конекциите от порт 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


Ако някой има идея защо това пренасочване не става, моля да помага!
Благодаря предварително!
Контакти:  No_root_No_cry
WEB  
Мнение #2 Skip to the next post in this topic.
Skip to the previous post in this topic. Написано на: Май 21 2008, 11:12

Avatar




Група: Li fans
Мнения: 763
Регистриран: Февруари 2008

Оценка: 5

Offline
искам пълна логическа и топологическа схема на мрежата ти. казвайки пълна искам ИП-та, маски, пътища и т.н.

Контакти:  altoas

  • AOL  AOL:
  • ICQ  ICQ:
  • MSN  MSN:
  • YIM  Yahoo IM:
Мнение #3 Skip to the next post in this topic.
Skip to the previous post in this topic. Написано на: Май 21 2008, 12:53

No avatar chosen




Група: Li maniacs
Мнения: 153
Регистриран: Февруари 2007

Оценка: няма

Offline
Ако не си опитал вече, можеш да опиташ с:
Код: 
su -c"echo 1 > /proc/sys/net/ipv4/ip_forward"

на машината с Дебиан.
( http://www.redhat.com/docs....11.html )

Редактирано от cdiem на Май 21 2008, 13:18
Контакти:  cdiem

  • AOL  AOL:
  • ICQ  ICQ:
  • MSN  MSN:
  • YIM  Yahoo IM:
WEB  
Мнение #4 Skip to the next post in this topic.
Skip to the previous post in this topic. Написано на: Май 22 2008, 00:11

No avatar chosen




Група: Li fans
Мнения: 7
Регистриран: Септември 2007

Оценка: няма

Offline
/proc/sys/net/ipv4/ip_forward е 1
altoas кажи от кой файл (или команда) какво да ти копирам.
Контакти:  No_root_No_cry
WEB  
Мнение #5 Skip to the next post in this topic.
Skip to the previous post in this topic. Написано на: Май 22 2008, 10:46

Avatar




Група: Li fans
Мнения: 763
Регистриран: Февруари 2008

Оценка: 5

Offline
искам да ми обясниш каква ти е логическата схема, откъде ти идва нета, какви са адресите, маски, пътища, през какво минава, неговите адреси и пътища и т.н. и докъде тр. да стигне, адреси и пътища

Контакти:  altoas

  • AOL  AOL:
  • ICQ  ICQ:
  • MSN  MSN:
  • YIM  Yahoo IM:
Мнение #6 Skip to the next post in this topic.
Skip to the previous post in this topic. Написано на: Май 22 2008, 16:43

No avatar chosen




Група: Li fans
Мнения: 7
Регистриран: Септември 2007

Оценка: няма

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

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

Code Sample: 
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

Code Sample: 
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


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

Code Sample: 
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

Code Sample: 
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

Code Sample: 
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

Code Sample: 
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

Code Sample: 
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
Контакти:  No_root_No_cry
WEB  
Мнение #7 Skip to the next post in this topic.
Skip to the previous post in this topic. Написано на: Май 23 2008, 11:56

Avatar




Група: Li fans
Мнения: 763
Регистриран: Февруари 2008

Оценка: 5

Offline
ако го тестваш от вътрешната мрежа е нормално да ти отвори страницата на рутера ти,
защото ти му оказваш да ДНАТ-ва пакетите които пристигат на 8080 порт по инт. етх1, но твоите пакети влизат по инт. етх0 и не отговарят по условието, пробвай от външна мрежа дали се получава., вариант е да махнеш условието за входящ интерфейс. в рутинг таблицата ако имаш проблем, пакетите изобщо няма да напускат мрежата.
в таблицата с IPTABLES са ти излишни всички редове за FILTER chain-a, безсмислено е да указваш правила за ACCEPT на пакети, когато POLICY-то на таблицата е ACCEPT, т.е. когато казваш приемай всички по подразбиране, няма смисъл да указваш допълнително, приемай и тези и тези, когато те се приемат и без това. има смисъл когато смениш POLICY-то на DROP, но тогава ще останеш без мрежа, най - малкото в OUTPUT трябва да разрешиш NEW, FORWARD - RELATED, ESTABLISHED, INPUT - NEW за всички портове които "слушат", и все пак не ти го препоръчвам. IPTABLES X ти е излишно, тъйкато с него се трият таблици, а ти не си правил такива или не правиш. ttl в PREROUTING можеш да го сложиш на 64, а не просто да го увеличаваш, не е фатално, но е препоръчително, ако след време пуснеш виртуална машина на някое от пц-тата, а ТТЛ на POSTROUTING го сложи на 128, колкото е на Windows по подразбиране. освен това не виждам защо си поставил и правило за -d x.x.x.x на PREROUTING-а за пренасочване на порт 8080, така или иначе пакетите които слизат по външният ти интерфейс са само за това ИП, освен ако не си закупил и други, но явно не си. а и интерфейса ти не е в PROMISCUS mode за да приема пакети за други ИП-та.

Контакти:  altoas

  • AOL  AOL:
  • ICQ  ICQ:
  • MSN  MSN:
  • YIM  Yahoo IM:
Мнение #8
Skip to the previous post in this topic. Написано на: Май 23 2008, 14:47

No avatar chosen




Група: Li fans
Мнения: 7
Регистриран: Септември 2007

Оценка: няма

Offline
Наистина, когато адреса се зареди от Интернет пренасочването работи :) Благодаря и се извинявам за ламерския въпрос!
Контакти:  No_root_No_cry
WEB  
Общо 7 отговор(а) от Май 20 2008, 19:25 до сега
 » Начало » Li Форуми » Help & Support » Networking » Проблем с port forwarding

© 2014 Linux Index Project
Powered by iF 1.0.0 © 2006 ikonForums