- Домашний хостинг сайтов с динамическим IP
- Что делать?
- Используем сервисы которые предоставляют нам DNS-хостинг
- Используем собственный DNS-сервер в связке с DDNS-доменом
- Вывод
- Как настроить доменное имя к своему серверу?
- Как настроить доменное имя к своему серверу?
- На примере Яндекс.Коннект
- Настройка перенаправлений
- Проверка порта
- Как настроить домен для собственного сервера?
- Как привязать домен к VPS/VDS
- Регистрация домена на хостинге
- Использование DNS-серверов регистратора
- Читайте также
- Создание DNS на своем VDS
- Поиск DNS
Домашний хостинг сайтов с динамическим IP
У меня (как и у многих web-разработчиков) имеется с десяток сайтов которые необходимо где-то размещать (хостить).
Сайты практически не приносят прибыли, поскольку это какие-то старые работы (по разным причинам не пошедшие в продакшн), домашняя страница, сайт заведенный красивой почты и тому подобное. Но в то же время эти сайты жалко бросать, а потому приходится каждый месяц на них тратить вполне реальные деньги чтобы покупать хостинг. Деньги, прямо скажем небольшие, но тем не менее их жалко, поскольку отдачи от сайтов никакой нет.
В то-же время в наличии имеется:
- Домашний сервер на Ubuntu
- Быстрый ethernet-интернет от МТС
Но не имеется ключевого — статического IP. Если бы он был, то все было-бы намного проще и данную статью я бы точно не писал. А выдавать статический IP мой МТС абсолютно не желает (если только я не подключусь как бизнес-клиент).
Разумеется есть всем известные Dynamic DNS сервисы вроде noip.com, но они успешно решают лишь задачу удаленного доступа к нашему серверу (по SSH или FTP), но для хостинга совершенно нам не подходят, поскольку в настройках домена на DNS-сервере нам нужно обязательно прописать A-запись с реальным IP-адресом (а не ссылку на наш виртуальный домен).
Что делать?
Я не буду останавливаться на том, как настроить linux сервер (и тем более как его выбрать), поскольку предполагаю, что он у вас уже есть. Также я не буду подробно расписывать настройки nginx и Apache, поскольку опять-таки предполагаю, что вы с этим справитесь самостоятельно.
Первое с чем у меня возникли проблемы — это как перенаправить посетителей с моих доменов (у меня есть 2 домена) на мой домашний сервер. То есть чтобы клиент который набрал domain.com попал ровно на мой домашний сервер с учетом того, что на нем каждый день меняется IP-адрес.
Для решения нам нужно настроить DNS-сервер, а именно следующие записи: SOA, NS, MX, A, CNAME. Важно чтобы мы имели возможность настройкой TTL (time to live), поскольку время жизни наших записей должно быть очень небольшим, буквально 60-120 секунд. В противном случае при смене IP-адреса сервера пользователи долго не смогут попасть на наш сервер (из-за кеширования).
Итак, нам нужен DNS сервер, варианты решения:
- Используем сервисы которые предоставляют нам DNS-хостинг
- Используем собственный DNS-сервер в связке с DDNS-доменом
Рассмотрим оба варианта.
Используем сервисы которые предоставляют нам DNS-хостинг
Для этого есть ряд бесплатных сервисов, из которых самым популярным является freedns.afraid.org. На таких сервисах можно добавить свой домен(ы) и получить возможность через API обновлять у них A-запись при помощи небольшого скрипта.
Выглядит вполне неплохо, но подвох в том, что эти сервисы оставляют за собой право довешивать к вашему домену поддомены третьего уровня. То есть вы зарегистрировали у них user.ru, а они спокойно довешают свои сайты вида hello.user.ru, shop.user.ru и так далее. Разумеется от этого можно отказаться, но… за деньги. Платить деньги за такие сервисы смысла я не вижу, поскольку за сравнимые деньги вы можете купить полноценный хостинг на каком-нибудь провайдере без всяких плясок вокруг DNS настроек.
Остальные сервисы рассматривать не будем, а сосредоточимся на втором варианте.
Используем собственный DNS-сервер в связке с DDNS-доменом
Для этого варианта у нас, во-первых, должен быть DDNS-домен (который обновляется при смене IP), например, domain.ddns.net, а во-вторых, придется установить и настроить BIND на нашем сервере.
Всего необходимо сделать ровно 5 шагов. Везде под словами «domain» или «domain.ru» подразумевается ваше имя домена (короткое или полное).
1. Настроить 2 или 3 DDNS-поддомена
Почему 2 или 3? Потому, что ряд регистрантов не разрешит вам использовать домен только с одним NS-сервером. Самое обидно, что не все про это скажут — ваш домен просто не будет работать, но вы не будете понимать почему.
Тут все просто — идем на noip.com, там регистрируем аккаунт и добавляем 3 бесплатных поддомена (больше 3 не даст).
2. Настраиваем собственный DNS-сервер
Создаем зоны (по одной зоне на каждый наш домен):
и собственно файл с настройками зоны:
Примечание: обращаю внимание, что TTL устанавливаем равным 60 секунд. В файле /etc/bind/named.conf.local добавляем подключение нашей зоны:
Все, рестартуем BIND:
И глянем /var/log/syslog чтобы там не было сообщений об ошибках
3. Настроить наш домен(ы)
Идем в панель управления регистратора и там в настройках нашего домена в качестве NS-серверов указываем созданные DDNS-поддомены:
После этого возможно придется подождать несколько часов (или даже сутки) пока настройки среплицируются между всеми серверами.
4. Настроить периодическое обновление IP-адресов
Мой роутер поддерживает обновление IP-адреса на одном домене, но мне нужно это делать сразу для 3-х доменов. Плюс нам надо обновлять IP-адрес в конфиге BIND’а, поэтому напишем скрипт который будет делать:
- Определять наш внешний IP-адрес
- Проверять изменился ли IP адрес, если не изменился, то ничего делать не надо
- Обновлять IP-адрес у всех DDNS-поддоменов через API сервиса noip.com
- Прописывать новый IP адрес в конфиг BIND’а
- Перезапускать BIND
Сам скрипт пусть будет на шелле:
Скрипт нужно запускать под рутом (чтобы ему хватило прав обновлять конфиги BIND’а и рестартовать его). Добавляем в crontab рута его запуск каждую минуту:
Пару слов про определение текущего IP-адреса. В скрипте выше это делается через резолвинг DDNS-поддомена domain.ddns.net. То есть сначала наш роутер его туда прописывает, а потом мы читаем. Это не очень хороший вариант, поскольку мы завязываемся на роутер и можем потерять несколько минут пока на DDNS-поддомене обновится IP-адрес на актуальный. Все это время наш сервер будет недоступен.
Поэтому у себя я использовал улучшенный вариант, который заодно не лазит в интернет:
В данном варианте мы загружаем главную страницу роутера (через http), дальше регэкспом находим на ней текущий IP-адрес. Разумеется, этот вариант подходит далеко не всем, но на DD-WRT прошивках работает.
5. Настройка роутера
Про необходимость настроить обращение к DDNS-сервису я уже писал, но еще не забывайте про необходимость настроить форвардинг портов на вашем роутере:
- HTTP — TCP, 80-ый порт
- DNS — TCP+UDP, 53 порт
Вывод
Итак, что я получил в итоге:
- Мои сайты живут на домашнем сервере, за который я никому не плачу;
- Мои домены резолвятся через мой собственный DNS-сервер, время жизни записей 1 минута, то есть обновление происходит очень быстро;
- В качестве NS-записей указаны не реальные IP-адреса (которые у меня часто меняются), а DDNS-поддомены;
- Актуальность записей в DDNS-поддоменах и в конфиге моего DNS-сервера обеспечивается автоматически, без какого-либо вмешательства со моей стороны.
По моим замерам, когда МТС (мой провайдер) обновляет мне IP-адрес, то мои сайты начинают работать спустя где-то 2 минуты. Это вполне приемлемо для меня.
Источник
Как настроить доменное имя к своему серверу?
Как настроить доменное имя к своему серверу?
Продолжение статьи с моего портала blggr.ru
В предыдущей статье мы подробно рассказали, как создать свой web сервер и установить на него популярные CMS системы.
А теперь расскажем, как соединить свой сервер с доменным именем!
Важное условие, нам необходим прямой статический (фиксированный) ip адрес. Поэтому подключите услугу со статическим ip адресом у вашего провайдера.
Нам понадобится купленное доменное имя, у которого необходимо настроить NS серверы на dns сервер, в котором вы сможете сделать собственные записи. Как правило во всех компаниях продающих доменные имена, имеется такая возможность. В настройках вашего домена пропишите NS адреса нужного вам сервера. Например, у регистратора REG.RU есть бесплатные dns серверы и инструкция . Но она подходит только тем, кто приобрел у них домен.
Если же у регистратора отсутствуют бесплатные dns сервисы, воспользуемся Яндекс.Коннект. Пропишем в настройках домена адреса днс серверов Яндекс. После этого можем переходить к следующему шагу.
На примере Яндекс.Коннект
Начнем с того, что авторизуемся в системе Яндекс.Коннект . Затем создадим новую организацию и укажем ей желаемое имя (может совпадать с названием домена). После небольшого приветствия, появится возможность добавить новый домен, что мы и сделаем.
После создания домена в Яндекс.Коннект , входим в админку, выбираем «управление DNS» , нажимаем добавить DNS-запись. Создадим запись типа «А» с такими параметрами, которые указаны на скриншоте. В значение записи введите ваш фиксированный ip адрес вашего домашнего сервера.
Что бы проверить , заработало или нет, нужно открыть командную строку windows (введите в меню пуск « cmd.exe «). После этого, в командную строку введите « ping мойсайт.ру «. Должна вернуться строка с ip адресом который был указан в настройках.
Учтите, процесс смены dns адресов занимает 1-2 суток.
Настройка перенаправлений
Домашний Веб сервер работает на 80 порту , значит надо чтобы роутер перенаправлял этот порт на ip адрес вашего сервера. Настройка перенаправления портов отличаются на разных роутерах от модели к модели и от прошивки к прошивке! Поэтому ищите настройки с указанием вашей модели. Нюанс, эти настройки могут быть названы виртуальными серверами , перенаправлениями или переадресацией портов , port forwarding или mapping , проброс портов , firewall rules , настройка NAT и так далее… Но в целом, процес не сложный.
Проверка порта
Осталось проверить, зайдите на свое доменное имя, с другой сети. Например со своего телефона (через мобильный интернет) или попросите кого нибудь зайти на ваш домен. Это нужно потому что в DNS прописаны настройки для захода на ваш сервер через внешнюю сеть, а в домашней сети этот путь не сработает.
Через локальную сеть ваш сайт не открывается, потому что, необходим локальный сервер dns . Поэтому можете настроить домашний DNS сервер, либо изменить файл hosts на домашнем компьютере. Hosts — это принудительные правила для компьютера, при конфликте они будут игнорировать внешние DNS серверы. Файл hosts на Windows 10 находится по адресу: C:\Windows\System32\drivers\etc , система может блокировать изменения непосредственно внутри папки, в таком случае измените его в другой папке и скопируйте обратно.
Измените hosts, в новой строке запишите локальный адрес веб сервера, пробел, доменное имя. Например, ваш фиксированный ip — 123.123.123.123 и ваш домен mysite.ru. Введите с новой строки :
После этого, ваш сайт должен открыться на вашем компьютере внутри вашей сети, а не только из вне. На этом настройка завершена, ну а если у вас остались вопросы или что то требует дополнительных разъяснений, встретимся в комментариях!
Источник
Как настроить домен для собственного сервера?
Все доброго времени суток, сразу оговорю, что в делегирование домена я чайник и делаю это в первый раз.
Вообщем, я имею. Роутер с внешним статистическим IP адресом 1.1.1.1 и внутри есть локальная сеть 10.102.10.1.
и есть 2 сервера с ВМ и сайты (делал не я) сайты все работают по доменным именам. Я решил создать свой сайт, на один из сервер установил ВМ и на неё поставил CentOS и установил панель управления под названием brainycp.
Ещё у меня есть своё домен ocdod74.ru, покупал у nic.ru. Помогите настроить, что б на мой сайт могли заходить по доменному имени. Даю вон некоторые данные, которые у меня есть:
Что вписывать на nic.ru?
что в панели управления?
- Вопрос задан более трёх лет назад
- 4575 просмотров
НИКОГДА не публикуйте свой IP! Сейчас набежит школие, которое будет Вас ломать.
Вам нужно либо купить у руцентра услугу Primary DNS, либо самому развернуть свой DNS. Если тяму на свой не хватает — купите, там будет типа панель управления, где можно создать запись типа A, в которой связать Ваше имя (домена) и нужный IP, а в управлении DNS-серверами указать «DNS-master»
Источник
Как привязать домен к VPS/VDS
Прикрепить домен к выделенному виртуальному серверу можно тремя способами. Самый простой — зарегистрировать домен на хостинге. В таком случае не потребуется никакая дополнительная настройка, нужные параметры будут установлены автоматически. Другой распространенный вариант — использовать бесплатные DNS-серверы регистратора. Если он их не предоставляет, то можно использовать сторонние DNS-серверы или поднять собственные DNS на VDS/VPS.
Регистрация домена на хостинге
Многие хостеры предоставляют услуги по регистрации доменов. Например, вы можете прикрепить одно или сразу несколько доменных имен прямо из панели управления VDS в Timeweb.
- Откройте панель управления сервером.
- Перейдите в раздел «Домены».
- Нажмите на ссылку «Зарегистрировать домен».
- Укажите в строке желаемое имя и выберите доменную зону.
Если имя уже зарегистрировано в этой зоне, то вы получите соответствующее предупреждение. Ниже появится таблица с доступными вариантами. Можно выбрать и зарегистрировать сразу несколько доменных имен, которые будут привязаны к одному серверу.
При регистрации хостер предложит скрыть информацию о владельце домена в whois-сервисах, а также подключить SSL-сертификат для установки защищенного соединения. Вы также можете создать администратора для управления доменом и добавить к заказу другие доменные имена. Автоматическое продление включено по умолчанию, но от него можно отказаться.
После нажатия на кнопку «Зарегистрировать домен» вы станете его владел ьцем.
Использование DNS-серверов регистратора
Если хостер не предоставляет услуги регистрации домена или вы не хотите ими пользоваться, то прикрепите домен с помощью бесплатных DNS-серверов другого регистратора. Это один из самых распространенных способов. Покажу, как это делается, на примере сервиса Reg.ru, где у меня есть купленный домен.
- Зайдите в личный кабинет на сайте регистратора.
- Перейдите в раздел со списком доменов. На Reg.ru он называется «Показать домены».
- Откройте параметры домена и выберите раздел «Управление зоной». Название может отличаться, если вы пользуетесь услугами другого регистратора.
- В поле «DNS-серверы» выберите подходящие серверы. Например, я выбираю универсальный первый вариант. Другие серверы предназначены для подключения домена к хостингу Reg.ru и к VDS и серверам на Reg.ru, мне они не подходят, так как мой VDS в Timeweb.
- Подтвердите выбор DNS и вернитесь в раздел управления доменами.
- В поле «Ресурсные записи» нажмите «Добавить запись».
- Выберите тип записи A.
- В поле Subdomain укажите значок @.
- В поле IP-адрес укажите IP-адрес сервера и с охраните изменения.
Поддомены добавляются аналогичным образом — с помощью записи A. Только вместо значка @ вы указываете субдомен, например, www.
После изменения сервера NS домен будет недоступен в течение 3-24 часов. Это нормально. После обновления записей DNS доменом можно пользоваться.
Если регистратор не предоставляет инструменты для управления DNS-записями, то можно воспользоваться сторонними сервисами — например, Яндекс.Коннект. Но это не самый удобный способ, так как сначала придется подтвердить права на домен, делегировав его на сторонние DNS, и лишь после добавления в панель администратора Яндекс.Коннекта у вас появится возможность управлять зонами.
Читайте также
Создание DNS на своем VDS
Вы можете создать собственные DNS-серверы и привязывать к ним домены. Для этого нужны два IP-адреса. Один хостер выдает при создании сервера. Второй необходимо заказать дополнительно.
Для создания собственных DNS-серверов потребуется одна из реализаций — например, BIND или PowerDNS. Они обеспечивают преобразование DNS-имени в IP-адрес и наоборот.
- BIND хранит сведения о доменных зонах в виде файлов. Это классическое решение, реализованное в соответствии с документацией, регламентирующей работу DNS-сервера.
- PowerDNS хранит сведения о доменных зонах в базе данных. По скорости работы он превосходит BIND. Если вы планируете работать с большим количеством IP-адресов, выбирайте эту реализацию.
Создавать собственные DNS-серверы мы будем через панель управления ISPmanager через реализацию BIND. Это один из самых простых способов.
- Откройте веб-интерфейс панели управления.
- Перейдите в раздел «Настройки» и выберите «Возможности».
- Отметьте пункт «Сервер имен (DNS)» и нажмите «Изменить».
- Выберите BIND и примените изменения.
Если у вас нет пользователя, создайте его.
- В разделе «Учетные записи» выберите пункт «Пользователи».
- Нажмите на кнопку «Создать».
- Придумайте логин и парол ь.
- Можно также автоматически создат ь FTP-пользователя и почтовый домен или пропустить эти настройки сейчас.
- Завершите создание пользователя.
Теперь нужно указать новые серверы имен и IP-адреса для них.
- В разделе «Домены» выберите пункт «Доменные имена».
- Нажмите на кнопку «Настройки».
- В поле «Серверы имен» добавьте два DNS-сервера: ns1.example.ru. и ns2.example.ru. Вместо example.ru укажите свой домен.
- Добавьте почту администратора.
- Укажите IP-адреса для серверов имен: основной и дополнительный.
- Нажмите «ОК» для сохранения изменений.
Следующий шаг — создание домена.
- Откройте раздел «Доменные имена» и нажмите «Создать».
- Введите доменное имя и выберите локальный IP-адрес. Серверы имен подставятся автоматически. Сохраните изменения.
- В разделе «Доменные имена» нажмите на кнопку «Записи».
- Найдите записи ns1.example.ru. и ns2.example.ru. Это и есть записи, которые нужно указывать в настройках домена в качестве DNS-серверов.
После настройки DNS-серверов вам останется только прописать их для основного домена в личном кабинете регистратора. Для этого можно воспользоваться инструкцией из второго раздела этой статьи.
Поиск DNS
DNS-записи обновляются в течение нескольких часов. Чтобы сразу убедит ься в том , что все настроено верно, используйте инструменты проверки DNS — например, intoDNS . Укажите доменное имя и нажмите на кнопку Report. Через несколько секунд появится таблица с IP-адресом сервера, к которому подключен домен. Если в отчете указан верный DNS, то просто подождите, пока записи обновятся. Домен привязан к серверу!
На сервер можно направить неограниченное количество доменов. Затем уже вы привязываете домены к конкретным сайтам, чтобы пользователи могли на них заходить.
Источник