Решено: freedns и перенаправление с роутера на сервер
Модераторы: SLEDopit, Модераторы разделов
-
falselight
- Сообщения: 10
Решено: freedns и перенаправление с роутера на сервер
Мой узел. PC_1[WinXPSP3] --> WL500gP (fw Oleg's 1.9.2.7) + ADSL Inet <-- PC_2[Home Serv Ubuntu 9.4]
собрал я inadyn через afraid, а теперь загвоздка в том, что домен ссылается на роутер, т.е. открывает интерфейс роутера. Как это исправить можно? Как можно перенаправить на ubuntu.
И если не секрет, подскажите как сделать, правильно чтобы на сервере можно было 2 и более сайтов держать.
если, есть какие-то альтернативные предложения готов выслушать
собрал я inadyn через afraid, а теперь загвоздка в том, что домен ссылается на роутер, т.е. открывает интерфейс роутера. Как это исправить можно? Как можно перенаправить на ubuntu.
И если не секрет, подскажите как сделать, правильно чтобы на сервере можно было 2 и более сайтов держать.
если, есть какие-то альтернативные предложения готов выслушать
-
blackdevil
- Бывший модератор
- Сообщения: 2751
- Статус: Добровольный помощник
- ОС: Ubuntu (lts)
Re: Решено: freedns и перенаправление с роутера на сервер
i Уведомление от модератора Переношу тему в администрирование.
Простые решения для Ubuntu-подобных систем: смотрим тут
-
danger08
- Сообщения: 715
- ОС: Linux (CentOS, Ubuntu)
Re: Решено: freedns и перенаправление с роутера на сервер
falselight писал(а): ↑03.08.2009 13:41Мой узел. PC_1[WinXPSP3] --> WL500gP (fw Oleg's 1.9.2.7) + ADSL Inet <-- PC_2[Home Serv Ubuntu 9.4]
собрал я inadyn через afraid, а теперь загвоздка в том, что домен ссылается на роутер, т.е. открывает интерфейс роутера. Как это исправить можно? Как можно перенаправить на ubuntu.
Если на роутере поднят NAT, то закономерно, что домен ссылается на "белый" IP-адрес роутера.
Ничего вы здесь не измените - "убунту-комп" имеет адрес локальной сети, который не доступен из интернета напрямую.
Обходной путь: назначьте проброс портов с роутера в вашу локальную сеть, на компьютер с убунту.
Т.е, если сделать DNAT порта 80/tcp с "белого IP" роутера на "убунту-компьютер", то обращаясь по http://ваше_доменное_имя - будете попадать на убунту в локальной сети.
falselight писал(а): ↑03.08.2009 13:41И если не секрет, подскажите как сделать, правильно чтобы на сервере можно было 2 и более сайтов держать.
Читайте про виртуальные хосты на HTTP, потом поднимайте на убунте два виртуальных хоста, и регистрируйте за роутером сразу два доменных имени (с настроенным пробросом портов с роутера на убунту).
Блогосайт - http://www.fateyev.com
-
falselight
- Сообщения: 10
Re: Решено: freedns и перенаправление с роутера на сервер
как правильно пробросить порт на домашний сервер, у меня там WEB сервер. Хочу открыть доступ во внешку пор 80, я убрал 80 порт из вебморды роутера, теперь попытался перебросить таким способом
я прописал так:
iptables -t nat -A PREROUTING -p tcp -d 192.168.1.1 --dport 80 -j DNAT --to-destination 192.168.1.3:80
iptables -A FORWARD -i eth0 -d 192.168.1.3 -p tcp --dport 80 -j ACCEPT
Вроди как правильно все..но:
192.168.1.1 - Роутер - видно WEB 192.168.1.3, т.е. как бы перенаправил..
192.168.1.3 - Убунту - видно WEB
Но через домен нечего не видно
конф апача
я прописал так:
iptables -t nat -A PREROUTING -p tcp -d 192.168.1.1 --dport 80 -j DNAT --to-destination 192.168.1.3:80
iptables -A FORWARD -i eth0 -d 192.168.1.3 -p tcp --dport 80 -j ACCEPT
Вроди как правильно все..но:
192.168.1.1 - Роутер - видно WEB 192.168.1.3, т.е. как бы перенаправил..
192.168.1.3 - Убунту - видно WEB
Но через домен нечего не видно
конф апача
Код: Выделить всё
<VirtualHost *:80>
ServerName default
</VirtualHost>
<VirtualHost *:80>
ServerName localhost
ServerAlias localhost
DocumentRoot /var/www/localhost
ErrorLog /var/log/apache2/localhost-error.log
TransferLog /var/log/apache2/localhost-access.log
</VirtualHost>
<VirtualHost *:80>
ServerName 192.168.1.3
ServerAlias 192.168.1.3
DocumentRoot /var/www/localhost
ErrorLog /var/log/apache2/localhost-error.log
TransferLog /var/log/apache2/localhost-access.log
</VirtualHost>
<VirtualHost *:80>
ServerName 192.168.1.1
ServerAlias 192.168.1.1
DocumentRoot /var/www/localhost
ErrorLog /var/log/apache2/localhost-error.log
TransferLog /var/log/apache2/localhost-access.log
</VirtualHost>
<VirtualHost *:80>
ServerName мойдомен.net
ServerAlias мойдомен.net
DocumentRoot /var/www/localhost
ErrorLog /var/log/apache2/localhost-error.log
TransferLog /var/log/apache2/localhost-access.log
</VirtualHost>-
danger08
- Сообщения: 715
- ОС: Linux (CentOS, Ubuntu)
Re: Решено: freedns и перенаправление с роутера на сервер
Не совсем так. Входящие соединения из интернета идут не на "192.168.1.1" (адрес, назначенный роутеру в локальной сети), а на "белый" интернет-адрес. Если этот адрес статический - просто пропишите его в условии. Если динамический - напишите простой скрипт, определяющий текущий адрес на интерфейсе, и подставляющий его в условие "-d хх.хх.хх.хх".falselight писал(а): ↑03.08.2009 17:02как правильно пробросить порт на домашний сервер, у меня там WEB сервер. Хочу открыть доступ во внешку пор 80, я убрал 80 порт из вебморды роутера, теперь попытался перебросить таким способом
я прописал так:
iptables -t nat -A PREROUTING -p tcp -d 192.168.1.1 --dport 80 -j DNAT --to-destination 192.168.1.3:80
Еще надо "выпускать" соединения от веб-сервера, связанные с уже установленными. Т.е на роутере добавить:falselight писал(а): ↑03.08.2009 17:02iptables -A FORWARD -i eth0 -d 192.168.1.3 -p tcp --dport 80 -j ACCEPT
Код: Выделить всё
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPTБлогосайт - http://www.fateyev.com
-
falselight
- Сообщения: 10
Re: Решено: freedns и перенаправление с роутера на сервер
Поповоду IP, у меня изменяется каждые 24 часа... Как же переменная будет обновляться? И какой скрипт нужно прописать я в linux не силен, и поэтому незнаю какая функция будет определять ип адрес..если не сложно объясните как это происходит обновление и т.п
-
falselight
- Сообщения: 10
Re: Решено: freedns и перенаправление с роутера на сервер
сделал как тест...
iptables -t nat -A PREROUTING -p tcp -d 94.178.215.233 --dport 80 -j DNAT --to-destination 192.168.1.3:80
iptables -A FORWARD -i eth0 -d 192.168.1.3 -p tcp --dport 80 -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
просил чтобы проверели - пишут что не работет.. =(
но а я вижу..
iptables -t nat -A PREROUTING -p tcp -d 94.178.215.233 --dport 80 -j DNAT --to-destination 192.168.1.3:80
iptables -A FORWARD -i eth0 -d 192.168.1.3 -p tcp --dport 80 -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
просил чтобы проверели - пишут что не работет.. =(
но а я вижу..
-
danger08
- Сообщения: 715
- ОС: Linux (CentOS, Ubuntu)
Re: Решено: freedns и перенаправление с роутера на сервер
falselight писал(а): ↑03.08.2009 18:13iptables -t nat -A PREROUTING -p tcp -d 94.178.215.233 --dport 80 -j DNAT --to-destination 192.168.1.3:80
iptables -A FORWARD -i eth0 -d 192.168.1.3 -p tcp --dport 80 -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
Правила на роутере прописаны правильно, если:
- eth0 "смотрит" в сторону провайдера;
- 94.178.215.233 ваш действительный IP-адрес на интерфейсе eth0;
- убунту-машине назначен шлюзом роутер 192.168.1.1;
- на убунту-машине файерволом разрешен OUTPUT с порта 80 и INPUT туда же;
- на роутере нет каких-либо дополнительных правил с большим пиоритетом, могущих заблокировать ваш транзитный трафик;
- транзитный трафик попадает под правило SNAT (или MASQUERADE) на выходе из eth0.
Вообще, желательно включить логирование пакетов (действие LOG) и посмотреть, что реально приходит на роутер при запросе.
falselight писал(а): ↑03.08.2009 18:13просил чтобы проверели - пишут что не работет.. =(
но а я вижу..
Также возможно, что провайдер блокирует входящий трафик на привилегированные порты.
Этот вопрос следует уточнить у его техподдержки.
Блогосайт - http://www.fateyev.com
-
falselight
- Сообщения: 10
Re: Решено: freedns и перенаправление с роутера на сервер
Также возможно, что провайдер блокирует входящий трафик на привилегированные порты.
Этот вопрос следует уточнить у его техподдержки.
дело в том, что я уже настраивал такой метод но сервером в данном случае был Роутер, у меня WL500gp, в нем был WEB сервер связка, апач,пхп,мускуль
только что звонил и провайдер УКРтелеком, сказали, что блокировок нет
вот мой роутер:
Код: Выделить всё
[admin@WL-001FC6621E56 root]$ iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
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
ACCEPT tcp -- anywhere WL-001FC6621E56 tcp dpt:www
ACCEPT tcp -- anywhere anywhere tcp dpt:ftp
DROP all -- anywhere anywhere
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
DROP all -- anywhere anywhere
ACCEPT tcp -- anywhere 192.168.1.3 tcp dpt:www
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
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-
falselight
- Сообщения: 10
Re: Решено: freedns и перенаправление с роутера на сервер
Все, открыл, спасибо за помощь, сделал это - на убунту-машине файерволом разрешен OUTPUT с порта 80 и INPUT туда же;
Есть парочка вопрос, это как сделать, чтобы в iptables -t nat -A PREROUTING -p tcp -d 95.135.10.27 --dport 80 -j DNAT --to-destination 192.168.1.3:80
изменялся каждый час мои ип (какую функцию использовать?), вернее обновлялся, потому, что провайдер глушит каждый час, и еще я открыл пор 80 на убунту, чтобы все заработало... это не опасно икак защетить сервер ?
Есть парочка вопрос, это как сделать, чтобы в iptables -t nat -A PREROUTING -p tcp -d 95.135.10.27 --dport 80 -j DNAT --to-destination 192.168.1.3:80
изменялся каждый час мои ип (какую функцию использовать?), вернее обновлялся, потому, что провайдер глушит каждый час, и еще я открыл пор 80 на убунту, чтобы все заработало... это не опасно икак защетить сервер ?
-
danger08
- Сообщения: 715
- ОС: Linux (CentOS, Ubuntu)
Re: Решено: freedns и перенаправление с роутера на сервер
falselight писал(а): ↑03.08.2009 19:44как сделать, чтобы в iptables -t nat -A PREROUTING -p tcp -d 95.135.10.27 --dport 80 -j DNAT --to-destination 192.168.1.3:80
изменялся каждый час мои ип (какую функцию использовать?), вернее обновлялся,
Даю наводку: по крону вызывать скрипт, с нужной периодичностью (например, раз в полчаса).
А в скрипте, определяете текущий "реальный IP-адрес" и смотрите, изменился ли он с момента последнего вызова.
Если изменился, то модифицируете определенное правило, отвечающее за проброс порта:
Код: Выделить всё
iptables -t nat -R PREROUTING 1 -p tcp -d $MY_NEW_IP --dport 80 -j DNAT --to-destination 192.168.1.3:80Кстати, можно сделать немного по-другому, без проброса портов...
Настроить http-сервер на роутере как прокси, чтоб за реальным контентом обращался к 192.168.1.3.
Тоже неплохой вариант.
falselight писал(а): ↑03.08.2009 19:44я открыл пор 80 на убунту, чтобы все заработало... это не опасно икак защетить сервер ?
Открывать порт надо в любом случае, иначе http-сервер на убунту-машине для внешних пользователей не будет работать.
Достаточно открыть только 80/tcp порт на вход/выход, остальные на ваше усмотрение (на веб-сервер не влияют).
Насчет защиты сервера - очень глобальная тема, достойная отдельных топиков
Блогосайт - http://www.fateyev.com
-
falselight
- Сообщения: 10
Re: Решено: freedns и перенаправление с роутера на сервер
вот проблема сейчас только в этом скрипте... я не знаю как его написать..я не знаю функцию которая бы определяла ip..все работает только это вот...мешает..полноценной автоматической работе.
-
KiWi
- Бывший модератор
- Сообщения: 2521
- Статус: статус, статус, статус
Re: Решено: freedns и перенаправление с роутера на сервер
danger08 писал(а): ↑03.08.2009 20:24falselight писал(а): ↑03.08.2009 19:44как сделать, чтобы в iptables -t nat -A PREROUTING -p tcp -d 95.135.10.27 --dport 80 -j DNAT --to-destination 192.168.1.3:80
изменялся каждый час мои ип (какую функцию использовать?), вернее обновлялся,
Даю наводку: по крону вызывать скрипт, с нужной периодичностью (например, раз в полчаса).
Даю ещё большую наводку -- IP можно не указывать. Достаточно указать интерфейс(и то не обязательно).
-
falselight
- Сообщения: 10
Re: Решено: freedns и перенаправление с роутера на сервер
типа выглядеть будет так:?
iptables -t nat -A PREROUTING -p tcp -d ppp0 --dport 80 -j DNAT --to-destination 192.168.1.3:80 ?
iptables -t nat -A PREROUTING -p tcp -d ppp0 --dport 80 -j DNAT --to-destination 192.168.1.3:80 ?
-
danger08
- Сообщения: 715
- ОС: Linux (CentOS, Ubuntu)
Re: Решено: freedns и перенаправление с роутера на сервер
falselight писал(а): ↑04.08.2009 02:56типа выглядеть будет так:?
iptables -t nat -A PREROUTING -p tcp -d ppp0 --dport 80 -j DNAT --to-destination 192.168.1.3:80 ?
читайте http://www.opennet.ru/docs/RUS/iptables/ - в процессе много интересного узнаете
и про допустимые параметры, и примеры использования..
Блогосайт - http://www.fateyev.com
-
falselight
- Сообщения: 10
Re: Решено: freedns и перенаправление с роутера на сервер
В этоге все получилось!
Что я делал:
1. Зарегистрировался на freedns.afrain.org и добавил всеи домены.
2. Создал на Ubuntu связку Apache+PHP+MySQL
3. В Apache настроил виртуальные сервера
4. В роутере сделал пере направление на Ubuntu serv.
/tmp/local/sbin/post-firewall добавил
В ububntu открыл INPUT/OUTPUT порт 80.
все работает.! Спасибо danger08
Что я делал:
1. Зарегистрировался на freedns.afrain.org и добавил всеи домены.
2. Создал на Ubuntu связку Apache+PHP+MySQL
3. В Apache настроил виртуальные сервера
4. В роутере сделал пере направление на Ubuntu serv.
/tmp/local/sbin/post-firewall добавил
Код: Выделить всё
WAN_IP=`nvram get wan0_ipaddr`
iptables -t nat -A PREROUTING -p tcp -d $WAN_IP --dport 80 -j DNAT --to-destination 192.168.1.3:80
iptables -A FORWARD -i eth0 -d 192.168.1.3 -p tcp --dport 80 -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPTВ ububntu открыл INPUT/OUTPUT порт 80.
все работает.! Спасибо danger08