4

Я хотел бы, чтобы адреса .local (например, test.local) указывали на 127.0.0.1 но это не работает. Я на последней Ubuntu. В /etc/NetworkManager/NetworkManager.conf я закомментировал dns=dnsmasq затем sudo service network-manager restart .

Затем я установил dnsmasq и добавил address=/local/127.0.0.1 в /etc/dnsmasq.d/mycustomfile, а затем sudo service dnsmasq restart . Помимо того, что я упомянул, я не сделал никаких других изменений.

Но когда я захожу на test.local, он не разрешается до 127.0.0.1, выполнение ping этого адреса .local также не удается. Может быть, содержимое /etc/resolv.conf уместно, это просто значение по умолчанию, я не изменил его:

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 222.11.22.36
nameserver 222.11.22.37

Это вывод, когда я запускаю dnsmasq не как демон:

$ sudo dnsmasq --no-daemon     
dnsmasq: started, version 2.68 cachesize 150
dnsmasq: compile time options: IPv6 GNU-getopt DBus i18n IDN DHCP DHCPv6 no-Lua TFTP conntrack ipset auth
dnsmasq: reading /etc/resolv.conf
dnsmasq: using nameserver 222.11.22.37#53
dnsmasq: using nameserver 222.11.22.36#53
dnsmasq: read /etc/hosts - 9 addresses

Когда dnsmasq запущен, /etc/resolv.conf автоматически обновляется (и возвращается к приведенной выше записи, когда dnsmasq остановлен):

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.0.1

И это:

$ sudo nslookup test.local 127.0.0.1
Server:         127.0.0.1
Address:        127.0.0.1#53

Name:   test.local
Address: 127.0.0.1

Но все равно пинг до localhost не работает.

Что мне нужно сделать, чтобы dnsmasq работал для разрешения адресов .local?

4 ответа4

7

Похоже, dnsmasq запускается правильно. Вы должны проверить, правильно ли работает dnsmasq с nslookup test.local 127.0.0.1 .

Чтобы убедиться, что система использует dnsmasq, вы должны обновить /etc/resolv.conf чтобы использовать nameserver 127.0.0.1 качестве первой опции.

Вы также можете использовать обычную конфигурацию обратного преобразователя в dnsmasq с параметром --resolv-file=/etc/resolv.conf.dnsmasq .

5

local кажется каким-то зарезервированным ключевым словом, по крайней мере, в Ubuntu:

  • address=/local/127.0.0.1 - не работает.
  • address=/loc/127.0.0.1 - работает.
0

Если вам нужно только указать назад на свой компьютер и не пытаться использовать dnsmasq для управления разрешением DNS других компьютеров, тогда вам просто нужно добавить некоторые записи в /etc/hosts . Я рекомендую вам отменить все ваши изменения в dnsmasq и его настройках и убедиться, что в /etc/hosts есть следующее:

127.0.0.1 localhost
127.0.1.1 mycomputername mycomputername.local anothername.local

После этого, pinging mycomputername.local будет указывать на себя (на самом деле, это будет указывать на сервер dnsmasq, работающий на 127.0.1.1, ТО на localhost). Вы даже можете добавить записи для других компьютеров в вашей сети, чтобы на этом компьютере вам казалось, что на компьютеры можно ссылаться как computer1.local computer2.local и т.д.

192.168.1.31 computer1.local
192.168.1.32 computer2.local

Если вы не можете отменить изменения с помощью dnsmasq, то можете добавить эти дополнительные записи после localhost , но не удаляйте и не изменяйте саму запись localhost . Ну вот так:

127.0.0.1 localhost mycomputername mycomputername.local anothername.local

Кстати: правильный способ изменить resolv.conf на рабочем столе Ubuntu с помощью сетевого менеджера на панели задач. Правильный путь на сервере Ubuntu - добавить записи dns-nameserver под вашим сетевым устройством в /etc/network/interfaces и либо перезапустить, либо выполнить ifdown eth0 && ifup eth0 . Как говорится в предупреждении в /etc/resolv.conf , не изменяйте его напрямую, оно записывается динамически на основе настроек /etc/network/interfaces .

0

Вероятно, avahi-демон использует домен "local". Увидеть:

https://unix.stackexchange.com/questions/352237/avahi-daemon-and-local-domain-issues

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .