Настройте DNS с разделением горизонтов дома

Настройте DNS с разделением горизонтов дома

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

Вместо этого я бы хотел просто использовать DNS.

Это мой роутер: http://netgear.com.au/home/products/wirelessrouters/work-and-play/DGN2200.aspx

Я рассматривал возможность установки этого:http://sourceforge.net/projects/modfs/ но, судя по всему, он основан на оригинальной версии прошивки, которую мне пришлось обновить, чтобы VPN заработал.

Нужно ли мне:

  1. Редактировать записи файла hosts на всех моих компьютерах
  2. Попробуйте заставить мой маршрутизатор выполнять какие-нибудь действия с DNS (может быть, с помощью telnet?)
  3. установите BIND на одну из моих машин и настройте маршрутизатор так, чтобы он указывал на эту машину для DNS дома (пробовал это, но не смог найти, где это настроить)
  4. Отключить маршрутизатор и установить какое-нибудь программное обеспечение маршрутизатора на одной из моих машин, а затем использовать его для DNS.
  5. Какой-то другой вариант, который я не рассматривал

По сути я хочу следующее:

Вне сети (уже работает):

  • machine1.domain.com -> {WAN IP}
  • machine2.domain.com -> {WAN IP}

Внутри сети:

  • machine1.domain.com -> 192.168.0.2
  • machine2.domain.com -> 192.168.0.6

решение1

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

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

План A: Моя первая мысль — сделать что-то относительно простое, что работает с вашим скриптом для обнаружения. У вас может быть два файла хоста, между которыми вы переключаетесь. Распространите оба на Dropbox на всех ваших машинах и сделайте так, чтобы скрипт копировал нужную версию в определенное время на ваш компьютер, чтобы перезаписать существующий файл хостов. Это сохраняет все динамичным способом, который позволяет вам использовать одни и те же имена для любой стороны вашей сети, но указывать на разные IP-адреса в зависимости от того, на какой стороне вы находитесь.

План A2: Если у вас где-то есть домен или выделенный сервер, вы можете использовать скрипт, который просто записывает/считывает данные в ftp-каталог с указанными вами учетными данными, если вы не хотите использовать что-то вроде dropbox.

План B: Если у вас есть существующий домен, вы можете заставить один из ваших серверов загружать внешний IP вашего маршрутизатора через регулярные интервалы. Таким образом, у вас будет что-то с выделенным адресом, что позволит вам всегда узнавать, какой у вас внешний домашний IP. Оттуда вы можете написать скрипт, который будет указывать на этот динамический IP как на переменную и использовать порты, которые вы сопоставили для переадресации портов.

План C: VPN + внутренний DNS. В любое время, когда вы снаружи, вы просто подключаетесь к VPN. В любое время, когда вы внутри, вы уже указываете на этот DNS, надеюсь. Мое личное мнение - Windows DNS немного проще в использовании, чем что-то вроде BIND. Он немного более графический и с управлением щелчком мыши. BIND полностью основан на тексте и может немного пугать тех, кто не знаком. Однако вам понадобится выделенный Windows Server (конечно, его можно виртуализировать), который обычно стоит денег - хотя, если у вас есть адрес электронной почты *.edu, вы можете использовать DreamSpark, чтобы получить себе копию Windows Server и поиграться с ней бесплатно. В качестве альтернативы вы можете сделать то же самое с копией CentOS и BIND (есть множество руководств по «Настройке CentOS в качестве DNS-сервера»).

решение2

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

Я бы настоятельно рекомендовал OP поместить внутренние IP-адреса в файл hosts локальных машин. Предполагая, что машины настроены на использование порядка разрешения файлов по умолчанию, за которым следует DNS, IP-адрес в файле hosts будет исключать что-либо в DNS.

решение3

Если у вас есть статический публичный IP от вашего интернет-провайдера, то просто используйте бесплатный DNS-сервер (http://my.dot.tk/и т. д.), но если у вас динамический публичный IP от вашего провайдера, то используйте менеджер динамических DNS (http://www.noip.com/и т. д).

Связанный контент