В чем разница между .local, .home и .lan?

24

Как я могу надежно обращаться к различным машинам в моей сети?

Я всегда использовал .localсуффикс для общения с компьютерами в моей локальной сети. С новым роутером, правда, .localредко (хотя иногда) работает. Я нашел это, .homeи .lanоба обычно работают, но не всегда.

.-------.   .--------.                 .-----.
| modem |---| router |))))))(wifi))))))| foo |
.-------.   .--------.         v       .-----.
   ||            |             v
 /_^_^_\         |             \))))))).-----.
/ cloud \        |                     | bar |
 \-_-_-/      .-----.                  .-----.
              | baz |
              .-----.

Итак, с терминала fooя могу попробовать:

ssh bar.local
ssh bar.home
ssh bar.lan

ssh baz.local
ssh baz.home
ssh baz.lan

и иногда некоторые из этих суффиксов работают, а некоторые нет, но я не знаю, как предсказать, что или когда.

foo, barи bazвсе они являются современными системами Linux или Android, а на блоках Linux установлены (или могут быть) avahi-daemon или другие разумно доступные пакеты, установленные

(Я не хочу устанавливать статические IP-адреса: я хотел бы продолжать использовать DHCP (от маршрутизатора) для каждой машины, и даже если бы я был в порядке со статическими адресами, я хотел бы иметь возможность вводить имена хостов в некорневые машины Android, где я не могу отредактировать файл hosts, чтобы сопоставить выбранное имя хоста с IP-адресом.)


источник
что вы используете в качестве /etc/resolv.confсерверов имен? Кроме того, если вы digустановили, какой вывод вы получаете при выполнении dig +trace baz.local?
Красный Крикет
Вы должны добавить дополнительную информацию (как указано в вашем последнем комментарии) к вашему вопросу. Также добавьте, какой маршрутизатор (ы) вы используете.
maxschlepzig

Ответы:

21

Там нет RFC, которые указывают .lanи .home. Таким образом, это зависит от поставщика маршрутизатора, какие псевдо TLD (доменные имена верхнего уровня) по умолчанию настроены.

Например, мой поставщик маршрутизатора (AVM), кажется, использует .fritz.boxпо умолчанию.

.localиспользуется mDNS (многоадресный DNS) , протокол, разработанный Apple. Использование example.localработает только в системах (и для мест назначения), на которых запущен демон mDNS (например, MacOSX, текущие дистрибутивы Linux, такие как Ubuntu / Fedora).

Вы можете продолжать использовать dhcp, но, возможно, вам придется немного настроить свой маршрутизатор. Большинство маршрутизаторов позволяют настраивать такие вещи, как доменное имя для сети.

Обратите внимание, что использование псевдо-TLD является своего рода опасным - .lanкажется популярным - и лучше, чем .local(потому что это не конфликтует с mDNS .local) - но нет гарантии, что ICANN не представит его как новый TLD в какой-то момент.

Обновление 2019 года : показательный пример, .boxбольше не псевдо-TLD. ICANN делегировал .box в 2016 году.

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

lan.example.org
internal.example.org
...
maxschlepzig
источник
2
На самом деле tools.ietf.org/html/rfc6762 упоминает как .lan, так и .home.
Powerman
6
@Powerman, ну, RFC6762 упоминает .lanи .homeв Приложении G, но он не определяет их использование и их семантику. Вместо этого он просто перечисляет их как часть комментария: «Мы вообще не рекомендуем использовать незарегистрированные домены верхнего уровня, но если сетевые операторы решат сделать это, следующие домены верхнего уровня использовались в частных внутренних сетях без проблемы, вызванные попыткой повторного использования ".local." для этой цели »
maxschlepzig
2
По состоянию на февраль 2018 года, .home, .corpи .mailможно считать безопасным: icann.org/resources/board-material/... Использование .lanеще следует рассматривать рискованно.
Даниэль Мартин
1
Еще одно обновление: RFC8375 (май 2018 г.) определяет .home.arpaдля домашних сетей ( tools.ietf.org/html/rfc8375 )
John O'M.
0

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

Некоторые имена зарезервированы для специального использования ( {недействительный., Localhost., Тест. В RFC6761} {локальный. В RFC6762} {onion. В RFC7686} сайте iana )

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

user215881
источник