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?
Odpowiedzi:
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 view
w 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ącdpkg -l|grep libnss-winbind
.Po zainstalowaniu biblioteki musisz włączyć ją w
/etc/nsswitch.conf
pliku. 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ą takMówi to systemowi, aby najpierw przejrzał
/etc/hosts
plik, a następnie skonfigurowany DNS w celu rozpoznania nazw hostów.Musisz zmodyfikować w ten sposób:
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 start
to aktywować.źródło
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
źródło