Я не уверен, почему имя хоста теперь jessica-s-phone. Я нахожусь на общедоступном Wi-Fi, и некоторые поиски в Google показали, что имя хоста задается DNS, так возможно ли, чтобы мой iTerm выбрал кому-то телефон в качестве хоста?
3 ответа
Хосты могут получать свое имя хоста через DHCP, но это не очень распространено. Гораздо чаще они получают свой IPv4-адрес через DHCP, а затем выполняют обратный поиск DNS, чтобы определить имя хоста для этого IP-адреса.
Чтобы узнать, получилось ли ваше имя хоста через DHCP, запустите ipconfig getpacket en1
(замените en1
на правильный идентификатор интерфейса уровня BSD для рассматриваемого интерфейса Wi-Fi. Да, в OS X есть ipconfig
, и нет, это не что-то вроде ipconfig
Windows). В нижней части вывода будет список параметров сообщений DHCP и их значений. Если вы видите "имя хоста" или "клиент fqdn", то ваш сервер DHCP дал вам ваше имя хоста. Если вы тоже не видите, то, вероятно, вы получили его от DNS. В этом случае посмотрите, на какой DNS-сервер он указал. Вероятно, он указал вам на DNS-сервер в локальной сети, возможно, встроенный в сам маршрутизатор.
Используйте ifconfig en1
(снова, при необходимости, замените en1
), чтобы увидеть, какой IPv4-адрес у вас на этом интерфейсе. Используйте host $IPADDR
(замените $IPADDR
вашим IPv4-адресом), чтобы увидеть, как ваше текущее представление о системе DNS считает ваше имя хоста.
Это не определяется DNS
, но на самом деле DHCP
- скорее всего, чтобы избежать конфликтов в локальных сетях. Вы, очевидно, находитесь в роли бывшего подключенного клиента, возможно, маршрутизатор решит, основываясь на сходстве MAC (но это только предположение).
Если вы хотите отключить эту функцию, как sudo
отредактируйте /etc/hostconfig
с помощью
HOSTNAME=<yourhostname>.local
Это совершенно нормально, чтобы это произошло; при удаленном входе в систему терминал bash выполняет обратный поиск DNS. Это будет то же самое, только если имя хоста не указано в сети, к которой вы подключаетесь, и нет ответа от DHCP-сервера, или обратный поиск на удаленном DNS-сервере не удается разрешить.
Вы можете легко изменить настройку по умолчанию, используя эту команду в Терминале:
sudo scutil --set HostName <your hostname>
Вы можете проверить это с помощью:
nslookup nn.nn.nn.nn
( or )
host nn.nn.nn.nn
(где nn обозначает IP-адрес вашего Mac)
- Подобный вопрос был задан некоторое время назад на сайте Apple Stack Exchange, и это был мой ответ.