LINUX.ORG.RU
решено ФорумAdmin

проброс портов + ссылки


0

0

Пробрасываю порт следующим скриптом: порт пробрасывается, но не передается ссылка после порта. т.е

xx.xx.xx.xx:6060/ab/cd => 192.168.0.2:8080 (обрезает ab/cd) куда можно капнуть, или посоветуете что нибудь

#bin/bash EXT_IP=«xx.xx.xx.xx» # Наружный IP (в интернете)

EXT_PORT=6060 # Порт для проброса на шлюзе

INT_IP=«192.168.8.1» # Локальный IP шлюза

EXT_IF=ppp0 # Внешний интерфейс.

INT_IF=eth0 # Внутренний интерфейс.

LAN_IP=192.168.8.2 # Локальный адрес сервера передаём скрипту первым параметром,

LAN_PORT=8080 # а тип сервера, в смысле какой порт (или набор портов открывать - вторым

iptables -t nat -A PREROUTING --dst $EXT_IP -p tcp --dport $EXT_PORT -j DNAT --to-destination $LAN_IP:$LAN_PORT

iptables -t nat -A POSTROUTING --dst $LAN_IP -p tcp --dport $LAN_PORT -j SNAT --to-source $INT_IP

iptables -t nat -A OUTPUT --dst $EXT_IP -p tcp --dport $EXT_PORT -j DNAT --to-destination $LAN_IP:$LAN_PORT

iptables -I FORWARD 1 -i $EXT_IF -o $INT_IF -d $LAN_IP -p tcp -m tcp --dport $LAN_PORT -j ACCEPT

Ответ на: комментарий от et2000

mod_proxy не предел прогресса :)
А вообще, слишком мало информации.
Кастуй телепатов.

power ()
Ответ на: комментарий от anton_jugatsu

iptables-save
# Generated by iptables-save v1.4.2 on Mon Apr 19 14:48:21 2010
*nat
:PREROUTING ACCEPT [4634:263843]
:POSTROUTING ACCEPT [3327:210050]
:OUTPUT ACCEPT [2788:180328]
-A PREROUTING -d internet ip/32 -p tcp -m tcp --dport 8099 -j DNAT --to-destination 192.168.0.18:80
-A PREROUTING -d internet ip/32 -p tcp -m tcp --dport 6060 -j DNAT --to-destination 192.168.0.126:8080
-A POSTROUTING -s 192.168.0.0/24 -d ! internet ip/32 -p tcp -m tcp --dport 110 -j MASQUERADE
-A POSTROUTING -s 192.168.0.0/24 -d ! internet ip/32 -p tcp -m tcp --dport 25 -j MASQUERADE
-A POSTROUTING -s 192.168.0.0/24 -d ! internet ip/32 -p tcp -m tcp --dport 28805 -j MASQUERADE
-A POSTROUTING -d 192.168.0.18/32 -p tcp -m tcp --dport 80 -j SNAT --to-source 192.168.0.100
-A POSTROUTING -d 192.168.0.126/32 -p tcp -m tcp --dport 8072 -j SNAT --to-source 192.168.0.100
-A OUTPUT -d internet ip/32 -p tcp -m tcp --dport 8099 -j DNAT --to-destination 192.168.0.18:80
-A OUTPUT -d internet ip/32 -p tcp -m tcp --dport 6060 -j DNAT --to-destination 192.168.0.126:8080
COMMIT
# Completed on Mon Apr 19 14:48:21 2010
# Generated by iptables-save v1.4.2 on Mon Apr 19 14:48:21 2010
*mangle
:PREROUTING ACCEPT [132309:84113277]
:INPUT ACCEPT [128887:83515720]
:FORWARD ACCEPT [3417:590057]
:OUTPUT ACCEPT [113057:86036657]
:POSTROUTING ACCEPT [116546:86637829]
COMMIT
# Completed on Mon Apr 19 14:48:21 2010
# Generated by iptables-save v1.4.2 on Mon Apr 19 14:48:21 2010
*filter
:INPUT ACCEPT [128856:83513575]
:FORWARD ACCEPT [3417:590057]
:OUTPUT ACCEPT [113057:86036657]
-A INPUT -p tcp -m tcp --dport 10200 -j ACCEPT
-A INPUT -s 91.146.49.63/32 -p tcp -m tcp --dport 10200 -j ACCEPT
-A INPUT -s 192.168.0.0/24 -p tcp -m tcp --dport 80 -j DROP
-A INPUT -s ! 192.168.0.0/24 -p tcp -m tcp --dport 8181 -j DROP
-A FORWARD -d 192.168.0.126/32 -i ppp0 -o eth0 -p tcp -m tcp --dport 8072 -j ACCEPT
-A FORWARD -d 192.168.0.18/32 -i ppp0 -o eth0 -p tcp -m tcp --dport 80 -j ACCEPT
COMMIT
# Completed on Mon Apr 19 14:48:21 2010




iptables -nvL --line-numbers -t filter
Chain INPUT (policy ACCEPT 131K packets, 84M bytes)
num pkts bytes target prot opt in out source destination
1 31 2145 ACCEPT tcp  — * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:10200
2 0 0 DROP tcp  — * * 192.168.0.0/24 0.0.0.0/0 tcp dpt:80
3 0 0 DROP tcp  — * * !192.168.0.0/24 0.0.0.0/0 tcp dpt:8181

Chain FORWARD (policy ACCEPT 3455 packets, 592K bytes)
num pkts bytes target prot opt in out source destination
1 0 0 ACCEPT tcp  — ppp0 eth0 0.0.0.0/0 192.168.0.126 tcp dpt:8080
2 0 0 ACCEPT tcp  — ppp0 eth0 0.0.0.0/0 192.168.0.18 tcp dpt:80

Chain OUTPUT (policy ACCEPT 115K packets, 88M bytes)
num pkts bytes target prot opt in out source destination






iptables -nvL --line-numbers -t nat
Chain PREROUTING (policy ACCEPT 4728 packets, 269K bytes)
num pkts bytes target prot opt in out source destination
1 0 0 DNAT tcp  — * * 0.0.0.0/0 internet ip tcp dpt:8099 to:192.168.0.18:80
2 0 0 DNAT tcp  — * * 0.0.0.0/0 internet ip tcp dpt:6060 to:192.168.0.126:8080

Chain POSTROUTING (policy ACCEPT 3364 packets, 212K bytes)
num pkts bytes target prot opt in out source destination
1 84 4228 MASQUERADE tcp  — * * 192.168.0.0/24 !internet ip tcp dpt:110
2 48 2496 MASQUERADE tcp  — * * 192.168.0.0/24 !internet ip tcp dpt:25
3 0 0 MASQUERADE tcp  — * * 192.168.0.0/24 !internet ip tcp dpt:28805
4 0 0 SNAT tcp  — * * 0.0.0.0/0 192.168.0.18 tcp dpt:80 to:192.168.0.100
5 0 0 SNAT tcp  — * * 0.0.0.0/0 192.168.0.126 tcp dpt:8072 to:192.168.0.100

Chain OUTPUT (policy ACCEPT 2816 packets, 182K bytes)
num pkts bytes target prot opt in out source destination
1 0 0 DNAT tcp  — * * 0.0.0.0/0 internet ip tcp dpt:8099 to:192.168.0.18:80
2 0 0 DNAT tcp  — * * 0.0.0.0/0 internet ip tcp dpt:6060 to:192.168.0.126:8080







et2000 ()

то есть получается, если я ввожу <внешний ip>:8099/something/index.php я попадаю на 192.168.0.18/, да?

Похоже, что дело в настройке вебсервера, DNAT здесь не причём.

anton_jugatsu ★★★★ ()
Ответ на: комментарий от et2000

Всё таки машины внутри локалки, я думаю. На шлюзе то причём.

то есть получается, если я ввожу <внешний ip>:8099/something/index.php я попадаю на 192.168.0.18/, да?

я правильно понял проблему?

anton_jugatsu ★★★★ ()
Ответ на: комментарий от anton_jugatsu

всем спасибо проблема решилась - апач на шлюзе так обрабатывал ссылки - ссылкоед.

et2000 ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.