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

Я хотел бы просто использовать 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

3 ответа3

1

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

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

1

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

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

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

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

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

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

0

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .