W Internecie, w tym w sieciach lokalnych, urządzenia wywołują się nawzajem według adresów IP . Aby uzyskać dostęp do komputera B z komputera A przy użyciu nazwy komputera B, komputer A musi mieć sposób na zmapowanie nazwy B na jej adres IP. Istnieją trzy sposoby deklarowania nazw komputerów na A:
- plik hosts . Jest to prosty plik tekstowy, który mapuje nazwy na adresy.
- System nazw domen (DNS) . Jest to metoda stosowana w globalnym Internecie. Na przykład po załadowaniu tej strony w przeglądarce pierwszą rzeczą, którą robi komputer, jest wysłanie żądania DNS o podanie adresu
unix.stackexchange.com
.
- inne bazy danych nazw, takie jak NIS , LDAP lub Active Directory . Są one używane w niektórych sieciach korporacyjnych, ale niezbyt często (wiele sieci korzystających z NIS, LDAP lub AD w bazach danych użytkowników używa DNS do nazw komputerów). Jeśli Twoja sieć korzysta z jednego z nich, masz profesjonalnego administratora sieci i powinieneś zapytać go, co robić.
Istnieje wiele sposobów, w jakie mogą one działać w praktyce; nie można ich wszystkich objąć. W tej odpowiedzi opiszę kilka typowych sytuacji.
Plik hostów
Zaletą metody pliku hosts jest to, że nie wymaga żadnej specjalnej metody. Może to być kłopotliwe, jeśli masz kilka komputerów, ponieważ musisz aktualizować każdy komputer, gdy zmienia się nazwa jednego komputera. Nie nadaje się, jeśli adres IP B jest przypisywany dynamicznie (aby uzyskać inny za każdym razem, gdy łączysz się z siecią).
Plik hosts to prosta lista linii mapujących nazwy na adresy IP. To wygląda tak:
127.0.0.1 localhost localhost.localdomain
198.51.100.42 darkstar darkstar.bands
W systemach unix plik hosts to /etc/hosts
. W systemie Windows tak jest c:\windows\system32\drivers\etc\hosts
. Prawie każdy system operacyjny, który można połączyć z Internetem, ma podobny plik; Wikipedia ma listę .
Aby dodać wpis dla B w pliku hosts A:
Określ adres IP B. Na B uruchom komendę ifconfig
(jeśli komenda nie zostanie znaleziona, spróbuj /sbin/ifconfig
). Dane wyjściowe będą zawierać takie wiersze:
eth1 Link encap:Ethernet HWaddr 01:23:45:67:89:ab
inet addr:10.3.1.42 Bcast:10.3.1.255 Mask:255.255.255.0
W tym przykładzie adres IP B to 10.3.1.42. Jeśli jest kilka inet addr:
linii, wybierz tę, która odpowiada twojej karcie sieciowej, nigdy lo
wpis lub tunel lub wpis wirtualny.
- Edytuj plik hosts na A. Jeśli A ma jakiś system uniksowy, musisz edytować go
/etc/hosts
jako superużytkownik; zobacz Jak uruchomić polecenie jako administrator systemu (root) .
DHCP + DNS w sieciach domowych lub małych biurach
Ta metoda jest zdecydowanie najprostsza, jeśli masz wymagany sprzęt. Musisz tylko skonfigurować jedno urządzenie, a wszystkie twoje komputery będą wiedzieć o swoich nazwach. Ta metoda zakłada, że komputery uzyskują adresy IP przez DHCP , co jest metodą automatycznego pobierania adresu IP przez komputery po podłączeniu do sieci. Jeśli nie wiesz, co to jest DHCP, prawdopodobnie tak.
Jeśli sieć ma router domowy , najlepiej jest skonfigurować nazwy urządzeń podłączonych do tego routera. Najpierw musisz dowiedzieć się, jaki jest adres MAC B. Każde urządzenie sieciowe ma unikalny adres MAC. Na B uruchom polecenie ifconfig -a
(jeśli polecenie nie zostanie znalezione, spróbuj /sbin/ifconfig -a
). Dane wyjściowe będą zawierać takie wiersze:
eth1 Link encap:Ethernet HWaddr 01:23:45:67:89:ab
W tym przykładzie adres MAC to 01:23:45:67:89:ab
. Musisz wybrać linię HWaddr, która odpowiada portowi sieciowemu, który jest podłączony do routera za pomocą kabla (lub karty Wi-Fi, jeśli masz połączenie przez Wi-Fi). Jeśli masz kilka wpisów i nie wiesz, który jest, podłącz kabel i sprawdź, które urządzenie sieciowe otrzymuje adres IP ( inet addr
linia poniżej).
Teraz w interfejsie internetowym routera wyszukaj ustawienie takie jak „DHCP”. Nazwa i lokalizacja ustawienia jest całkowicie zależna od modelu routera, ale większość ma podobny zestaw ustawień podstawowych. Oto jak to wygląda na oprogramowaniu układowym Tomato :
Wprowadź adres MAC, adres IP i żądaną nazwę. Możesz wybrać dowolny adres IP z zakresu adresów sieci lokalnej. Większość routerów domowych jest wstępnie skonfigurowana dla zakresu adresów w postaci 192.168. x . y lub 10. x . y . z . Na przykład na pokazanym powyżej routerze Tomato na zakładce „Network” znajduje się ustawienie „adresu IP routera” o wartości 10.3.0.1 i „maska podsieci” o wartości 255.255.255.0, co oznacza, że komputery sieć lokalna musi mieć adres 10.3.0. z . Istnieje również zakres adresów dla automatycznie przypisywanych adresów DHCP (10.3.0.129–10.3.0.254); dla ręcznie przypisanego adresu DHCP wybierz adres spoza tego zakresu.
Teraz podłącz B do sieci, która powinna uzyskać podany adres IP i będzie dostępna pod podaną nazwą z dowolnego komputera w sieci.
Stwórz własny serwer DNS z Dnsmasq
Jeśli nie masz sprawnego routera domowego, możesz skonfigurować tę samą funkcjonalność na dowolnym komputerze z systemem Linux. Wyjaśnię, jak używać Dnsmasq do konfigurowania DNS . Istnieje wiele innych podobnych programów; Wybrałem Dnsmasq, ponieważ jest łatwy do skonfigurowania i lekki (jest to, na przykład, przykład wykorzystania routera Tomato zilustrowanego powyżej). Dnsmasq jest dostępny w większości dystrybucji Linuksa i BSD na komputery PC, serwery i urządzenia sieciowe.
Wybierz komputer, który jest zawsze włączony, ma statyczny adres IP i działa na nim jakiś system Linux lub BSD; nazwijmy to S (dla serwera). Na S zainstaluj dnsmasq
pakiet (jeśli jeszcze go nie ma). Poniżej założę, że plik konfiguracyjny to /etc/dnsmasq.conf
; lokalizacja może się różnić w zależności od dystrybucji. Teraz musisz zrobić kilka rzeczy.
Możesz również użyć Dnsmasq jako serwera DHCP , aby maszyny mogły automatycznie uzyskać adres odpowiadający ich nazwie. To wykracza poza zakres tej odpowiedzi; zajrzyj do dokumentacji Dnsmasq (nie jest to trudne). Pamiętaj, że w danej sieci lokalnej może być tylko jeden serwer DHCP (dokładna definicja sieci lokalnej wykracza poza zakres tej odpowiedzi).
Nazwy w globalnym Internecie
Do tej pory założyłem sieć lokalną. Co jeśli chcesz nadać nazwę maszynie, która znajduje się w innym zakątku świata? Nadal możesz używać dowolnej z powyższych technik, z tym wyjątkiem, że części związane z DHCP mają zastosowanie tylko w sieci lokalnej. Alternatywnie, jeśli twoje maszyny mają publiczne adresy IP, możesz zarejestrować dla nich swoją własną nazwę publiczną. (Możesz również przypisać prywatny adres IP do nazwy publicznej; jest on mniej powszechny i mniej przydatny, ale nie ma trudności technicznych).
Uzyskiwanie własnej nazwy domeny
Możesz uzyskać własną nazwę domeny i przypisać adresy IP do nazw hostów w tej domenie. Musisz zarejestrować nazwę domeny u dostawcy nazwy domeny; zazwyczaj kosztuje to 10–15 USD rocznie (w przypadku najtańszych domen). Użyj interfejsu internetowego dostawcy nazwy domeny, aby przypisać adresy do nazw hostów.
Dynamiczny DNS
Jeśli twoje maszyny mają dynamiczny adres IP, możesz użyć dynamicznego protokołu DNS , aby zaktualizować adres IP powiązany z nazwą urządzenia, gdy adres się zmieni. Nie wszyscy dostawcy nazw domen obsługują dynamiczny DNS, więc kupuj przed zakupem. Na własny użytek No-IP zapewnia bezpłatną usługę dynamicznego DNS, jeśli korzystasz z własnych domen (np example.ddns.net
.).
ping
) lub na maszynie, z którą klient się konsultuje. Jaki jest system operacyjny na kliencie? Jaka jest jego konfiguracja DNS?