Использовать домен DDNS для нескольких машин и портов

485
Max

У меня есть следующие настройки: 1) Raspberry Pi с ssh и ftp в моей домашней сети, к которому я получаю доступ извне через динамический домен DNS. 2) веб-сайт с бесплатным хостером, который подключен к соответствующему домену другим хостером (запись). 3-й) еще один Пи в доме моих родителей, который по-мужски работает в качестве резервной копии первого Пи, а также в качестве vpn для удаленного обслуживания. Опять это доступ к другому динамическому домену DNS.

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

Мои идеи пока что: поскольку хостинг соответствующего домена также поддерживает DDNS, я связал его с моим первым пи. Это (в зависимости от порта, к которому осуществляется доступ) перенаправит соединение на фактическое веб-пространство или на второй пи. Это возможно? Может быть, с IP-таблицами? Может быть с частным днс (возможно, нет, так как он используется только для преобразования адресов, а не для портов)? Может, это похоже на балансировку нагрузки? Как бы я это сделал?

Пример конфигурации: порт 80 домена должен быть подключен к веб-пространству, порт 22 к пи 1, порт 1234 к пи 2 со всем доступным на одном домене.

0

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

0
Tyson

Подводя итог: DNS не знает о разделении портов. Проще говоря, DNS связывает имена с IP-адресом (запись A) или другим именем (запись CNAME). То, что происходит на уровне порта в каждом «местоположении», является обязанностью маршрутизатора.

Самое простое, что вы можете сделать, - это создать субдомены в «правильном» доменном имени для местоположений A и C и подключить их к фактическим местоположениям, используя записи CNAME, указывающие на существующие динамические записи DNS. Это будет выглядеть примерно так:

locationA.domain.com CNAME absdcslwekjnds.dynamicDNS.com

locationC.domain.com CNAME skjdkfljdlfjdl.dynamicDNS.com

Например, это говорит о том, что locationA.domain.com использует тот же IP-адрес, что и absdcslwekjnds.dynamicDNS.com (и IP-адрес для этого задается с помощью динамического клиента DNS). поэтому locationA.domain.com всегда указывает на то же место, что и absdcslwekjnds.dynamicDNS.com.

Чтобы перейти на следующий уровень (в направлении, в котором движется ваш пример), вам нужно, чтобы сам домен указывал на одно местоположение, остальные два местоположения должны были быть подключены к первому местоположению через VPN. Маршрутизатор в первом месте может затем направить устройства в другие места, потому что они подключены через VPN.

Это звучит замечательно, но если вы идете в этом направлении, не забудьте встроить метод, когда VPN отключается или отключается. Допустим, вы находитесь в точке C, а точка доступа VPN отключена. Теперь вам нужен способ прямого подключения к A (или вождение там), чтобы восстановить VPN.

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

О, и я даже не обращался к безопасности при переходе на следующий уровень, но не забывайте также принимать это во внимание.

(И, кстати, ... убедитесь, что ftp на ЛЮБОМ компьютере, маршрутизируемом из Интернета, отключен, а порт закрыт. Протокол ftp - один из старейших и наиболее небезопасных протоколов, используемых до сих пор. Вместо этого используйте SFTP.)

Спасибо за ваш подробный ответ. Я думал, что сложный и как-то не видел простой способ просто использовать поддоменов. Однако я мог бы попробовать вариант с маршрутизацией в любом случае, просто чтобы посмотреть, что возможно, но вы правы, это может быть слишком сложно и слишком нестабильно. Что касается ftp: это был просто синоним для синхронизирующего и файлового сервера, но поскольку это немного сложнее, потому что он основан на p2p, я решил вместо этого свести его к ftp. Max 8 лет назад 0