ну, я просто отправился в мир Ubuntu для администрирования. Я обнаружил похожие потоки, за исключением того, что я могу пропинговать свое собственное имя хоста и IP-адрес, и мои окна могут пропинговать мое имя хоста linux, но Ubuntu не может пропинговать имя хоста windows.
Проблема:
- У меня есть 4 компьютера с Windows, и у меня есть 1 компьютер с Ubuntu
- Мой компьютер с Windows может пропинговать Ubuntu по имени хоста и IP-адресу. Кроме того, Net View (приглашение cmd) отображает имя хоста Ubuntu Computer.
- Ubuntu Computer может пинговать только по IP-адресу, но не по имени хоста. Я также установил Samba.
- Ubuntu Computer может пропинговать себя по IP-адресу и имени хоста
- Я могу использовать команду arp и отображать IP всех компьютеров в сети, но только по IP-адресу.
Как получается, что я могу пинговать только по IP-адресу, а не по имени хоста на компьютерах с Windows? Но Ubuntu может пропинговать себя по IP-адресу и имени хоста, а компьютеры Windows могут пинговать Ubuntu по имени хоста?
Ответы:
Описанная здесь проблема может вообще не относиться к DNS.
Вы должны знать, что Windows может преобразовать имя хоста Windows в его IP-адрес с помощью других механизмов, отличных от стандартного DNS: поиск NetBIOS, WINS, ...
Как вы сказали, на вашем Ubuntu установлена Samba, вероятно, именно это и происходит. На всех ваших компьютерах с Windows возможно, из коробки, преобразовать имя Windows в его IP-адрес. Поскольку Samba установлена на Ubunut, для вашего ПК с Windows они видят ПК с Ubuntu как ПК с Windows, и возможно такое же разрешение.
Вы говорите, что работаете
net view
в Windows и видите свой Ubuntu PC, поэтому имя 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:
, вероятно, выглядит такЭто говорит вашей системе сначала посмотреть в
/etc/hosts
файл, а затем в настроенный DNS для разрешения имен хостов.Вы должны изменить этот способ:
Обратите внимание, что порядок файлов слов , днс и побед важны. Сначала система проверит локальный файл на предмет разрешения, затем запросит DNS-сервер и, наконец, если он еще не найден, выполнит поиск NetBIOS.
После того, как это будет обновлено, для правильной работы вам также потребуется запустить службу winbind . Пакет, содержащий его, является зависимостью от libnss-winbind , поэтому он был установлен вместе с ним.
Делай,
service winbind start
чтобы активировать его.источник
Преобразование имен хостов в IP может произойти, если:
-Вы объявляете их в файле / etc / hosts (не рекомендуется)
Вы получаете его с DNS-сервера.
Я бы сказал, что ваша проблема может заключаться в том, что в конфигурации вашего сетевого интерфейса нет DNS-сервера или используется не тот, который используется в Windows Если они используют конфигурацию интерфейса DHCP, чаще всего включается конфигурация DNS, и если в вашей сети есть сервер домена Windows, они, скорее всего, используют его в качестве основного DNS.
Попробуйте: 'nslookup some_machine_name' в командной строке, чтобы увидеть, что происходит. Он скажет вам, какой сервер вы используете, если таковой имеется.
НТН
источник