
После прочтения руководств в интернете мне не удалось установить доменное имя для IP-адреса в Debian. Вот мой /etc/resolv.conf
:
domain localdomain
search localdomain
nameserver 172.16.170.2
domain utopia.net
search utopia.net
nameserver 172.16.170.135
но это не работает, когда я например пытаюсь : но работает так, почему ? Я хочу, чтобы сервер utopia.net работал и указывал на IP...ssh [email protected]
ssh [email protected]
решение1
/etc/resolv.conf
не устанавливает сопоставления между именами и IP-адресами. Он только сообщает вашему компьютеру, какие серверы запрашивать для преобразования (DNS-серверы, они же серверы имен).
У вас есть два варианта:
«статический вариант» (который на самом деле не использует DNS) — добавить свою запись в
/etc/hosts
: добавьте строку, например:172.16.170.135 utopia.net
и все должно быть готово. Это переопределит фактический IP
utopia.net
, но будет действительным только на том компьютере, где вы добавили эту информацию/etc/hosts
фактический вариант DNS: вам нужно зарегистрировать доменное имя и в пределах "зоны" для этого доменного имени объявить сопоставление с IP-адресом. Это будет работать на любом компьютере, использующем DNS, но требует от вас "купить" (арендуть, на самом деле) доменное имя и правильно его настроить
Также есть альтернатива, которая заключается в том, чтобы иметь свое собственное "локальное" доменное имя, настроить его на своем собственном сервере имен и настроить компьютеры на использование этого сервера имен для разрешения. Это позволит вам иметь сопоставление, доступное на нескольких компьютерах, при этом все равно придется менять сопоставление с имени на IP в одном месте. Но это, вероятно, выходит за рамки ваших текущих возможностей.
решение2
Это не /etc/resolv.conf
то, что вы должны изменить. Этот файл используется для указания DNS-серверов, которые локальная машина будет использовать для разрешения имен.
То, что вы хотите сделать, это сопоставить IP-адрес с полностью определенным именем хоста для использования только вашей локальной машиной. Локальные сопоставления между IP-адресами и FQDN находятся в /etc/hosts
, и это файл, который вы должны редактировать в соответствии со следующим форматом (пример взят из hosts
man-страницы):
# The following lines are desirable for IPv4 capable hosts
127.0.0.1 localhost
# 127.0.1.1 is often used for the FQDN of the machine
127.0.1.1 thishost.mydomain.org thishost
192.168.1.10 foo.mydomain.org foo
192.168.1.13 bar.mydomain.org bar
146.82.138.7 master.debian.org master
209.237.226.90 www.opensource.org
Забудьте о настройке записей DNS — это не то, что вам нужно.
решение3
Зарегистрирован ли домен utopia.net
на вас (что крайне маловероятно, поскольку, судя по всему, whois
он непрерывно регистрируется с 1995 года)?
Если нет, тоне используй это.
DNS полностью сломался бы, если бы все, кому нравится звучание домена, просто решили использовать его в своих внутренних сетях, не обращая внимания на тот факт, что домен принадлежит кому-то другому. «О, мне очень нравится google.com, это красивое имя — я просто буду использовать его для своей частной локальной сети. Жаль, что никто из моих пользователей не может получить доступ к этой непонятной поисковой системе».
Если вы не хотите регистрировать (т. е. покупать/арендовать) домен, а также устанавливать и настраивать сервер имен, то просто установите сервер zeroconf, например, avahi
и тогда вы сможете ssh hostname.local
.