Jak rozwiązać nazwę lokalnej domeny?

21

Mój router Belkin ma opcję ustawienia lokalnej nazwy domeny, co, jak podejrzewam, pozwala mi adresować hosty w mojej sieci za pomocą tej domeny. Domyślnie jest to „Belkin”.

Czy można zadzwonić do hostów w mojej sieci w ten sposób, np. ping foobar.belkinZamiast ping 192.168.2.4?

Rzecz w tym, że moja wewnętrzna strona routerów pokazuje wszystkie ustawione nazwy hostów ( dhclientwydaje się, że działa), a sam router jest dostępny router.belkin, ale nie ma innych hostów.

Mój problem polega na tym, że router zna nazwę każdego hosta, ale hosty nie znają się nawzajem. Jak mogę to naprawić?

Uwaga: Nmap pokazał, że port udp / 53 dla DNS jest otwarty na moim routerze, ale nie mogę znaleźć żadnego sposobu na skonfigurowanie go w interfejsie internetowym.

Dodaj: // To „Belkin F7D3302 v1”

MechMK1
źródło
Czy możesz pingować lokalnych klientów przez IP?
M.Bennett
Tak, bez problemu
MechMK1
Chociaż mogę uzyskać dostęp do mojego urządzenia FRITZ! Box za pomocą http://fritz.box, uzyskuję dostęp do innych komputerów w jego sieci, używając .localraczej niż .box. Wcześniej był to inny modem / router .lan.
Arjan
Myślę, że wszyscy wyprzedziliśmy siebie, odpowiadając na to pytanie, nie wiedząc, jakiego produktu Belkin używa. Z jakiego modelu routera korzystasz?
Qwilson

Odpowiedzi:

11

Zasadniczo router nie będzie działał jako serwer DNS, ale często będzie działał jako serwer proxy DNS. Oznacza to, że w DHCP podadzą swój własny adres IP jako serwer DNS, a następnie odwrócą się i uderzą w prawdziwe serwery DNS. Jeśli tak się dzieje, pomyślałem, że możesz rozwiązać te lokalne nazwy .belkin.

Sprawdź ipconfig / all i sprawdź, czy brama domyślna i serwer DHCP mają ten sam adres IP. Jeśli nie, wpisz nslookup, a następnie wpisz „server ROUTER_IP” w wierszu polecenia i spróbuj wyszukać na google.com. Jeśli to zadziała, prawdopodobnie w routerze jest takie ustawienie, aby nadało swój własny adres IP jako serwer DNS, który nie jest sprawdzany.

Dave Noonan
źródło
14

Jeśli maszyny w Twojej sieci LAN mają stosunkowo nowoczesny system operacyjny, możesz uzyskać do nich dostęp, dodając „.local” do nazwy hosta, jak poniżej:

ping MACHINE_NAME.local

Aby uzyskać nazwę z danego adresu IP, użyj

avahi-resolve-address MACHINE_IP

Aby zobaczyć wszystkie nazwy podłączonych komputerów i adresy IP w sieci lokalnej, użyj czegoś takiego jak to polecenie BASH:

px-lan-scan () {
    LOCAL_MASK=$(ip -o -4 addr show | awk -F '[ /]+' '/global/ {print $4}' | cut -d. -f1,2,3)
    GATEWAY=$(route -n | \grep '^0.0.0.0' | awk '{print $2}')
    if [ $1 ] ; then range=$1 ; else range="10" ; fi

    for num in $(seq 1 ${range}) ; do
        IP=$LOCAL_MASK.$num
        if [[ $IP == $GATEWAY ]] ; then MACHINE="gateway" ; else MACHINE=$(avahi-resolve-address $IP 2>/dev/null | sed -e :a -e "s/$IP//g;s/\.[^>]*$//g;s/^[ \t]*//") ; fi
        ping -c 1 $IP>/dev/null
        if [ $? -eq 0 ] ; then
            echo -e "UP    $IP \t ($MACHINE)" ; else
            echo -e "DOWN  $IP"
        fi
    done
}
yPhil
źródło
1

Jasne, to właśnie robię z routerem w domu.

Router powinien być w stanie to zrobić, dopóki masz włączone funkcje obsługi DNS, aby przetwarzał żądania DNS dla sieci LAN dla tej domeny (będzie przekazywał żądania innych domen do zwykłych serwerów DNS, takich jak Twoja sieć przeglądanie nie jest uszkodzone na klientach).

Musisz sprawić, aby każdy klient używał routera do wyszukiwania DNS, co prawdopodobnie wyskoczy z pudełka, zakładając, że używasz również DHCP.

Sirex
źródło
Mój router jest serwerem DHCP, ale nie jestem pewien, czy może on służyć jako serwer DNS. Przynajmniej nie znalazłem takiej opcji
MechMK1
Byłbym zaskoczony, gdyby nie było, szczerze mówiąc. Używam routera asus, ale z oprogramowaniem układowym ddwrt. Jestem pewien, że można to zrobić po wyjęciu z pudełka.
Sirex,
Trochę
googlowałem
@Sirex Myślę, że kluczową różnicą tutaj jest to, że router ASUS używa DDWRT do swojego oprogramowania. To oprogramowanie, podobnie jak OpenWRT, jest dobrze znane z zapewniania wspaniałych funkcji, jakich można oczekiwać od routera
b01,
1

Krótka odpowiedź brzmi (w przeważającej części) nie. Router (w większości przypadków) nie jest serwerem dns. Możesz jednak ustawić wpisy statyczne dla wszystkich swoich urządzeń, a następnie dodać je do listy hostów w ramach danych urządzeń.

Belkin F7D3302 nie obsługuje obsługi DNS.

Qwilson
źródło
Być może masz rację, ale wszystkie modemy / routery, których używałem (jak SpeedTouch, FRITZ! Box), mają wbudowany serwer DNS. (A przynajmniej zawsze mogłem używać nazw komputerów zamiast adresów IP).
Arjan
David używa Belkina. Wspomniał, że nie widzi miejsca do konfiguracji ustawień dns w routerze. Moja odpowiedź była oparta na założeniu (utworzonym z podanych informacji), że ten router nie będzie zarządzał dns.
Qwilson
Tak, to działa, ale jest to najbardziej niepożądana opcja, ponieważ jest bardzo trudna w utrzymaniu. A jeśli router zmieni którykolwiek z adresów IP, psuje się.
b01,
1

Miałem dokładnie ten sam problem.

Problem polega na tym, że jeśli spróbujesz zaadresować nazwę lokalnego hosta, router automatycznie doda „.belkin”, zakładając, że belkin jest tym, co ustawiłeś jako lokalną nazwę domeny. Zmiana na coś innego nie rozwiąże problemu i nie możesz tego pozostawić pustego.

Jak powiedział wyżej xaccrocheur, większość współczesnych systemów operacyjnych uzyska dostęp do większości rzeczy, dodając .local. Więc ... Zrobiłem coś w rodzaju obejścia, które działa dobrze z większością moich komputerów. Zmieniłem ustawienie lokalnej nazwy domeny na routerze na lokalne

Teraz mogę uzyskać dostęp do MOST urządzeń tylko według nazwy hosta

Przędzarka
źródło
0

Zainstaluj i skonfiguruj serwer dns w sieci lokalnej, zarejestruj go na wszystkich hostach, najpierw wpisz wewnętrzny serwer dns na liście serwerów dns na routerze Belkin. Wtedy będziesz miał co chcesz.

STTR
źródło
1
Chciałbym z szacunkiem nie zgodzić się z twoją odpowiedzią. Umieszczenie serwera dns w sieci byłoby rozwiązaniem, ale biorąc pod uwagę fakt, że pytanie Davida jest specyficzne dla uzyskania dns przez router, nie jest to akceptowalna odpowiedź.
Qwilson
@Qwilson Gorgeous. Gdzie zatem trzeba przechowywać i lokalizować rekordy dns dla lokalnego urządzenia?
STTR
W przypadku (większości) urządzeń lokalnych dostępny będzie plik hosta dla rekordów wewnętrznych oraz serwer dedykowany dla rekordów zewnętrznych (np. 8.8.8.8).
Qwilson
0

Chociaż nie sugeruję zrobienia tego, dałoby to pożądany rezultat (możliwość pingowania lokalnych nazw hostów bez konfigurowania osobnego serwera DNS)

  1. Na podstawowym komputerze przejdź do C: \ Windows \ System32 \ drivers \ etc
  2. otwórz plik hosts za pomocą notatnika
  3. przewiń do dołu pliku hosts
  4. dodaj nowy wiersz poniżej ostatnio komentowanego wiersza w pliku, który wygląda następująco

192.168.2.1 router.belkin

192.168.2.2 nazwa hosta

192.168.2.3 nazwa hosta 2

Zapisz plik hosts.

Teraz spróbuj pingować nazwę hosta i host2, powinieneś zobaczyć następujące informacje

ping hostname2

Pinging hostname2 [192.168.2.3] with 32 bytes of data:

ping hostname

Pinging hostname2 [192.168.2.2] with 32 bytes of data:

Znów nie tak bym to zrobił. Chciałbym sam skonfigurować serwer DNS, ale jeśli nie masz tej opcji, jest to szybka i brudna alternatywa.

Och, nie zapomnij, jeśli planujesz to zrobić, dodaj się do uprawnień bezpieczeństwa w pliku hosts, aby móc pisać do pliku. Nie zapomnij również skopiować tego pliku hosts na wszystkie inne komputery w sieci.

Richie086
źródło