Решено: freedns и перенаправление с роутера на сервер

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

falselight
Сообщения: 10

Решено: freedns и перенаправление с роутера на сервер

Сообщение falselight »

Мой узел. PC_1[WinXPSP3] --> WL500gP (fw Oleg's 1.9.2.7) + ADSL Inet <-- PC_2[Home Serv Ubuntu 9.4]
собрал я inadyn через afraid, а теперь загвоздка в том, что домен ссылается на роутер, т.е. открывает интерфейс роутера. Как это исправить можно? Как можно перенаправить на ubuntu.
И если не секрет, подскажите как сделать, правильно чтобы на сервере можно было 2 и более сайтов держать.
если, есть какие-то альтернативные предложения готов выслушать
Спасибо сказали:
blackdevil
Бывший модератор
Сообщения: 2751
Статус: Добровольный помощник
ОС: Ubuntu (lts)

Re: Решено: freedns и перенаправление с роутера на сервер

Сообщение blackdevil »

iУведомление от модератора
Переношу тему в администрирование.
Простые решения для Ubuntu-подобных систем: смотрим тут
Спасибо сказали:
Аватара пользователя
danger08
Сообщения: 715
ОС: Linux (CentOS, Ubuntu)

Re: Решено: freedns и перенаправление с роутера на сервер

Сообщение danger08 »

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 и перенаправление с роутера на сервер

Сообщение falselight »

как правильно пробросить порт на домашний сервер, у меня там 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
Но через домен нечего не видно

конф апача

Код: Выделить всё

<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 и перенаправление с роутера на сервер

Сообщение danger08 »

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
Не совсем так. Входящие соединения из интернета идут не на "192.168.1.1" (адрес, назначенный роутеру в локальной сети), а на "белый" интернет-адрес. Если этот адрес статический - просто пропишите его в условии. Если динамический - напишите простой скрипт, определяющий текущий адрес на интерфейсе, и подставляющий его в условие "-d хх.хх.хх.хх".

falselight писал(а):
03.08.2009 17:02
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
Блогосайт - http://www.fateyev.com
Спасибо сказали:
falselight
Сообщения: 10

Re: Решено: freedns и перенаправление с роутера на сервер

Сообщение falselight »

Поповоду IP, у меня изменяется каждые 24 часа... Как же переменная будет обновляться? И какой скрипт нужно прописать я в linux не силен, и поэтому незнаю какая функция будет определять ип адрес..если не сложно объясните как это происходит обновление и т.п
Спасибо сказали:
falselight
Сообщения: 10

Re: Решено: freedns и перенаправление с роутера на сервер

Сообщение falselight »

сделал как тест...
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 и перенаправление с роутера на сервер

Сообщение danger08 »

falselight писал(а):
03.08.2009 18:13
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

Правила на роутере прописаны правильно, если:
- 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 и перенаправление с роутера на сервер

Сообщение falselight »

Также возможно, что провайдер блокирует входящий трафик на привилегированные порты.
Этот вопрос следует уточнить у его техподдержки.

дело в том, что я уже настраивал такой метод но сервером в данном случае был Роутер, у меня 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 и перенаправление с роутера на сервер

Сообщение falselight »

Все, открыл, спасибо за помощь, сделал это - на убунту-машине файерволом разрешен 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 на убунту, чтобы все заработало... это не опасно икак защетить сервер ?
Спасибо сказали:
Аватара пользователя
danger08
Сообщения: 715
ОС: Linux (CentOS, Ubuntu)

Re: Решено: freedns и перенаправление с роутера на сервер

Сообщение danger08 »

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 порт на вход/выход, остальные на ваше усмотрение (на веб-сервер не влияют).
Насчет защиты сервера - очень глобальная тема, достойная отдельных топиков :rolleyes:
Блогосайт - http://www.fateyev.com
Спасибо сказали:
falselight
Сообщения: 10

Re: Решено: freedns и перенаправление с роутера на сервер

Сообщение falselight »

вот проблема сейчас только в этом скрипте... я не знаю как его написать..я не знаю функцию которая бы определяла ip..все работает только это вот...мешает..полноценной автоматической работе.
Спасибо сказали:
Аватара пользователя
KiWi
Бывший модератор
Сообщения: 2521
Статус: статус, статус, статус

Re: Решено: freedns и перенаправление с роутера на сервер

Сообщение KiWi »

danger08 писал(а):
03.08.2009 20:24
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 можно не указывать. Достаточно указать интерфейс(и то не обязательно).
Спасибо сказали:
falselight
Сообщения: 10

Re: Решено: freedns и перенаправление с роутера на сервер

Сообщение falselight »

типа выглядеть будет так:?
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 и перенаправление с роутера на сервер

Сообщение danger08 »

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/ - в процессе много интересного узнаете :rolleyes:
и про допустимые параметры, и примеры использования..
Блогосайт - http://www.fateyev.com
Спасибо сказали:
falselight
Сообщения: 10

Re: Решено: freedns и перенаправление с роутера на сервер

Сообщение falselight »

В этоге все получилось!

Что я делал:

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
Спасибо сказали: