Czy w Linuksie można aliasować nazwę hosta?
Został zapytany przez jmillikin na różnych forach Ubuntu w następujący sposób:
# Real host # Aliases
realhost fakehost1 fakehost2 fakehost3
Ktoś odpowiedział na temat ssh, ale nie na temat ping itp. Moim głównym celem jest użycie go jako aliasu dla serwera Subversion . W moim przypadku realhost ma dynamiczny adres IP. Tak więc alias „/ etc / hosts” nie działa. Chcę uzyskać dostęp do mojego serwera Subversion jak svn://my_svnserver/my_repos
zamiast
svn://realhost/my_repos
.
Odpowiedzi:
Dla tych, którzy nie mają konta na forach (lub nie chcą się zalogować):
źródło
Linux obsługuje aliasing, ustawiając zmienną env HOSTALIASES.
wtedy możesz
NB ping wymaga skonfigurowania go jako root, ale możesz to zrobić jako dowolny użytkownik dla dowolnej aplikacji działającej jako ten użytkownik. ping suids do rootowania.
źródło
Możesz to skonfigurować na serwerze DNS, rekordy CNAME pozwalają na rozpoznanie komputera przez więcej niż jedną nazwę hosta. Dodaj więc rekordy CNAME do swojego serwera DNS w ten sposób:
źródło
dnsmasq
(obsługuje również DHCP).Często robię to ze zmiennymi środowiskowymi. Wiem, że działa to tylko w wierszu poleceń, ale tutaj najczęściej pragnę aliasów nazw hostów (pracowałem z kilkoma kontami superkomputerów, wszystkie z długimi adresami URL). Oto przykład, jeśli używasz BASH. W ~ / .bashrc:
export fakehost = "long.ass.annoying.url.org"
następnie w świeżej skorupce:
ssh christopher @ $ fakehost
źródło
Jedynym sposobem, aby to zrobić, jest posiadanie własnego lokalnego serwera DNS.
źródło
Zastosowanie /etc/hosts.aliases jest standardową funkcją bibliotek resolvera wiązania. Jest bardziej solidny niż dodawanie wpisów do / etc / hosts i może być używany, jeśli nie możesz dodać CNAMES do swojego DNS (nie masz do niego dostępu).
Ogólnie najlepszą praktyką jest używanie CNAMES w DNS z odpowiednim WYSZUKIWANIEM zdefiniowanym w /etc/resolv.conf.
Aktualizacja / etc / hosts nie jest bardzo niezawodna, ponieważ wpisy muszą być synchronizowane ze zmianami adresu IP. To naprawdę działa tylko na małą skalę lub gdy używasz usługi nazw do dystrybucji mapy hostów (np. Przez ldap).
Innym rozwiązaniem może być DNSMasq http://en.wikipedia.org/wiki/Dnsmasq
źródło
Będziesz potrzebował serwera dyndns, który zamapuje twój obecny adres IP na nazwę hosta. Po zalogowaniu się poinformujesz ten serwer o swoim bieżącym adresie IP, a on zaktualizuje rekord nazwy hosta.
źródło