Как я могу надежно обращаться к различным машинам в моей сети?
Я всегда использовал .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
?Ответы:
Там нет 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
и.home
в Приложении G, но он не определяет их использование и их семантику. Вместо этого он просто перечисляет их как часть комментария: «Мы вообще не рекомендуем использовать незарегистрированные домены верхнего уровня, но если сетевые операторы решат сделать это, следующие домены верхнего уровня использовались в частных внутренних сетях без проблемы, вызванные попыткой повторного использования ".local." для этой цели ».home
,.corp
и.mail
можно считать безопасным: icann.org/resources/board-material/... Использование.lan
еще следует рассматривать рискованно..home.arpa
для домашних сетей ( tools.ietf.org/html/rfc8375 )Насколько я понимаю, если вы используете один из числовых адресов частной сети RFC-1918 , это гарантируется интернет-правилами, согласно которым они не должны выходить за пределы собственной подсети.
Некоторые имена зарезервированы для специального использования ( {недействительный., Localhost., Тест. В RFC6761} {локальный. В RFC6762} {onion. В RFC7686} сайте iana )
В результате вы можете использовать некоторые имена, которые вам нравятся, в вашей локальной сети . Если номера адресов находятся в диапазоне RFC1918: даже если люди в общедоступном Интернете знают имена ваших узлов, они не могут маршрутизировать на эти адреса.
источник