Попробуй вот так исправить
Code: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
Как сделать так, чтобы из интернета набрав адрес abc.dyndns.org можно попасть на внутренний сервер, который работает на порту 8081?
post-firewall:
Так все работает, если указать в интернете порт 8081!PHP Code:
#!/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
Тема уже обсуждалась, но решение так и не было указано.
Last edited by SinSel; 16-02-2008 at 17:24.
Попробуй вот так исправить
Code: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, ты хоть понял о чем речь в этом топике?
хватит флудить...
С уважением, lex.
Решение было найдено, у самого весел сайт на 80 порту, на thttpd был 1234... Поищи по форуму внимательнее, найдешь...
ASUS wl500g Premium / Seagate 400 GB Sata (3.5")
Уже искал, ничего конкретного не нашел, будь добр помоги решением. На форуме достаточно тяжело что-то искать - читать все 15 (а то и больше) страниц тем зачастую бывает невозможным, а тем более отыскать конкретно решение своей проблемы и подавно. Мне кажется надо копать в сторону post-firewall, не поленись скинуть свой. Заранее спасибо!
У меня был такой (с 1234 на 8081 уже поправил)
Сейчас мучаюсь с ошибками роутера, походу проблемы с железом :-)
Code:#!/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
ASUS wl500g Premium / Seagate 400 GB Sata (3.5")
А может еще проще переназначить порт веб-морды?:
Кстати, форвардинг порта безусловно тоже должен работать. Предлагаю свой вариант (IMHO в варианте от Duke ошибка в первой строке):PHP Code:
nvram set http_lanport=8080
nvram commit
PHP Code:
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
Last edited by al37919; 17-02-2008 at 18:29.
Ошибка не в первой а во второй только, пропустил -i vlan1, а это при ppp-тырнете естественно не сработает снаружи.
в интернет файрволе либо отключить веб морду роутера либо поставить на порт отличный от 80 и добавить вот это в пост файрволл
в таком варианте у меня работает прекрасно ......Code: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