Bekijk de volledige versie : Еще раз вопрос про сайт на компе в обход роутера
Адрес роутера 192.168.1.1 Провайдер выдает адрес в локальной сети: 10.10.10.10
Адрес компа 192.168.1.2
В роутере поменял порты, чтобы web-интерфейс грузился по порту 8081.
По адресу http://10.10.10.10 загружается сайт, находящийся на роутере.
Как настроить роутер, чтобы при обращению из локальной сети по адресу http://10.10.10.10 загружался сайт с компьтера, а не с роутера.
Или например по адресу http://10.10.10.10:82 загружался сайт с компьютера, а по адресу http://10.10.10.10 с роутера.
Уже все перепробовал. Пытался настраивать Virtual Host, игрался с iptables. Ни чего не получается.
Хотелось бы увидет подробную инструкцию на эту тему. Уже голову сломал. Но знаний не хватает.
DemonGloom
18-01-2009, 07:09
У меня используется подобная конструкция:
iptables -I INPUT -m tcp -p tcp --dport 82 -j ACCEPT
iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 82 -j DNAT --to-destination 192.168.1.2:82
Либо можно --to-destination 192.168.1.2:80 , если сервер на компьютере запущен на стандартном порту.
У меня используется подобная конструкция:
iptables -I INPUT -m tcp -p tcp --dport 82 -j ACCEPT
iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 82 -j DNAT --to-destination 192.168.1.2:82
Либо можно --to-destination 192.168.1.2:80 , если сервер на компьютере запущен на стандартном порту.
не получилось
DemonGloom
18-01-2009, 15:26
Что показывает по 192.168.1.2:82?
Что показывает снаружи?
Что вообще говорит при этом?
Что показывает по 192.168.1.2:82?
Что показывает снаружи?
Что вообще говорит при этом?
По 192.168.1.2:82 грузится сайт
с наружи по 10.10.10.10:82 Страница не найдена
Мыслей по моей проблеме ни у кого нет ?
Как настроить роутер, чтобы при обращению из локальной сети по адресу http://10.10.10.10 загружался сайт с компьтера, а не с роутера.
Или например по адресу http://10.10.10.10:82 загружался сайт с компьютера, а по адресу http://10.10.10.10 с роутера.
Можно реализовать любой из этих вариантов. Но для первого понадобится определить, что подразумевается под "локальной сетью", а точнее - какие IP-адреса в неё входят.
Так какой вариант вам нужен?
а разве не настройки virtual server за это отвечают?
надо указать
portrange 80
local IP - адрес твоего компа с вебсервером в домашшней сети
local port 80
protocol tcp
всё должно чудесно работать
Можно реализовать любой из этих вариантов. Но для первого понадобится определить, что подразумевается под "локальной сетью", а точнее - какие IP-адреса в неё входят.
Так какой вариант вам нужен?
Локальная подсеть - 10.0.0.0
Мне тут мысль пришла: Просканировал порты программой из вне. В результате оказалось, что порт 80 открыт, порт 82 - закрыт.
добавил командой iptables порт 82:
iptables -I INPUT -p tcp --dport 82:82 -j ACCEPT
iptables -I INPUT -p udp --dport 82:82 -j ACCEPT
после этого iptables показывает, что вроде порт 82 открыт, но при сканировании портов видно что порт 82 всетаки закрыт.
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT udp -- anywhere anywhere udp dpt:82
ACCEPT tcp -- anywhere anywhere tcp dpt:82
ACCEPT udp -- anywhere anywhere udp dpts:mysql:3307
ACCEPT tcp -- anywhere anywhere tcp dpts:mysql:3307
ACCEPT udp -- anywhere anywhere udp dpts:51777:51780
ACCEPT tcp -- anywhere anywhere tcp dpts:51777:51780
DROP all -- anywhere anywhere state INVALID
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT all -- anywhere anywhere state NEW
ACCEPT all -- anywhere anywhere state NEW
Chain FORWARD (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere
DROP all -- anywhere anywhere state INVALID
TCPMSS tcp -- anywhere anywhere tcp flags:SYN,RST,ACK/SYN TCPMSS clamp to PMTU
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
DROP all -- anywhere anywhere
DROP all -- anywhere anywhere
ACCEPT all -- anywhere anywhere ctstate DNAT
ACCEPT all -- anywhere anywhere
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain MACS (0 references)
target prot opt source destination
Chain SECURITY (0 references)
target prot opt source destination
RETURN tcp -- anywhere anywhere tcp flags:SYN,RST,ACK/SYN limit: avg 1/sec burst 5
RETURN tcp -- anywhere anywhere tcp flags:FIN,SYN,RST,ACK/RST limit: avg 1/sec burst 5
RETURN udp -- anywhere anywhere limit: avg 5/sec burst 5
RETURN icmp -- anywhere anywhere limit: avg 5/sec burst 5
DROP all -- anywhere anywhere
Chain logaccept (0 references)
target prot opt source destination
LOG all -- anywhere anywhere state NEW LOG level warning tcp-sequence tcp-options ip-options prefix `ACCEPT '
ACCEPT all -- anywhere anywhere
Chain logdrop (0 references)
target prot opt source destination
LOG all -- anywhere anywhere state NEW LOG level warning tcp-sequence tcp-options ip-options prefix `DROP '
DROP all -- anywhere anywhere
или я все таки не в ту сторону копаю. Я уже ХЗ
Итак, допустим, что вам нужен первый вариант, то есть, чтобы при обращении из локальной сети (т.е. из диапазона 10.0.0.0/8, как я понял) по адресу http://10.10.10.10 загружался сайт с компьютера, а при обращении по тому же адресу из всех остальных мест - сайт с роутера.
1. Роутер. Настраиваем сайт на 80 порт (это сами). Открываем этот порт в iptables (если вы собираетесь туда заходить не только из своей сети)
iptables -I INPUT 1 -p tcp -m tcp --dport 80 -m state --state NEW -j ACCEPT
2. Компьютер. Настраиваем сайт на 80 порт (опять сами). Далее выполняем проброс порта 80 с роутера на комп при условии, что адрес источника входит в подсеть 10.0.0.0/8
iptables -t nat -I VSERVER 1 -p tcp -m tcp --dport 80 -s 10.0.0.0/8 -j DNAT --to-destination 192.168.1.2
Да, и при этом перенаправлений в Virtual server (через веб-интерфейс) добавлять не нужно.
Теперь должно работать.
Итак, допустим, что вам нужен первый вариант, то есть, чтобы при обращении из локальной сети (т.е. из диапазона 10.0.0.0/8, как я понял) по адресу http://10.10.10.10 загружался сайт с компьютера, а при обращении по тому же адресу из всех остальных мест - сайт с роутера.
1. Роутер. Настраиваем сайт на 80 порт (это сами). Открываем этот порт в iptables (если вы собираетесь туда заходить не только из своей сети)
iptables -I INPUT 1 -p tcp -m tcp --dport 80 -m state --state NEW -j ACCEPT
2. Компьютер. Настраиваем сайт на 80 порт (опять сами). Далее выполняем проброс порта 80 с роутера на комп при условии, что адрес источника входит в подсеть 10.0.0.0/8
iptables -t nat -I VSERVER 1 -p tcp -m tcp --dport 80 -s 10.0.0.0/8 -j DNAT --to-destination 192.168.1.2
Да, и при этом перенаправлений в Virtual server (через веб-интерфейс) добавлять не нужно.
Теперь должно работать.
Спасибо, все таки получилось, но только с 82 портом почему то, с 80 ни как