Доступ к серверу по имени хоста?

22

У меня смешанная сеть, в основном с Windows-компьютерами, Mac и несколькими Linux-системами. DNS-сервера или WINS-сервера нет, и добавление одного находится вне моего контроля. Если я установлю чистую установку 10.04 рабочего стола на компьютер, то все остальные машины в сети смогут нормально добраться до этой машины по имени хоста.

Однако, если я установлю сервер 10.04 на тот же компьютер, то другие машины смогут добраться до него только по IP-адресу. Имя хоста не разрешается. Что мне нужно сделать на сервере, чтобы к нему могли подключиться все остальные машины в сети?

Уоррен Пена
источник

Ответы:

29

Это связано с Avahi , реализацией Zeroconf, которая объявляет имена хостов в локальной сети.

Вы можете начать работу с Avahi на своем сервере, установив демон:

sudo apt-get install avahi-daemon

С этого момента вы должны быть готовы к работе. Проверьте документы, /usr/share/doc/avahi-daemon/если у вас есть дополнительные проблемы.

lfaraone
источник
Просто чтобы добавить немного больше информации, это также исправило обратное направление (сервер обращался к другим машинам по имени хоста, который также раньше не работал).
Уоррен Пена
7
Сначала я подумал, что это не работает для моей сети, но понял, что вам нужно добавить .localимя хоста, например,ping basement-server.local
matt wilkie,
Следовал прямым указаниям и немного заблудился, пытаясь найти, открыть и понять документацию, потому что я подумал, что мне нужно выполнить некоторые настройки. Затем я понял, что это уже работает;) Я думаю, они не зря называют это zeroconf.
jpierson
2
вы можете настроить avahi для работы с голыми именами хостов?
cmcginty
@mattwilkie, Это все еще не заставляет это работать для меня ...
Cerin
4

У вас должен быть сервер DNS (Domain Name System), чтобы обрабатывать это разрешение имен. Некоторые маршрутизаторы имеют DNS-сервер, связанный с их DHCP-сервером. Проверьте свой маршрутизатор и посмотрите, есть ли он, и он отключен. Ubuntu автоматически отправляет настроенное имя хоста на DHCP-сервер, когда запрашивает IP-адрес, и если маршрутизатор имеет включенный DNS-сервер, он также должен сообщать это имя / IP на DNS-сервер.

Если не считать этого, вы можете поместить имя и IP-адрес вашего окна Ubuntu в файл hosts на компьютере с Windows в c:\WINDOWS\system32\drivers\etc\hosts. Если IP-адрес вашего компьютера с Ubuntu не меняется (или меняется часто), это может быть простым долгосрочным решением.

ELadner
источник
@ELadner: Windows делает это с помощью WINS . Для Ubuntu Server достаточно установить клиент Samba.
Раду Котеску
Если вы хотите направить только один компьютер на компьютер * nix с использованием разрешения имен (или вы хотите изменить файл hosts на всех машинах, которые будут), просто измените файл hosts на компьютере с Windows. Файл hosts в основном представляет собой перенаправление короткого замыкания для удобного разрешения локального пространства имен (а также для того, чтобы шпионские программы могли создавать мошеннические перенаправления и испортить вам доступ в Интернет).
Эван Плейс
Вероятно, важно отметить, что WINS на самом деле не является подходящим DNS-сервером, поскольку он поддерживает собственный протокол разрешения имен MS. Таким образом, если по какой-либо причине вы подключаете * nix или mac box к сети, которая должна общаться с * nix сервером, вы не сможете сделать это с сервером WINS. IE, WINS хорошо играет только с Windows. Если вы посмотрите историю, WINS существует только сегодня, чтобы обеспечить устаревшую поддержку для разрешения имен операционной системы до Windows 2000. См. En.wikipedia.org/wiki/Windows_Internet_Name_Service для получения дополнительной информации.
Эван Плейс,
1
Если в маршрутизаторе нет встроенной поддержки dns, и вы ищете полноценную реализацию DNS-сервера, установите bind (dns-сервер) в поле * nix, настройте перенаправление dns и перенаправьте запросы порта dns из маршрутизатор к компьютеру * nix. Для подробного объяснения того, как это делается (и днс в целом), смотрите zytrax.com/books/dns .
Эван Плейс,
3

Вы настраиваете nmbd с именем netbios, а затем можете использовать это имя netbios в локальной сети, не зная IP-адреса.

Однажды, общаясь с известным мне Windows SysAdmin, я был удивлен, когда мне сказали, что когда вы подключаете ПК с Windows к сети, даже если вы не знаете новый IP-адрес этой машины, вы все равно можете найти его на сеть, используя ее имя Windows.

Я думал, что это какая-то сумасшедшая магия, но, оказывается, вы можете добиться того же в Linux, установив, настроив и запустив nmbd. Это часть самбы.

Чтобы узнать больше, перейдите по этой ссылке .

Похоже, это то, о чем вы спрашиваете.

Ричард Холлоуэй
источник