Alias ​​dla adresów IP w domowej sieci LAN

23

Czy możliwe jest przypisanie czytelnego aliasu ciągu do adresu IP takiego jak 192.168.1.1? Może coś takiego:

192.168.1.1 -> router.home

lub

192.168.1.22 -> printer.home

Router nie musi być dostępny z zewnętrznej sieci, ale tylko w sieci LAN. W rzeczywistości nie powinien być dostępny z zewnątrz.

Chyba celem jest lokalny serwer DNS, który odpowiada na adres router.home. Masz pomysł, jak stworzyć taki alias?

EDYCJA: Odpowiedź Yamakaji działa świetnie, ale wymaga zmiany pliku hostów na każdym komputerze w sieci LAN. Czy zamiast tego można przeprowadzić lokalne wyszukiwanie DNS na routerze domowym? To pomijałoby dużo pracy ręcznej.

sanjihan
źródło
2
Zauważ, że niektóre routery robią to sami, na przykład, jeśli używasz routerów Asus i przejdziesz na router.asus.com , otworzy się strona konfiguracji routera. Inne routery mają podobne „sztuczki”, aby robić podobnie.
acejavelin
Nie, nie używam routera asus. Pytanie jest nieco bardziej ogólne ... Nie tylko chciałbym uzyskać dostęp do routera bez adresu IP, ale także innych urządzeń podłączonych do sieci. Dodam edycję.
sanjihan
2
Chodzi mi o to, że niektóre routery mają tę wbudowaną funkcję, ponieważ często działają one jako serwer buforujący DNS, ponieważ nie podałeś, którego routera używasz, pozostawiłem otwarte, aby „inne routery miały podobne sztuczki”
acejavelin
1
tak tak, rozumiem i dziękuję! router był tylko przykładem. wyobraź sobie, że w sieci LAN działa także drukarka, malinowy PI lub system wentylacji sterowany przez Internet.
sanjihan
@sanjihan Myślę, że będziesz musiał ujawnić markę i model routera lub powiedzieć, czego używasz dla DNS, aby ktoś dał ci dalsze instrukcje na temat konfiguracji, które możesz wykonać dla tego zadania. Podsumowując, 1.)stwórz i model routera lub 2.)tego, czego używasz dokładnie do DNS (np. DNS systemu Windows, wbudowane funkcje routera itp.)
Pimp Juice IT

Odpowiedzi:

18

Oprócz odpowiedzi Yamakaji , w ten sposób konfigurujesz lokalny serwer DNS.

Po pierwsze potrzebujesz komputera, na którym chcesz uruchomić serwer DNS. Może to być jeden z twoich normalnych komputerów (jeśli działają pod Linuksem i pracują przez większość czasu) lub na przykład Raspberry Pi . Zaletą takiego urządzenia jest to, że jest tani, nie wymaga dużej mocy i jest mały.

Konfigurowanie serwera DNS

Postanowiłem skonfigurować serwer DNS na Raspberry Pi dnsmasq, który jest małym narzędziem serwera DNS, idealnym do użycia w małych sieciach. Można również użyć bindde facto standardowego narzędzia DNS, ale jest to prawdopodobnie zbyt potężne dla małej sieci domowej.

Instaluj dnsmasqza pomocą menedżera pakietów, w systemach opartych na Debianie (np. Raspbian), komenda brzmi:

sudo apt-get install dnsmasq

Zakładam, że już skonfigurowałeś statyczny przydział adresów IP (tzn. Adresy IP, o których wspominasz w pytaniu, nie zmieniają się). Jeśli nie masz, dnsmasqmoże być również używany jako serwer DHCP, ale jeszcze tego nie zrobiłem.

dnsmasqpobiera nazwy hostów z /etc/hosts. Edytuj ten plik w następujący sposób:

# IP address    Host name
192.168.1.1     router
192.168.1.22    printer

Nazwa hosta routerjest teraz przypisana do192.168.1.1 , printerdo 192.168.1.22.

Teraz masz skonfigurowany własny serwer DNS, ale komputery w sieci jeszcze go nie używają. Aby zmusić ich do korzystania z tego serwera, musisz wykonać jeden krok przygotowania:

Znajdź adres IP swojego urządzenia dnsmasq za pomocą ip address(załóżmy, że to 192.168.1.42). Otwórz /etc/dnsmasq.confi dodaj następujące wiersze:

listen-address=127.0.0.1
listen-address=192.168.1.42

Mówi dnsmasqto, że powinien wysłuchać żądań, gdy są one kierowane albo do127.0.0.1 (gdy sam chce korzystać z serwera DNS) lub 192.168.1.42(tj. Gdy inne komputery chcą korzystać z serwera DNS).

Korzystanie z serwera DNS

Musisz powiedzieć każdemu komputerowi w sieci, że powinien (również) z niego korzystać 192.168.1.42 jako serwera DNS. Sposób, w jaki to robisz, zależy od systemu operacyjnego. Możesz to łatwo wyszukać w Internecie dla określonego systemu operacyjnego (po prostu wyszukaj „Zmień serwer DNS w <OS>” lub coś w tym rodzaju).

W przypadku systemu Windows 7 możesz wykonać ten samouczek: https://www.opennicproject.org/configure-your-dns/how-to-change-dns-servers-in-windows-7/ .

W moim systemie (Arch Linux) musiałem dołączyć następujący wiersz /etc/resolvconf.conf

name_servers=192.168.1.42

Uwaga: plik, którego musisz użyć, zależy od konfiguracji menedżera sieci. Dodaj adres IP serwera DNS na każdym komputerze, z którego chcesz korzystać z DNS.

Prawdopodobnie będziesz musiał ponownie uruchomić urządzenia, jeśli nie zadziała to natychmiast.

To już koniec. Możesz teraz uzyskać dostęp do wszystkich urządzeń, w które wpisałeś/etc/hosts na serwerze dnsmasq, po prostu używając nazwy hosta, którą mu nadałeś.

(Opcjonalnie) Sprawdzanie funkcjonalności

Jeśli chcesz sprawdzić, czy rozpoznawanie DNS działa poprawnie, zainstaluj dnsutils(Linux) w systemie, który powinien używać twojego serwera. Następnie wykonaj

$ dig router

To powinno zwrócić coś takiego

; <<>> DiG 9.10.4-P1 <<>> router
;; global options: +cmd
;; Got answer:
...

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;router.                        IN      A

;; ANSWER SECTION:
router.                 0       IN      A       192.168.1.1

;; Query time: 14 msec
;; SERVER: 192.168.1.42#53(192.168.1.42)
;; WHEN: So Jun 26 10:43:18 CEST 2016
;; MSG SIZE  rcvd: 50

Pokazuje nazwę hosta, którą chcesz rozwiązać, adres IP, na który została rozwiązana, oraz używany serwer DNS. Jak widać, wszystko jest w porządku.

(Opcjonalnie) Określanie TLD

Jeśli chcesz uzyskać dostęp do urządzeń nie tylko za pomocą routerlub, printerale również za pomocą router.homei printer.home, dodaj następujące wiersze do /etc/dnsmasq.conf:

expand-hosts # Tells dnsmasq to add a TLD to each host name
domain=home # The TLD

Może być konieczne ponowne uruchomienie komputera.

Źródła / dalsze czytanie

O dnsmasq:

Informacje bind(jeśli jesteś zainteresowany):

TuringTux
źródło
11

Tak, i są dwie (lub więcej?) Opcje:


Edycja pliku hosts (leniwy sposób)

W zależności od systemu operacyjnego będziesz musiał dodać wpis do pliku „hosts”. Można go znaleźć /etc/hostsna większości Unixoidów i C:\Windows\system32\drivers\etc\hostsna Windowsie.

Aby dodać wpis, przejdź na dół pliku i dodaj wiersz w tym formacie:

<IP>       <the hostname to assign>

na przykład.

192.168.1.1      router

(Uwaga, spacja między ip a nazwą hosta nie ma znaczenia. Wygląda jednak lepiej, jeśli pasuje do innych wpisów. Możesz używać tabulatorów lub spacji)

Następnie możesz uzyskać dostęp do routera w przeglądarce, po prostu uzyskując dostęp

http://router/

lub

router/

Lokalny serwer DNS

Proszę zobaczyć odpowiedź TuringTux za więcej informacji

Yamakaja
źródło
Dzięki stary! Działa to świetnie na jednym komputerze. Czy można to rozszerzyć na wszystkie komputery w sieci LAN bez ręcznej zmiany pliku hosts na każdym komputerze?
sanjihan
@sanjihan To nie jest takie proste, na przykład możesz kupić własną nazwę domeny za mniej niż 1 $ na namecheap i użyć jej, aby wskazać swoje rzeczy. Na przykład możesz skonfigurować router. <twoja_domena>. <tld>, aby wskazać 192.168.1.1 Ale to wydłuży twoje nazwy. Proszę również zaznaczyć moją odpowiedź jako zaakceptowaną, aby inni użytkownicy wiedzieli, że odpowiedź na to pytanie.
Yamakaja,
Czy możesz po prostu użyć nazwy komputera, jeśli należą one do tej samej grupy roboczej?
jiggunjer
@ jiggunjer, właściwie nie wiem. Nie znam się na Windowsie
Yamakaja
2

Chcę zaktualizować świetną odpowiedź powyżej:

Możesz zajrzeć do routera i sprawdzić, czy obsługuje on ręczne wprowadzanie DNS.

Jeśli tak, możesz po prostu dodać na nim swój 192.168.1.22adres lokalny jako printer.home. W przeciwnym razie obawiam się, że masz ograniczoną edycję plików lokalnych hostów lub własną konfigurację serwera DNS.

Valentin
źródło