домены на ip адресе
Как узнать доменное имя по IP-адресу
Если изначально разобраться, в чем кроется разница между именем сайта и его IP-адресом, можно легко по этому самому IP-адресу узнать имя сайта. Не всем пользователям Всемирной паутины известно, что сайт в Интернете имеет несколько имен (как минимум — два). Первое имя (название) легко узнаваемо и привычно пользователю: mail.ru, vk.com, wikipedia.org и др. Его также называют URL или «доменное имя».
За оболочкой видимого и понятного скрывается обратная сторона – техническая. С этой стороны компьютеры имеют дело с именем сайта, более понятным для них, которое как раз и является IP-адресом. Именно это, скажем так второе «техническое», имя сайта и является его настоящим названием в сети Интернет. Например, IP-адрес сайта yandex.ru – 5.255.255.5.
DNS-сервер (такое специальное приложение) сначала ищет IP-адрес, который введен пользователем в любом удобном браузере, и только потом показывает нужное содержимое. Техническая сторона поиска происходит мгновенно – поэтому и не заметна для человека. Таким образом, напрашивается вывод, что IP-адрес – это индивидуальный определитель любого сайта в сети Интернет.
Узнать доменное имя по IP
Параллельно возникает вопрос: если узнать адрес IP по названию сайта достаточно легко, можно ли осуществить поиск наоборот? То есть найти нужный сайт по его IP-адресу. Ответ будет положительным, такой поиск возможен, но не без специального «помощника». Ресурс Whoer.net, позволяет в несколько простых шагов достичь нужного результата:
Если, в качестве примера, ввести выше названный IP-адрес 5.255.255.5, то в строке «хост» увидим имя «yandex.ru».
Разобранную ситуацию с поиском сайта по IP-адресу не будет лишним дополнить таким понятием, как «история IP-адресов сайта». К примеру, если у домена (сайта) меняется владелец, то у него зачастую меняется и IP-адрес, так как собственник работает с каким-то другим хостингом. Ситуация встречающаяся реже – сам хостинг меняет у сайта-клиента IP-адрес. В этом случае адреса-IP могут быть разными, но имя сайта останется прежним.
Домашний хостинг сайтов с динамическим IP
У меня (как и у многих web-разработчиков) имеется с десяток сайтов которые необходимо где-то размещать (хостить).
Сайты практически не приносят прибыли, поскольку это какие-то старые работы (по разным причинам не пошедшие в продакшн), домашняя страница, сайт заведенный красивой почты и тому подобное. Но в то же время эти сайты жалко бросать, а потому приходится каждый месяц на них тратить вполне реальные деньги чтобы покупать хостинг. Деньги, прямо скажем небольшие, но тем не менее их жалко, поскольку отдачи от сайтов никакой нет.
В то-же время в наличии имеется:
Разумеется есть всем известные 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-хостинг
Для этого есть ряд бесплатных сервисов, из которых самым популярным является 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’а, поэтому напишем скрипт который будет делать:
Скрипт нужно запускать под рутом (чтобы ему хватило прав обновлять конфиги BIND’а и рестартовать его). Добавляем в crontab рута его запуск каждую минуту:
Пару слов про определение текущего IP-адреса. В скрипте выше это делается через резолвинг DDNS-поддомена domain.ddns.net. То есть сначала наш роутер его туда прописывает, а потом мы читаем. Это не очень хороший вариант, поскольку мы завязываемся на роутер и можем потерять несколько минут пока на DDNS-поддомене обновится IP-адрес на актуальный. Все это время наш сервер будет недоступен.
Поэтому у себя я использовал улучшенный вариант, который заодно не лазит в интернет:
В данном варианте мы загружаем главную страницу роутера (через http), дальше регэкспом находим на ней текущий IP-адрес. Разумеется, этот вариант подходит далеко не всем, но на DD-WRT прошивках работает.
5. Настройка роутера
Вывод
Итак, что я получил в итоге:
IP-адрес сайта
IP-адрес вашего сайта отображается в панели управления хостингом.
Как узнать IP-адрес сайта в панели управления
Войдите в панель управления и выберите подходящую инструкцию в зависимости от панели: ISPmanager, cPanel или Plesk.
Если внешний вид вашей панели управления отличается от представленного в инструкции, кликните в левом нижнем углу «Старый интерфейс».
Перейдите в раздел «WWW-домены» и кликните по домену:
В строке «IP-адрес» указаны IPv4 и IPv6:
Перейдите в раздел «Домены» и нажмите IP-адреса:
На открывшейся странице напротив доменов отображаются IP-адреса IPv4 и IPv6:
Если внешний вид вашей панели управления отличается от представленного в инструкции, перейдите в раздел «Сайты и домены» и в правом верхнем углу измените вид на «Активный».
Перейдите в раздел «Сайты и домены» и найдите нужный сайт. Здесь указывается только IP-адрес версии IPv4:
Как узнать IP-адрес сайта с помощью утилиты dig
Перейдите в раздел Проверка DNS-записей. Введите домен, по имени которого открывается ваш сайт, и выберите в выпадающем списке тип записи «А». Затем нажмите Проверить:
В столбце «Результат» вы увидите IP-адрес сайта IPv4:
Если недавно были изменены DNS-серверы или A-запись для сайта, результат может быть неактуальным. Для проверки DNS-записей мы опрашиваем DNS-серверы компании Google, они обновляются каждые 4 часа.
Такова особенность виртуального дешёвого хостинга, когда на одном сервере с одним IP-адресом располагается множество сайтов. Это позволяет предоставлять услуги по более выгодной цене, чем VPS-серверы с отдельным IP. Несмотря на то, что на одном сервере содержится много сайтов, все они строго разделены друг от друга, и файлы сайтов одного клиента не могут навредить сайтам другого клиента. Так обеспечивается безопасность и надёжность хостинга.
Если вам необходим выделенный IP-адрес, где будет размещаться только ваш сайт, рекомендуем приобрести дополнительный IP-адрес для хостинга.
Как изменить IP-адрес сайта?
По умолчанию сайту назначается IP-адрес сервера, на который добавлен сайт.
Изменить IP-адрес сайта можно двумя способами:
Закажите услугу в зависимости от типа вашего хостинга:
Сайт не открывается по IP
На виртуальном хостинге проверить доступность сайта по IP-адресу нельзя. Это обусловлено технической стороной виртуального хостинга: на одном IP-адресе сервера расположено много сайтов. Поэтому по IP-адресу сервера по умолчанию открывается страница: «Сайт надежно припаркован и ожидает открытия».
Как привязать домен к IP-адресу
В статье мы рассмотрим, как привязать IP к домену. Для чего требуется привязка домена к IP-адресу? Она требуется, если вы хотите связать домен с IP-адресом компьютера (сервером), на котором расположен ваш сайт.
Чтобы привязать домен к IP-адресу:
1. Авторизуйтесь на 2domains и перейдите в Личный кабинет.
2. Кликните по строке нужного домена:
Чтобы прописать IP-адрес в Личном кабинете, для домена должны быть указаны DNS-серверы ns1.reg.ru и ns2.reg.ru.
Если серверы отличаются:
Кликните по строке DNS-серверы:
Выберите ns1.reg.ru и ns2.reg.ru:
Подтвердите действие. Обратите внимание, что смена может занять до 24 часов:
3. Кликните по строке Управление зоной DNS:
4. Во всплывающей шторке справа нажмите Добавить ещё одну запись:
5. Выберите тип записи — А и нажмите на Карандаш. Затем добавьте нужные данные и нажмите Сохранить:
Субдомен
IP-адрес
Где 123.123.123.123 — IP-адрес нужного вам сервера.
После сохранения нажмите Добавить ещё одну запись.
6. Выберите тип записи — CNAME и нажмите на Карандаш. Затем добавьте нужные данные и нажмите Сохранить:
Субдомен
Значение
Где your-domain.ru — ваш домен с точкой в конце.
Если вы сменили DNS-серверы, изменения вступят в силу в течение 24 часов. Если вы добавили только записи в зоне, изменения произойдут быстрее (от 15 минут до 2 часов).
Готово! Мы рассмотрели, как привязать доменное имя к IP-адресу.
Связываем домен и динамический IP
Что мы имеем:
1. компьютер с осью и установленными mysql, apache, php (тут ничего писать не буду, благо мануалов хватает)
2. интернет с присваиваемым динамическим IP, роутер.
Что мы хотим:
1. Что бы люди вбивая в адресную строку браузера доменное имя второго уровня (купленное нами или полученное на каком либо сервисе), попадали на наш сайт (в независимости от того на каком IP он сейчас находиться).
2. Хотим это бесплатно.
Итак, то как это было реализовано мной в виде краткой инструкции можно прочитать под катом, быть может кому-нибудь это пригодиться или просто-напросто будет интересно. Так же, буду рад объективной критике. Спасибо за внимание, и кому интересно добро пожаловать под хабракат.
1. Регистрируемся на сайте dyndns (стоит заметить что бесплатная регистрация на этом ресурсе требует обязательного посещения его раз в 30 дней, иначе будет удалена, так что если для для вас это большое неудобство, альтернатив хватает, некоторые названы в комментариях, остальные легко можно найти воспользовавшись поисковиком)
2. Добавляем там хост типа Любое_Имя.dyndns.org c текущим вашим внешним IP.
Далее пункт 3.1 или 3.2 на выбор:
3.1. Скачиваем тулзу с сайта dyndns www.dyndns.com/support/clients которая каждый раз как вам будет присвоен новый айпи, будет связывать его с полученным адресом типа Любое_Имя.dyndns.org
3.2 В настройках роутера настраиваем Dynamic DNS (если данная настройка в роутере присутствует то лучше все же выбрать именно этот пункт нежели доверять работу программе)
4. Получаем доменное имя. *Тут кучу бесплатных решений вам поможет найти гугл, ну и если доменное имя у вас уже есть, то пропускаем этот пункт. В любом случае далее по тексту я буду называть его «Наше_Доменное_Имя.com»
10. Все, ждем от пары часов до пары суток пока zoneedit и поставщик доменного имени скушают изменения и наслаждаемся результатом.