Как разместить разные машины с разными поддоменами?

430
steveroch-rs

это вопрос новичка, и, возможно, он задавался в каком-то варианте ранее, который я прочитал, но не совсем понял.

Итак, мой сценарий следующий:

В настоящее время я работаю, например, TS3Server и домен myname.ddns.net. Я должен говорить своим друзьям / новичкам каждый раз: «Привет, пожалуйста, подключитесь к myname.ddns.net:12321». .ddns.net - это бесплатный домен, размещенный no-ip без каких-либо дополнительных функций. Я планирую переключиться на другого провайдера, чтобы получить платный, более серьезный домен, такой как myname.net, и иметь полный контроль над всеми записями DNS. Мой план, вместо того, чтобы сказать «Подключиться к myname.ddns.net:12321», я могу сказать «Привет, подключитесь к ts3.myname.net». То же самое будет с почтовым сервером, облачным сервером, игровым сервером. Например, cloud.myname.net, mail.myname.net и т. Д.

Почему в связи с тем, как работает DNS, я как личность не могу сказать .myname-DNS-серверу спросить мой собственный частный DNS-сервер, где, например, cloud.myname.net находится ?!

Я хочу свой собственный DNS-сервер, потому что многие провайдеры ограничивают количество доступных субдоменов, а я нет, если возможно иметь субдомены. Потому что с Teamspeak я мог бы представить, как мои друзья подключаются через ts3.myname.net и могут контролировать, например, музыкального бота через musicbot.ts3.myname.net. Вот почему я хочу иметь полный контроль над тем, сколько поддоменов у меня есть.

PS: в комментариях упоминается myname.tk, который является еще одним доменом, который я зарегистрировал, потому что я не хотел этого .ddns. в середине домена и компании Freenom, которая предоставляет мне myname.tk, обеспечивает более сложный контроль над записями DNS.

0
Все ли серверы имеют один и тот же динамический общедоступный IP-адрес? Twisty Impersonator 6 лет назад 0
Если вы не можете динамически обновлять записи с помощью вашего DNS-провайдера, вы, вероятно, не сможете использовать свой динамический IP-адрес. Есть ли какая-то причина, по которой вы не используете провайдера DynDNS в этом случае (кроме желания по-настоящему использовать свой собственный домен)? Seth 6 лет назад 0
@TwistyImpersonator Да, они делают. Все они подключены к одному маршрутизатору, который получает новый IP каждые 24 часа от моего провайдера. steveroch-rs 6 лет назад 0
@ Думаю, я рано или поздно переключусь на другого провайдера, который имеет поддержку dyndns, и оплату домен. Так что нет, на самом деле нет причин. У меня есть 2 домена. Один из них - это xxx.ddns.net, размещенный на No-IP, который я должен подтверждать каждые 30 дней и который не дает мне полного контроля, а другой - myname.tk, размещенный на Freenom, который я должен подтверждать только один раз в год. Я думал, что это было бы более профессионально, если бы не было .ddns. в домене. Однако NoIP поддерживает DynDNS, который я использовал ранее, когда различал хосты по портам, а не по поддоменам. steveroch-rs 6 лет назад 0
@ steveroch123 Я спрашиваю, имеют ли они все отдельные ** публичные ** IP-адреса. Похоже, ответ нет. Twisty Impersonator 6 лет назад 0
Ты прав. Все серверы общедоступны по общему IP-адресу моего маршрутизатора. steveroch-rs 6 лет назад 0
Можете ли вы создать * другие * типы записей DNS, кроме поддоменов у вашего провайдера, например, записи A? Twisty Impersonator 6 лет назад 0
* Я хочу дифференцировать серверы по поддоменам, а не по портам. * Вы имеете в виду, что вы хотели бы иметь возможность (что-то вроде ....) каждого из ваших серверов запускать веб-сервер и прослушивать порт 80, и в зависимости от того, какой доменное имя используется, правильный сервер получает запрос? Twisty Impersonator 6 лет назад 0
@ Twisty Impersonator Да, у меня есть такая возможность, и да, вы правы насчет портов. До того, как у меня появилась идея с поддоменами, я ходил к своим друзьям и говорил: «Привет, давайте поиграем в Minecraft на моем сервере myname.ddns.net:6767». Но теперь я хочу, чтобы они подключились, просто набрав «minecraft.myname.tk». , И, возможно, оставить возможность для play.minecraft.myname.tk и webinterface.minecraft.myname.tk. Я хотел бы иметь гибкость в создании своих собственных поддоменов, чтобы я мог экспериментировать с функциями, которые я мог бы реализовать для игр, командных выступлений и т. Д. Это больше для личной радости и экспериментов. steveroch-rs 6 лет назад 0
Пожалуйста, [отредактируйте] свой вопрос, чтобы уточнить свои намерения на основе этого комментария. Это очень важно для вашей цели. Twisty Impersonator 6 лет назад 0
Давайте [продолжим это обсуждение в чате] (http://chat.stackexchange.com/rooms/69865/discussion-between-steveroch123-and-twisty-impersonator). steveroch-rs 6 лет назад 0

2 ответа на вопрос

1
AFH

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

  • Поскольку он у меня уже был, я использовал небольшой веб-сайт на общедоступном хосте (эквивалент myname.Public.Hostв вашем примере).
  • Мой регистратор доменов предлагает минимальный пакет регистрации доменов и пересылки сайтов / электронной почты.
  • Я пересылаю свой основной домен на общедоступный веб-сайт ( myname.Public.Host).
  • Я использую папки веб-сайтов, а не субдомены, для адресации моих домашних серверов, чтобы (на вашем примере) я обращался к облачному серверу www.myname.tk/cloud, хотя не вижу причин, по которым запись CNAME cloud.myname.tkне может указывать на один и тот же адрес ( myname.public.host/cloud/), хотя я не пробовал.
  • Я создаю, myname.public.host/cloud/index.htmсодержащий следующий код (извините, я не могу подтвердить источник этого кода, так как я потерял ссылку):
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <title>AFH - Web Server Home</title> <META HTTP-EQUIV="Refresh" CONTENT="1; URL=http://myname.Dynamic.DNS/cloud"> </head> <html> 
  • Это, как я использую его, но для моей веб - камере я использую URL=http://myname.Dynamic.DNS:WebCamPort: мой маршрутизатор способен отображать WebCamPortдо 80по IP веб - камеры, и это, кажется, работает хорошо: хотя я использую порты, это совершенно прозрачным, когда сайт доступен, как www.myname.tk/WebCam,
  • В принципе, вы можете использовать одну и ту же технику, так же как myname.public.host/cloud/index.htmи вас URL=http://myname.Dynamic.DNS:CloudPort, и т. Д., И разные порты предоставляют вам простой способ обращения к различным серверам в вашей интрасети.

Таким образом, cloud.myname.tkон будет перенаправлен myname.Public.Host/cloud/index.htmи оттуда передан http://myname.Dynamic.DNS:CloudPortи затем через маршрутизатор на ваш облачный сервер.

И последнее замечание: мне когда-то было трудно найти надежный динамический DNS-сервер, поэтому я реализовал свой собственный, запуская каждые пять минут скрипт, который проверяет общедоступный IP-адрес моего дома и, когда это меняется, вызывает FTP-скрипт для обновления. эти index.htmфайлы в каждой из папок, замещая URL=http://myname.Dynamic.DNS ...на URL=http://my.pub.IP.addr ...(это легко в Linux, но больше проблем в Windows, где находится мой веб - сервер).

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

Спасибо большое, я все поняла. Но я все еще спрашиваю себя, почему это так хлопотно. Я понимаю, как работает DNS, спрашивая сначала корневой сервер, знает ли он адрес, а затем отвечает «Спросить .com-сервер», который сам отвечает «Спросить .myname-сервер». Почему я не могу со своим сервером быть следующим звеном в цепочке? steveroch-rs 6 лет назад 0
@ steveroch123 - У вас есть две проблемы, которые не связаны с простым подходом. Одним из них является динамический DNS, другой имеет несколько поддоменов, которые необходимо маршрутизировать через один и тот же (переменный) IP-адрес. Альтернативой является маршрутизация всего трафика на один сервер в вашей интрасети: этот сервер проверяет поле назначения в каждом буфере TCP и направляет на соответствующий сервер в вашей интрасети. Вот как я понимаю, что публичные хостинговые сайты поддерживают много разных веб-сайтов, но мне никогда не требовалось несколько (суб) доменов, поэтому я никогда не занимался этим, хотя, вероятно, существуют пакеты для его поддержки. AFH 6 лет назад 0
Спасибо. Тогда я обязательно рассмотрю ваш подход. Пока я могу предоставить своим друзьям простой способ запомнить имена, я не возражаю перенаправить их. steveroch-rs 6 лет назад 0
0
davidgo

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

Тем не менее, я недавно читал, что Namecheap предлагает бесплатные серверы имен - даже если вы не регистрируете свои домены через них. (Сервис называется FreeDNS, и я никогда не использовал его). Вы можете использовать их (или другого поставщика DNS) для решения проблемы динамического IP. Затем вы могли бы в судебном порядке использовать cnames в сочетании с провайдером динамического DNS, чтобы указать материал вашей домашней системе.

GOTCHA - Имейте в виду, что использование CNAME в корне доменного имени (т.е. my name.tk) будет иметь непредвиденные последствия - и хотя это можно использовать, чтобы позволить вам запустить собственный сервер имен под динамическим DNS, лучше избегать этого.