Czy VPN zmienił nazwę Twojego Maca? Porównaj trzy wartości nazwy hosta
Zmieniony wiersz poleceń Terminala to nie zmiana nazwy. ComputerName, LocalHostName i HostName przechowują różne wartości, a jedna z nich często po prostu nie jest ustawiona.
Wiersz zachęty, który wcześniej pokazywał jedno, teraz pokazuje co innego, a połączeniem, które się zmieniło, był VPN. To cały dowód, jaki ma większość ludzi, zanim dojdzie do wniosku, że Mac został przemianowany, i to nie wystarcza. macOS przechowuje co najmniej trzy osobne wartości nazwy, każda ma inne zadanie, a wiersz zachęty powłoki pokazuje co najwyżej jedną z nich w sposób łatwy do błędnego odczytania.
Ich porównanie wymaga trzech poleceń i rozstrzyga kwestię, zanim ktokolwiek coś edytuje.
Trzy wartości, trzy zadania
Wszystkie trzy to ciągi, które system chętnie zgłosi, a pokusa polega na tym, by pierwszą znalezioną wartość uznać za rozstrzygającą. Tak użytkownik kończy na „naprawianiu” niewłaściwego pola i obserwowaniu, jak objaw przetrwa.
| 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 |
Trzeci wiersz to miejsce, w którym zaczyna się większość zamieszania. Nieustawiona HostName to normalny stan, a nie uszkodzenie, i oznacza, że system sięga do innych źródeł, gdy potrzebuje nazwy hosta. Odczytanie tej pustki jako szkody prowadzi do poprawki, która nigdy nie była potrzebna. Ukrywa też prawdziwe pytanie, którym nie jest to, jak nazywa się maszyna, lecz to, której nazwy używa dane wyszukiwanie lub wiersz zachęty w tej chwili. Odpowiedz na to, a pusta wartość przestanie wyglądać jak usterka.
Czytaj, zanim napiszesz
Te trzy polecenia tylko zgłaszają wartości. Niczego nie zmieniają, co czyni je bezpiecznymi do uruchomienia podczas dochodzenia.
scutil --get ComputerName
scutil --get LocalHostName
scutil --get HostName
Uruchom je w tej samej sesji lokalnej przed i po dozwolonym połączeniu VPN, i zanotuj, która wartość faktycznie się różni. Jeśli nic się nie różni, a wiersz zachęty nadal wygląda źle, nazwa nigdy nie była problemem: coś w konfiguracji powłoki lub w sesji zdalnej pokazuje inny ciąg.
Przewodnik Apple dotyczący nazw komputerów i lokalnych nazw hostów umieszcza nazwę przyjazną w sekcjach General i About, a nazwę lokalną w General i Sharing. Dokumentuje także automatyczny przyrostek dodawany, gdy inny Mac w tym samym połączeniu już używa nazwy, co warto wiedzieć, zanim nieoczekiwaną liczbę uzna się za dowód manipulacji.
Co wiersz zachęty powłoki naprawdę dowodzi
Wiersz zachęty to ciąg budowany przez powłokę, a jego element nazwy hosta może pochodzić z rozwiniętej nazwy hosta, jej skróconej formy lub wartości zapisanej na stałe w pliku profilu. Może też należeć do sesji SSH na zupełnie innej maszynie, co jest najmniej efektownym wyjaśnieniem i zdecydowanie najczęstszym dla wiersza zachęty, który zmienił się w chwili połączenia z VPN.
Sprawdź, gdzie jesteś, zanim sprawdzisz, jak się nazywasz. Uruchom hostname i porównaj go z trzema zapisanymi wartościami, a następnie zajrzyj do ustawienia wiersza zachęty powłoki, czy w ogóle pokazuje hosta. Jeśli wiersz zachęty zawiera dosłowny ciąg, który ktoś wpisał do pliku konfiguracji lata temu, żadna zmiana systemu nigdy nie sprawi, że będzie pasować.
Porównanie ma znaczenie także dla raportowania. Wiersz zachęty wyglądający inaczej i zapisana ComputerName, która naprawdę się zmieniła, to dwa ustalenia z dwoma różnymi właścicielami, a scalenie ich w jedno zdanie wysyła następnego inżyniera w niewłaściwe miejsce.
Gdzie VPN może zgodnie z prawem dotknąć nazewnictwa
VPN zmienia to, które resolvery i domeny wyszukiwania są istotne, i może przekazać klientowi nazwę hosta przez DHCP, jeśli klient jest skonfigurowany, by ją przyjąć. To realny mechanizm, a zarazem węższy niż „VPN przemianował mojego Maca”. To, że resolver zmienia, która nazwa jest rozwiązywana dla danego adresu, nie przepisuje zapisanych wartości lokalnych.
Oddziel więc dwa pytania. Czy odmienna jest tożsamość samej maszyny, czy odmienna jest nazwa, której używa ona, by dotrzeć do czegoś innego? Na pierwsze odpowiadają trzy zapisane wartości; na drugie zapytania DNS i używany profil połączenia. Traktowanie ich jako jednego pytania prowadzi do zmian ustawień tożsamości w odpowiedzi na problem rozwiązywania nazw.
Jeśli trwała nazwa hosta jest naprawdę konieczna
Ustawienie wartości jest świadomym działaniem administracyjnym, a nie kosmetyczną preferencją, i wartość powinna pochodzić od tego, kto odpowiada za politykę nazewnictwa maszyny. Nadpisanie nazwy zarządzanej, by wiersz zachęty wyglądał znajomo, może zepsuć kontrole certyfikatów, monitoring i wszystko inne, co identyfikuje hosta.
Tam, gdzie zmiana jest naprawdę konieczna, to samo narzędzie, które odczytało wartości, je zapisuje, a HostName przyjmuje w pełni kwalifikowaną nazwę, podczas gdy pozostałe dwie oczekują form lokalnych. Zapisz, co zmieniłeś i dlaczego, bo to właśnie ten rodzaj edycji zaskakuje następną osobę, która spojrzy na maszynę.
Dla większości zgłoszeń właściwa odpowiedź jest mniejsza, niż sugeruje pytanie: przeczytaj wszystkie trzy wartości, ustal, która się różni, i popraw tylko tę. Wiersz zachęty był objawem czegoś, a trzy polecenia mówią ci, czego.