Хостинг Домашнего Сайта С Динамическим Ip

У меня (как и у многих веб-разработчиков) есть дюжина сайтов, которые нужно где-то разместить.

Сайты практически не приносят прибыли, так как представляют собой какие-то старые работы (по разным причинам не пошедшие в производство), домашнюю страницу, настроенный сайт с красивой почтой и тому подобное.

Но в то же время отказываться от этих сайтов жалко, а потому на них каждый месяц приходится тратить вполне реальные деньги, чтобы купить хостинг.

Деньги, честно говоря, небольшие, но все же жаль, так как отдачи с сайтов нет. При этом у нас в наличии:

  • Домашний сервер на Ubuntu
  • Быстрый интернет от МТС.

Но ключевого нет – статический IP. Если бы это было так, то все было бы намного проще и я бы точно не писал эту статью.

А мой МТС совершенно не хочет выдавать статический IP (если я не подключаюсь как бизнес-клиент).

Конечно, существуют хорошо известные службы динамического DNS, такие как noip.com , но они успешно решают лишь задачу удаленного доступа к нашему серверу (через SSH или FTP), а для хостинга совершенно не подходят, так как в настройках домена на DNS-сервере нам нужно прописать А-запись с реальный IP-адрес (а не ссылка на наш виртуальный домен).



Что делать?

Я не буду подробно останавливаться на том, как настроить Linux-сервер (а тем более на том, как его выбрать), так как предполагаю, что он у вас уже есть.

Также я не буду подробно описывать настройки nginx и Apache, так как опять же предполагаю, что вы справитесь с этим самостоятельно.

Первое, с чем у меня возникли проблемы, это как перенаправить посетителей с моих доменов (у меня 2 домена) на мой домашний сервер.

То есть, чтобы клиент, набирающий домен.

com, попадал именно на мой домашний сервер с учетом того, что IP-адрес на нем меняется каждый день.

Для решения этой проблемы нам необходимо настроить DNS-сервер, а именно следующие записи: SOA, NS, MX, A, CNAME. Важно, чтобы у нас была возможность настраивать TTL (время жизни), так как время жизни наших записей должно быть очень коротким, буквально 60-120 секунд. В противном случае при смене IP-адреса сервера пользователи долгое время не смогут попасть на наш сервер (из-за кеширования).

Итак, нам нужен DNS-сервер, решения:

  1. Мы пользуемся услугами, которые предоставляют нам DNS-хостинг.

  2. Мы используем собственный DNS-сервер в сочетании с доменом DDNS.
Рассмотрим оба варианта.



Мы пользуемся услугами, которые предоставляют нам DNS-хостинг.

Для этого существует ряд бесплатных сервисов, из которых наиболее популярным является freedns.afraid.org .

В таких сервисах вы можете добавить свои домены и иметь возможность обновлять их A-записи через API с помощью небольшого скрипта.

Выглядит неплохо, но загвоздка в том, что эти сервисы оставляют за собой право добавлять в ваш домен субдомены третьего уровня.

То есть вы зарегистрировали у них user.ru, и они легко добавляют свои сайты типа hello.user.ru, shop.user.ru и так далее.

Вы, конечно, можете отказаться от этого, но.

за деньги.

Платить деньги за такие услуги я не вижу смысла, так как за сопоставимые деньги можно купить полноценный хостинг у какого-нибудь провайдера, не заморачиваясь с настройками DNS. Остальные услуги мы рассматривать не будем, а остановимся на втором варианте.



Мы используем собственный DNS-сервер в сочетании с доменом DDNS.

Для этого варианта, во-первых, у нас должен быть DDNS-домен (который обновляется при смене IP), например, domain.ddns.net, а во-вторых, нам придется установить и настроить BIND на нашем сервере.

Всего вам нужно сделать ровно 5 шагов.

Везде слова «домен» или «домен.

ру» означают ваше доменное имя (короткое или полное).



1. Настройте 2 или 3 субдомена DDNS.
Почему 2 или 3? Потому что ряд регистрантов не позволят вам использовать домен только с одним NS сервером.

Самое обидное, что не все об этом скажут — ваш домен просто не будет работать, а вы не поймете почему.

Здесь все просто – идем в noip.com , там регистрируем аккаунт и добавляем 3 бесплатных поддомена (больше 3 не будет работать).



2. Настройте собственный DNS-сервер.

Установите БИНД:
  
  
   

$ sudo apt-get install bind9

Создаём зоны (по одной зоне на каждый наш домен):

$ sudo nano /etc/bind/zones.my

с содержанием:

zone "domain.ru" {

Теги: #*nix #Хостинг #dns #ubuntu #nat #домашний хостинг #динамический ip
Вместе с данным постом часто просматривают: