Описана тут проблема може взагалі не пов’язана з DNS.
Ви повинні знати, що Windows може вирішити ім'я хоста Windows до його IP за допомогою інших механізмів, ніж стандартний DNS: пошук NetBIOS, WINS, ...
Як ви сказали, у вас на Ubuntu встановлено Samba, це, мабуть, те, що відбувається. На всіх ваших комп'ютерах Windows, можливо, поза межами коробки, ім'я Windows має вказати його IP-адресу. Коли Samba встановлений на Ubunut, для вашого ПК з Windows вони бачать ПК Ubuntu як ПК з Windows, і таке ж дозвіл можливо.
Ви говорите, що ви працюєте net view
в Windows і бачите свій ПК Ubuntu, тому ім'я NetBIOS добре опубліковане у вашій мережі, тому воно працює з Windows.
Щоб досягти такої ж поведінки в Ubuntu, як у Windows, вам доведеться встановити та налаштувати додаткові фрагменти програмного забезпечення. Вам потрібно додати бібліотеку пошуку, яка дозволить Ubuntu конвертувати імена NetBIOS в IP. Ця бібліотека міститься в пакеті libnss-winbind .
Як і будь-який інший пакет Ubuntu, ви встановлюєте його, виконуючи sudo apt-get install libnss-winbind
. Можливо, бібліотека вже встановлена, ви можете перевірити її наявність, зробивши це dpkg -l|grep libnss-winbind
.
Після встановлення бібліотеки ви повинні увімкнути її у /etc/nsswitch.conf
файлі. Цей файл є конфігураційним файлом для NSS ( Name Service Switch ), який визначає, з яких джерел Linux може вирішувати ім'я хоста, імена користувачів, імена груп тощо.
У цьому файлі ви вже маєте рядок, починаючи з hosts:
, ймовірно, схожого на це
hosts: files dns
Це повідомляє вашій системі спочатку заглянути у /etc/hosts
файл, а потім у налаштований DNS, щоб вирішити імена хостів.
Ви повинні змінити таким чином:
hosts: files dns wins
Зауважте, що порядок файлів слів , dns та win є важливими. Спочатку система перевірить локальний файл на дозвіл, потім запитає сервер DNS і, нарешті, якщо його ще не знайдено, здійснить пошук NetBIOS.
Після того як це буде оновлено, щоб правильно функціонувати, вам також потрібно запустити службу winbind . Пакет, що містить його, є залежністю libnss-winbind , тому він був встановлений уздовж нього.
Зробіть, service winbind start
щоб активувати це.