Ubuntu nie może pingować nazwy hosta, ale może pingować adres IP?

14

Po prostu poszedłem do świata Ubuntu w celach administracyjnych. Znalazłem podobne wątki, z wyjątkiem tego, że mogę pingować własną nazwę hosta i adres IP, a moje okna mogą pingować nazwę hosta Linux, ale Ubuntu nie może pingować nazwy hosta Windows.

Problem:

  • Mam 4 komputery z systemem Windows i mam 1 komputer z systemem Ubuntu
  • Mój system Windows może pingować komputer Ubuntu według nazwy hosta i adresu IP. Ponadto Net View (monit cmd) wyświetla nazwę hosta komputera Ubuntu.
  • Komputer Ubuntu może pingować tylko według adresu IP Nie według nazwy hosta. Zainstalowałem również Sambę.
  • Komputer Ubuntu może pingować się według adresu IP i nazwy hosta
  • Mogę użyć polecenia arp i wyświetli wszystkie komputery IP w sieci, ale tylko według adresu IP.

Jak to możliwe, że mogę pingować tylko na podstawie adresu IP, a nie nazwy hosta na komputerach z systemem Windows? Ale Ubuntu może pingować się według adresu IP i nazwy hosta, a komputery z systemem Windows mogą również pingować Ubuntu według nazwy hosta?

użytkownik2805313
źródło
Wypróbuj nazwę hosta we WSZYSTKICH KAPSACH. to może być sztuczka.
jrg
Tak, próbowałem tego, ale bez powodzenia. = (Ktoś powiedział, aby dodać .local na końcu. Moi współpracownicy powiedzieli, że muszę skonfigurować sieć, aby wskazywała na router, aby mogła to zrozumieć. Więc wypróbuję to, a jeśli to zadziała, pójdę naprzód i opublikuj odpowiedź
user2805313
Może to być problem z serwerem DNS. Skonfiguruj poprawnie ustawienia serwera DNS. Może te dwa źródła mogą ci pomóc. serverfault.com/questions/389522/… . askubuntu.com/questions/23011/… .
Wolverine,

Odpowiedzi:

22

Opisany tutaj problem może w ogóle nie być związany z DNS.

Musisz wiedzieć, że Windows może rozpoznać nazwę hosta Windows na jego adres IP za pomocą innych mechanizmów niż standardowy DNS: wyszukiwanie NetBIOS, WINS, ...

Jak powiedziałeś, że masz zainstalowaną Sambę na Ubuntu, prawdopodobnie tak się dzieje. Na wszystkich komputerach z systemem Windows, gotowe jest, aby nazwa systemu Windows została rozpoznana na jej adres IP. Ponieważ Samba jest instalowana w systemie Ubunut, na komputerze z systemem Windows widzą komputer Ubuntu jako komputer z systemem Windows i możliwa jest taka sama rozdzielczość.

Mówisz, że działasz net vieww systemie Windows i widzisz swój komputer Ubuntu, więc nazwa NetBIOS jest dobrze opublikowana w twojej sieci, więc działa z Windows.

Aby osiągnąć to samo zachowanie w systemie Ubuntu, jak w systemie Windows, musisz zainstalować i skonfigurować dodatkowe oprogramowanie. Musisz dodać bibliotekę odnośników, która pozwoli Ubuntu na konwersję nazw NetBIOS na IP. Ta biblioteka jest zawarta w pakiecie libnss-winbind .

Podobnie jak w przypadku innych pakietów Ubuntu, instalujesz go w ten sposób sudo apt-get install libnss-winbind. Być może biblioteka jest już zainstalowana, możesz sprawdzić jej obecność, wykonując dpkg -l|grep libnss-winbind.

Po zainstalowaniu biblioteki musisz włączyć ją w /etc/nsswitch.confpliku. Ten plik jest plikiem konfiguracyjnym dla NSS ( Name Service Switch ), który określa, z których źródeł Linux jest w stanie rozpoznać nazwę hosta, nazwy użytkowników, nazwy grup i tak dalej.
W tym pliku masz już linię zaczynającą się od hosts:, prawdopodobnie wyglądającą tak

hosts:          files dns

Mówi to systemowi, aby najpierw przejrzał /etc/hostsplik, a następnie skonfigurowany DNS w celu rozpoznania nazw hostów.
Musisz zmodyfikować w ten sposób:

hosts:          files dns wins

Pamiętaj, że kolejność plików słów , dns i wygranych jest ważna. Najpierw system sprawdzi plik lokalny pod kątem rozdzielczości, następnie zapyta serwer DNS, a na koniec, jeśli jeszcze nie zostanie znaleziony, przeprowadzi wyszukiwanie NetBIOS.

Po zaktualizowaniu, aby działało poprawnie, musisz mieć uruchomioną usługę winbind . Pakiet zawierający go jest zależny od libnss-winbind , więc został zainstalowany razem z nim.
Czy service winbind startto aktywować.

Benoit
źródło
Nie zapomnij użyć sudo z poleceniem usługi winbind start.
Tristan
0

Konwersja nazw hostów na IP może nastąpić, jeśli:

- Zadeklarujesz je w pliku / etc / hosts (niezalecane)

-Masz to z serwera DNS.

Powiedziałbym, że twój problem może polegać na tym, że konfiguracja interfejsu sieciowego nie ma serwera DNS lub nie używa tego, z którego korzystają urządzenia Windows. Jeśli używają konfiguracji interfejsu DHCP, najczęściej włączana jest konfiguracja DNS, a jeśli masz serwer domeny Windows w sieci, najprawdopodobniej używają go jako podstawowego DNS.

Spróbuj: „nslookup some_machine_name” w wierszu poleceń, aby zobaczyć, co się stanie. Powie ci, z którego serwera korzystasz, jeśli w ogóle.

HTH

Pirofor
źródło