PDA

Bekijk de volledige versie : Внешний адрес с 80ым портом на внутренний адрес с 8081



SinSel
16-02-2008, 17:52
Как сделать так, чтобы из интернета набрав адрес abc.dyndns.org можно попасть на внутренний сервер, который работает на порту 8081?

post-firewall:


#!/bin/sh

iptables -D INPUT -j DROP
iptables -A INPUT -p tcp --dport 8081 -j ACCEPT
iptables -t nat -A PREROUTING -i vlan1 -p tcp --dport 8081 -j DNAT --to-destinatiopn $4:8081
iptables -A INPUT -j DROP

Так все работает, если указать в интернете порт 8081!

Тема уже обсуждалась, но решение так и не было указано.

Duke
16-02-2008, 20:08
Попробуй вот так исправить


iptables -A INPUT -p tcp -d $2 --dport 80 -j ACCEPT
iptables -t nat -A PREROUTING -i vlan1 -p tcp -d $2 --dport 80 -j DNAT --to-destinatiopn $4:8081

Vofik
16-02-2008, 20:22
http://wl500g.info/showthread.php?t=13045

lexass
16-02-2008, 20:41
Vofik, ты хоть понял о чем речь в этом топике? :mad:
хватит флудить...

SinSel
17-02-2008, 17:22
Попробуй вот так исправить


iptables -A INPUT -p tcp -d $2 --dport 80 -j ACCEPT
iptables -t nat -A PREROUTING -i vlan1 -p tcp -d $2 --dport 80 -j DNAT --to-destinatiopn $4:8081


Все равно лезет на админскую страницу (хотя внешний порт стоит 8080)... Может есть какие-то еще варианты?:confused:

Sheeft
17-02-2008, 17:33
Решение было найдено, у самого весел сайт на 80 порту, на thttpd был 1234... Поищи по форуму внимательнее, найдешь...

SinSel
17-02-2008, 18:00
Решение было найдено, у самого весел сайт на 80 порту, на thttpd был 1234... Поищи по форуму внимательнее, найдешь...

Уже искал, ничего конкретного не нашел, будь добр помоги решением. На форуме достаточно тяжело что-то искать - читать все 15 (а то и больше) страниц тем зачастую бывает невозможным, а тем более отыскать конкретно решение своей проблемы и подавно. Мне кажется надо копать в сторону post-firewall, не поленись скинуть свой. Заранее спасибо!

Sheeft
17-02-2008, 19:02
У меня был такой (с 1234 на 8081 уже поправил) :)

Сейчас мучаюсь с ошибками роутера, походу проблемы с железом :-)

#!/bin/sh
iptables -I INPUT -p tcp --dport 21 -j ACCEPT

iptables -D INPUT -j DROP
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -i tun+ -j ACCEPT
iptables -t nat -A PREROUTING -i vlan1 -p tcp --dport 21 -j DNAT --to-destination $4:21
iptables -A FORWARD -i tun+ -j ACCEPT

iptables -t nat -I PREROUTING 1 -p tcp -d "$2" --dport 80 -j DNAT --to "$2":8081
iptables -t nat -D PREROUTING -i "$1" -p tcp --dport 80 -j DROP iptables -t nat -I PREROUTING 2 -i "$1" -p tcp --dport 8081 -j DROP
iptables -I INPUT 1 -i "$1" -d "$2" -p tcp --syn --dport 8081 -j ACCEPT

iptables -A INPUT -j DROP

Serge_K
17-02-2008, 19:09
Как сделать так, чтобы из интернета набрав адрес abc.dyndns.org можно попасть на внутренний сервер, который работает на порту 8081?
Может это:
http://wl500g.info/showthread.php?t=12234&highlight=%D1%F2%F0%E8%EC+%E1%EB%EE%EA%E8%F0%F3%E5 %F2

al37919
17-02-2008, 19:15
А может еще проще переназначить порт веб-морды?:

nvram set http_lanport=8080
nvram commit

Кстати, форвардинг порта безусловно тоже должен работать. Предлагаю свой вариант (IMHO в варианте от Duke ошибка в первой строке):

iptables -A INPUT -p tcp --dport 8081 -j ACCEPT
iptables -t nat -A PREROUTING -i $1 -p tcp --dport 80 -j DNAT --to-destination $4:8081

SinSel
17-02-2008, 20:40
!!!РАБОЧИЙ ВАРИАНТ!!!



Кстати, форвардинг порта безусловно тоже должен работать. Предлагаю свой вариант (IMHO в варианте от Duke ошибка в первой строке):

iptables -A INPUT -p tcp --dport 8081 -j ACCEPT
iptables -t nat -A PREROUTING -i $1 -p tcp --dport 80 -j DNAT --to-destination $4:8081

Такой вариант сработал! Большое спасибо, даже и не понадобилось изменять порт веб-морды!

Duke
18-02-2008, 06:10
Ошибка не в первой а во второй только, пропустил -i vlan1, а это при ppp-тырнете естественно не сработает снаружи.

al37919
18-02-2008, 07:11
Ошибка не в первой а во второй только, пропустил -i vlan1, а это при ppp-тырнете естественно не сработает снаружи.
ошибка в том, что акцептовать надо не 80, а 8081 ;)

karter
18-02-2008, 07:49
в интернет файрволе либо отключить веб морду роутера либо поставить на порт отличный от 80 и добавить вот это в пост файрволл


iptables -D INPUT -j DROP
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -i tun+ -j ACCEPT
iptables -t nat -A PREROUTING -i vlan1 -p tcp --dport 80 -j DNAT --to-destination $4:8081
iptables -A FORWARD -i tun+ -j ACCEPT

в таком варианте у меня работает прекрасно ......

Duke
18-02-2008, 12:12
ошибка в том, что акцептовать надо не 80, а 8081 ;)
Угу, точняк, порядок прохода цепочек не учел ;)

karter
Интернет как подключен?

karter
20-02-2008, 20:39
Угу, точняк, порядок прохода цепочек не учел ;)

karter
Интернет как подключен?

PPTP .... но сайт я разглядываю из домовой сети которая подключена постоянно.