VPN ли преименува вашия Mac? Сравнете три стойности на име на хост
Променен подкана на Terminal не е преименуване. ComputerName, LocalHostName и HostName пазят различни стойности и една от тях често просто не е зададена.
Подканата, която преди показваше едно, сега показва друго, а връзката, която се промени, беше VPN. Това са всички доказателства, с които повечето хора разполагат, преди да заключат, че Mac е преименуван, и те не са достатъчни. macOS пази поне три отделни стойности за име, всяка с различна задача, а подканата на shell показва най-много една от тях по начин, който лесно може да се прочете погрешно.
Сравняването им отнема три команди и решава въпроса, преди някой да редактира каквото и да е.
Три стойности, три задачи
И трите са низове, които системата с удоволствие ще докладва, а изкушението е да приемете първата намерена стойност за меродавна. Така потребителят стига до „поправяне“ на грешното поле и гледа как симптомът оцелява.
| Value | What it is responsible for |
|---|---|
ComputerName | The friendly name a person sees in About and on the network browser; this is the one users mean by "my Mac's name" |
LocalHostName | The Bonjour name used on the local link, usually shown with a .local suffix in Sharing |
HostName | An explicitly configured host name that may simply not be set at all |
Третият ред е мястото, където започва повечето объркване. Незададеното HostName е нормално състояние, а не повреда, и означава, че системата преминава към други източници, когато ѝ трябва име на хост. Тълкуването на тази празнота като щета води до поправка, която никога не е била нужна. Тя също скрива истинския въпрос, който не е как се нарича машината, а кое име използва дадено търсене или подкана в този момент. Отговорете на това и празната стойност престава да изглежда като дефект.
Прочетете, преди да пишете
Тези три команди само докладват стойности. Те не променят нищо, което ги прави безопасни за изпълнение по време на разследване.
scutil --get ComputerName
scutil --get LocalHostName
scutil --get HostName
Изпълнете ги в същата локална сесия преди и след разрешена VPN връзка и отбележете коя стойност действително се различава. Ако нищо не се различава, а подканата все още изглежда грешна, името никога не е било проблемът: нещо в конфигурацията на shell или в отдалечената сесия показва различен низ.
Ръководството на Apple за имена на компютри и локални имена на хостове поставя приятелското име в General и About, а локалното име в General и Sharing. То документира и автоматичната наставка, добавяна, когато друг Mac в същата връзка вече използва име, което си струва да се знае, преди да приемете неочаквано число за доказателство за намеса.
Какво всъщност доказва подканата на shell
Подканата е низ, който shell изгражда, и елементът ѝ за име на хост може да идва от разгърнатото име на хост, от съкратената му форма или от стойност, твърдо записана в профилен файл. Тя може също да принадлежи на SSH сесия на напълно различна машина, което е най-небляскавото обяснение и далеч най-честото за подкана, която се промени в момента, в който свържете VPN.
Проверете къде се намирате, преди да проверявате как се наричате. Изпълнете hostname и го сравнете с трите запазени стойности, после погледнете настройката на подканата в shell, за да видите дали изобщо показва хоста. Ако подканата съдържа буквален низ, който някой е въвел в конфигурационен файл преди години, никаква промяна в системата никога няма да го направи съвпадащ.
Сравнението е важно и за отчитането. Подкана, която изглежда различно, и запазено ComputerName, което наистина се е променило, са две находки с двама различни собственици, а сливането им в едно изречение изпраща следващия инженер на грешното място.
Къде VPN законно може да засегне именуването
VPN променя кои резолвери и домейни за търсене са от значение и може да даде на клиента име на хост чрез DHCP, ако клиентът е конфигуриран да приеме такова. Това е реален механизъм и е по-тесен от „VPN преименува моя Mac“. Промяната от резолвер на това кое име се разрешава за даден адрес не презаписва запазените локални стойности.
Затова разделете два въпроса. Различна ли е собствената идентичност на машината, или е различно името, което тя използва, за да достигне нещо друго? На първия отговарят трите запазени стойности; на втория отговарят DNS заявките и използваният профил на връзката. Третирането им като един въпрос води до промени в настройките за идентичност в отговор на проблем с разрешаването на имена.
Ако наистина е нужно постоянно име на хост
Задаването на стойност е умишлено административно действие, а не козметично предпочитание, и стойността трябва да дойде от този, който притежава политиката за именуване на машината. Презаписването на управлявано име, за да изглежда подканата позната, може да счупи проверките на сертификати, мониторинга и всичко останало, което идентифицира хоста.
Когато промяната наистина е необходима, същият инструмент, който прочете стойностите, ги записва, и HostName приема напълно квалифицирано име, докато другите две очакват локалните форми. Запишете какво сте променили и защо, защото това е точно видът редакция, който изненадва следващия човек, който погледне машината.
За повечето доклади правилният отговор е по-малък, отколкото въпросът подсказва: прочетете и трите стойности, определете коя се различава и поправете само нея. Подканата беше симптом на нещо, а трите команди ви казват на какво.