LINUX.ORG.RU
решено ФорумAdmin

Avahi .local


1

0

Достаточно наболевшая проблема, как избавиться от необходимости рестартовать сервис после загрузки вручную? Сеть уже «какая есть».

Вгугле смотрел, но похоже плохо искал, т.к. в основном советы из разряда «выключить эту непонятную службу», и нигде нет пояснения какая разница м/у запуском во время загрузки и последующим рестартом (сеть-то та же и .local вполне успешно работает).

> как избавиться от необходимости рестартовать сервис после загрузки вручную?

Вначале надо сказать, что именно ведет себя по-разному при запуске во время загрузки и после нее (в идеале - какую-нибудь команду, которая печатает разный вывод). Теоретически, такой разницы быть не должно, поэтому непонятно, о чем речь.

AEP ★★★★★
()
Ответ на: комментарий от kronosqu

Тогда скажите словами, зачем приходится рестартовать сервис (т.е. что не работает или работает не так, если не рестартовать). А то получается «пойди туда, не знаю куда, принеси то, не знаю что».

И что в домене .local по идее должно быть и почему?

AEP ★★★★★
()
Ответ на: комментарий от AEP

Отваливается cо словами «Avahi detected that your currently configured local DNS server serves a domain .local. This is inherently incompatible with Avahi and thus Avahi disabled itself. If you want to use Avahi in this network, please contact your administrator and convince him to use a different DNS domain, since .local should be used exclusively for Zeroconf technology.», но при последующем рестарте не матерится и работает исправно вплоть до перезагрузки, а не работает ничего, как он сам и пишет он выключается.

Если верить все тому же syslog после avahi стартует только ssh и ntpdate.

Демон стартует скриптом из init.d, рестартует им же.

kronosqu
() автор топика
Ответ на: комментарий от AEP

p.s. независимо от настроек самого avahi, даже на виртуальных машинах «искаропки»(debian & ubuntu), в то же время bonjour на макосе не жалуется.

kronosqu
() автор топика
Ответ на: комментарий от kronosqu

Спасибо. Без слов «your currently configured local DNS server serves a domain .local» действительно было не понять, в чем дело. DNS чей - провайдерский или один из открытых? Для отладки мне нужен вывод следующих команд:

ls -l /etc/resolv.conf

cat /etc/resolv.conf

host -t SOA local. # обратите внимание на точку в конце!

dig @1.2.3.4 -t SOA local.

где вместо 1.2.3.4 подставить по очереди каждый из DNS'ов, перечисленных в resolv.conf 9собачку перед ними не забываем!)

AEP ★★★★★
()
Ответ на: комментарий от AEP

Спасибо.

Вам спасибо :)

DNS провайдера.

ls -l /etc/resolv.conf

-rw-r--r-- 1 root root 95 2010-06-29 13:50 /etc/resolv.conf

cat /etc/resolv.conf

nameserver 192.168.1.1 nameserver 217.23.80.2 nameserver 217.23.80.4

host -t SOA local.

local has SOA record tengwar.vtt.net. hostmaster.vtt.net. 2001052501 86400 7200 3600000 172800

dig @192.168.1.1 -t SOA local. (роутер, впрочем это очевидно)

 dig @192.168.1.1 -t SOA local.

; <<>> DiG 9.7.0-P1 <<>> @192.168.1.1 -t SOA local.
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 22662
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 3, ADDITIONAL: 3

;; QUESTION SECTION:
;local.				IN	SOA

;; ANSWER SECTION:
local.			86400	IN	SOA	tengwar.vtt.net. hostmaster.vtt.net. 2001052501 86400 7200 3600000 172800

;; AUTHORITY SECTION:
local.			86400	IN	NS	oronmirie.vtt.net.
local.			86400	IN	NS	tengwar.vtt.net.
local.			86400	IN	NS	ns.vtt.net.

;; ADDITIONAL SECTION:
ns.vtt.net.		86400	IN	A	217.23.64.2
tengwar.vtt.net.	86400	IN	A	217.23.80.2
oronmirie.vtt.net.	86400	IN	A	217.23.80.4

;; Query time: 5 msec
;; SERVER: 192.168.1.1#53(192.168.1.1)
;; WHEN: Tue Jun 29 14:09:05 2010
;; MSG SIZE  rcvd: 188

217.23.80.2

; <<>> DiG 9.7.0-P1 <<>> @217.23.80.2 -t SOA local.
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 29968
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 3, ADDITIONAL: 3

;; QUESTION SECTION:
;local.				IN	SOA

;; ANSWER SECTION:
local.			86400	IN	SOA	tengwar.vtt.net. hostmaster.vtt.net. 2001052501 86400 7200 3600000 172800

;; AUTHORITY SECTION:
local.			86400	IN	NS	ns.vtt.net.
local.			86400	IN	NS	tengwar.vtt.net.
local.			86400	IN	NS	oronmirie.vtt.net.

;; ADDITIONAL SECTION:
ns.vtt.net.		86400	IN	A	217.23.64.2
tengwar.vtt.net.	86400	IN	A	217.23.80.2
oronmirie.vtt.net.	86400	IN	A	217.23.80.4

;; Query time: 4 msec
;; SERVER: 217.23.80.2#53(217.23.80.2)
;; WHEN: Tue Jun 29 14:10:40 2010
;; MSG SIZE  rcvd: 188

217.23.80.2

; <<>> DiG 9.7.0-P1 <<>> @217.23.80.4 -t SOA local.
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 16607
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 3, ADDITIONAL: 3

;; QUESTION SECTION:
;local.				IN	SOA

;; ANSWER SECTION:
local.			86400	IN	SOA	tengwar.vtt.net. hostmaster.vtt.net. 2001052501 86400 7200 3600000 172800

;; AUTHORITY SECTION:
local.			86400	IN	NS	ns.vtt.net.
local.			86400	IN	NS	oronmirie.vtt.net.
local.			86400	IN	NS	tengwar.vtt.net.

;; ADDITIONAL SECTION:
ns.vtt.net.		80251	IN	A	217.23.64.2
tengwar.vtt.net.	82016	IN	A	217.23.80.2
oronmirie.vtt.net.	46238	IN	A	217.23.80.4

;; Query time: 2 msec
;; SERVER: 217.23.80.4#53(217.23.80.4)
;; WHEN: Tue Jun 29 14:11:36 2010
;; MSG SIZE  rcvd: 188
kronosqu
() автор топика
Ответ на: комментарий от kronosqu

Понял, почему avahi запрещает себя при загрузке (провайдер на самом деле кривой). Не понял, почему рестарт помогает. Остался открытым вопрос: что именно должно быть в домене .local?

Если там должны быть только сервисы типа retracker.local, предоставляемые провайдером, то правильное решение - запретить avahi или перенастроить его на другой домен (domain-name=.mylocal в /etc/avahi/avahi-daemon.conf). Если только машины из 192.168.1.x - прописать Google Public DNS (8.8.8.8 и 8.8.4.4) вместо DNS'ов провайдера и вместо 192.168.1.1.

AEP ★★★★★
()
Ответ на: комментарий от AEP

В Ubuntu во второй ситуации можно отредактировать (или, если его нет, создать) файл /etc/default/avahi-daemon на предмет параметра AVAHI_DAEMON_DETECT_LOCAL (установить в 0).

AEP ★★★★★
()
Ответ на: комментарий от AEP

> Не понял, почему рестарт помогает.

Понял. См. (если Ubuntu) файлы /etc/network/if-post-down.d/avahi-daemon и /usr/lib/avahi/avahi-daemon-check-dns.sh.

AEP ★★★★★
()
Ответ на: комментарий от AEP

>Если там должны быть только сервисы типа retracker.local, предоставляемые провайдером, то правильное решение - запретить avahi или перенастроить его на другой домен (domain-name=.mylocal в /etc/avahi/avahi-daemon.conf). Если только машины из 192.168.1.x - прописать Google Public DNS (8.8.8.8 и 8.8.4.4) вместо DNS'ов провайдера и вместо 192.168.1.1.

Спасибо, заработало.

Воспользовался вторым способом т.к. искать конфиг bonjour чтобы и его тоже перекинуть на другой домен нет желания.

kronosqu
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.