PDA

Bekijk de volledige versie : Еще раз вопрос про сайт на компе в обход роутера



rboiko
17-01-2009, 18:14
Адрес роутера 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 , если сервер на компьютере запущен на стандартном порту.

rboiko
18-01-2009, 13:07
У меня используется подобная конструкция:

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?
Что показывает снаружи?
Что вообще говорит при этом?

rboiko
18-01-2009, 18:44
Что показывает по 192.168.1.2:82?
Что показывает снаружи?
Что вообще говорит при этом?

По 192.168.1.2:82 грузится сайт
с наружи по 10.10.10.10:82 Страница не найдена

rboiko
20-01-2009, 13:30
Мыслей по моей проблеме ни у кого нет ?

Power
20-01-2009, 19:29
Как настроить роутер, чтобы при обращению из локальной сети по адресу http://10.10.10.10 загружался сайт с компьтера, а не с роутера.
Или например по адресу http://10.10.10.10:82 загружался сайт с компьютера, а по адресу http://10.10.10.10 с роутера.


Можно реализовать любой из этих вариантов. Но для первого понадобится определить, что подразумевается под "локальной сетью", а точнее - какие IP-адреса в неё входят.
Так какой вариант вам нужен?

Escoode
20-01-2009, 21:18
а разве не настройки virtual server за это отвечают?
надо указать
portrange 80
local IP - адрес твоего компа с вебсервером в домашшней сети
local port 80
protocol tcp

всё должно чудесно работать

rboiko
21-01-2009, 11:31
Можно реализовать любой из этих вариантов. Но для первого понадобится определить, что подразумевается под "локальной сетью", а точнее - какие 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

или я все таки не в ту сторону копаю. Я уже ХЗ

Power
21-01-2009, 23:42
Итак, допустим, что вам нужен первый вариант, то есть, чтобы при обращении из локальной сети (т.е. из диапазона 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 (через веб-интерфейс) добавлять не нужно.
Теперь должно работать.

rboiko
25-01-2009, 13:46
Итак, допустим, что вам нужен первый вариант, то есть, чтобы при обращении из локальной сети (т.е. из диапазона 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 ни как