У меня простая домашняя сеть с машинами Windows 7 и Linux (Fedora 12 и 13). Я хотел бы иметь возможность разрешать имена машин Linux с машины Windows. Например:
- Windows 7 пингует mylinuxmachine
В настоящее время это не решается. Любые идеи?
Это старый вопрос, но я надеюсь, что смогу помочь некоторым людям, которые застряли в этом вопросе.
Например, в Ubuntu вы можете сделать следующее:
Откройте следующий файл: /etc/nsswitch.conf
nano /etc/nsswitch.conf
Измените эту строку:
hosts: files dns
Кому:
hosts: files wins dns
Затем установите winbind:
sudo apt-get install winbind
Примечание: если у вас уже установлена samba, возможно, уже доступен winbind.
Убедитесь, что winbind
сервис существует и включен:
sudo systemctl status winbindd.service
Вы можете включить услугу следующим образом:
sudo systemctl enable winbindd.service
Теперь ваше имя хоста Linux можно разрешить на вашем ПК с Windows.
Чтобы узнать, какое у вас имя хоста в Linux, используйте:
hostname
Если в вашей сети нет DNS-сервера (например, от вашего маршрутизатора), вам необходимо включить службу Samba и открыть порты NetBIOS (137-139) в ваших брандмауэрах. В инструментах брандмауэра Fedora уже настроена запись по умолчанию для этого (может быть описана как что-то связанное с «Совместным доступом к файлам Windows»).
Вместо того, чтобы возиться с Samba и службой имен NetBIOS, я предпочитаю добавить имя в %SYSTEMDIR%\drivers\etc\hosts
. Формат и функции этого файла идентичны /etc/hosts
в Linux. Итак, вы бы добавили что-то вроде:
192.168.0.50 mylinuxmachine
Конечно, это лучше всего работает, если вы назначаете статические (или псевдостатические) IP-адреса. Под псевдостатическим я подразумеваю, что клиент использует DHCP, но MAC-адрес хранится на DHCP-сервере, поэтому он всегда выдает один и тот же IP-адрес. Вы по-прежнему можете сделать это и иметь обычные динамические IP-адреса для других хостов, только убедитесь, что не назначили статические адреса, попадающие в динамический диапазон.