Välkommen till linuxportalen.se!

Linuxportalen.se är Sveriges största och aktivaste webbplats för användare av öppen- och fri programvara.

Du besöker Linuxportalen.se som gäst vilket begränsar din möjlighet att använda webbplatsens alla funktioner. Genom att registera dig som medlem får du inte bara möjlighet att söka bland webbplatsens innehåll, skapa nya och delta i befintliga diskussioner, skapa din egen blogg, kommunicera med andra medlemmar genom privata meddelanden och delta i omröstningar. Du får också tillgång till Veckans Kadavro - en seriestrip unikt skapad för Linuxportalen.se!

Registeringen sker snabbt och är helt kostnadsfri - tveka inte, bli medlem idag!

Felmeddelande eller?

Hej pǻ er!

När jag startar min Ubuntu 9.04 så kommer det upp ett meddelande: "Identifiering av nätverkstjänster är inaktiverat. Ditt aktuella närverk har en .local-domän vilket inte är rekommenderat och inte kompatibelt med Avahi-identifieraren för närverkstjänster. Tjänsten har inaktiverats". Jag sökte och hittade en bugg (Bug:327362) och körde kommandona

<!--
@page { margin: 2cm }
P { margin-bottom: 0.21cm }
-->

mats@mats-desktop:~$ sudo sed -i
-e'/AVAHI_DAEMON_DETECT_LOCAL/s/1/0/' /etc/default/avahi-daemon

mats@mats-desktop:~$ sudo service
avahi-daemon start

Starting Avahi mDNS/DNS-SD Daemon
avahi-daemon

* avahi-daemon disabled because there
is a unicast .local domain

enligt anvisningarna, är det någon vänlig själ som kan förklara för mig vad det innebär och spelar det någon roll att avahi-daemonen inte är igång?

 

hälsningar Mats

Alternativ för kommentarvisning

Välj ditt önskade sätt att visa kommentarerna och klicka på "Spara" för att verkställa dina ändringar.

FoHs bild

Det där undrade jag också över, men det är väl egentligen inget att bry sig om, förutsatt att man inte har några lokala tjänster som inte fungerar som det är tänkt. Det kan t.ex. vara att använda sig av Salut-modulen i IM-klienten Empathy, som gör att du hittar människor på ditt lokala nätverk, eller kanske några nätverksanslutna skrivare osv. Om du bara har ett vanligt hemnätverk utan några som helst nätverksanslutna tjänster så ska det inte vara några problem.

http://andreash.myopenid.com/s bild

Kommandot betyder att du byter ut "AVAHI_DAEMON_DETECT_LOCAL=1" till AVAHI_DAEMON_DETECT_LOCAL=0" i filen /etc/default/avahi-daemon.

Detta är inte rekommenderat, se kommentaren i samma fil!

 

Fäörklaringen är att "zeroconf", dvs automatisk identifiering av datorer och tjänster på nätverket, använder sig av *.local. Detta är främst tänkt för hemnätverk och dylikt. Vid ett större företagsnätverk  med dedikerade administratörer vill man oftast centralt styra och därför ges möjligheten att göra detta. Detta gör man helt enkelt genom att detektera om dns-servern har en local-zon och i så fall stänger ner "avahi-daemon" (som är implementationen av zeroconf).

Anledningen till dina problem är att din ISP anser sig ha rätten att bestämma över ditt lokala nätverk. De annonserar ut att de bestämmer över local-zonen i sina dns-servrar!

Du kan enkelt kontrollera detta genom att se om du får ett svar när du kör kommandot: host -t soa local.

Enligt egna erfarenheter så har Bredbandsbolaget och Glocalnet (dvs. Telenor) denna FELKONFIGURERING i sina dns-servrar. Enligt uppgifter på nätet gör TeliaSonera likadant.

Jag har felanmält problemet hos Bredbandsbolaget och svaret jag fick därifrån var att de hade stora problem med felkonfigurerade Windows-datorer som gjorde rekursiva uppslag på *.local-adresser vilket fungerade som en effektiv överbelastningsattack (Tack Windows!). De hade helt enkelt "löst" detta genom att lägga upp en egen .local-zon. Jag förstaar att de inte kan ge alla Windows-användare med felkonfigurerade datorer reprimander, men det är ju väldigt olyckligt att vi andra (åter igen) skall behöva lida för detta.

En mycket bättre loesning hade förövrigt varit om de istället valt att instruera sina DNS-servrar att alltid svara "finns inte" istället för att påstå att de är auktoritära för .local-zonen.

 

Vänligen felanmäl problemet hos DIN ISP!

Ju fler som hör av sig ju snarare inser dom att deras "lösning" på problemet ställer till problem för många användare.

 

En temporär lösning (för övrigt mycket bättre än att ändra i /etc/default/avahi-daemon) är att helt sonika byta till dns-servrar som inte har denna felkonfigurering. Förslag på sådana dns-servrar är till exempel AT&T's öppna dns-servrar på 4.2.2.1 / 4.2.2.2 / 4.2.2.3 / 4.2.2.4 alternativt har jag hört att OpenDNS även skall fungera.

FoHs bild

Tack för ett väldigt välskrivet och informativt inlägg! Äntligen har jag fått sinnesro om det där Smile

Mycket bra kommentar, den tackar jag för.

OpenDNS har jag använt en hel del och den fungerar bra för mig. 208.67.222.222 och 208.67.220.220

Jag har dock endast använt det på trådlösa nätverk så kan inte svara på hur snabb den är på "riktig" uppkoppling.

FoHs bild

Ok, så när jag kraschade min skrivbordsdator igår så fick jag lite tid över att sätta mig ner och flasha om min router med DD-WRT. I routern har jag sedan ställt in DNS-serverna till OpenDNS, pga detta problem som diskuteras här. Kommandot host -t soa local på skrivbordsdatorn ger:
local has SOA record localhost. root.localhost. 1 604800 86400 2419200 604800

Jag kan ingenting om sådant här, men jag tror det är som det ska, va? local ska ju tillhöra localhost. Däremot om jag ger samma kommando på Bubba-servern får jag detta meddelande:
local.bredbandsbolaget.se does not exist, try again

Det ser naturligtvis inte bra ut, och avahi verkar inte vilja hoppa igång heller. Följande meddelande dyker upp vid en omstart av daemonen:
Restarting Avahi mDNS/DNS-SD Daemon: avahi-daemonavahi-daemon disabled because there is a unicast .local domain (warning)

Bubba-servern får naturligtvis sin IP från routern, men varför använder den inte DNS-servrar därifrån också? Hur kan jag se vilka DNS-servrar som den faktiskt är inställd på att använda, och hur gör jag för att ändra dessa om de skulle vara fel?

Edit: Får samma felmeddelande om jag kopplar upp mig trådlöst via routern på min Dell Mini 9. Konstigt... Jag skulle naturligtvis kunna ändra alla klienter att använda OpenDNS också, men det känns ju inte rätt. Borde inte de få informationen från routern? Läser lite på OpenDNS.org och där står det att man kan ändra /etc/resolv.conf, måste jag verkligen göra det?

Edit2: I samtliga resolv.conf på de tre klienterna som nämnts har jag följande information:
domain bredbandsbolaget.se
search bredbandsbolaget.se
nameserver 192.168.1.1

Förslag på ändringar? Nameserver är ju rätt iaf.

Edit3: Många edits nu Tongue host -t soa local på Dell Mini:n ger ungefär samma svar som på skrivbordsdatorn, men den misslyckas ändå med Avahi (vilket inte skrivbordsdatorn klagar på). Är det ok att skriva in en egen host/domain i routern? Enligt hjälpen i routern så är det ju uppgifter som internetleverantören tillhandahåller om det behövs.

http://andreash.myopenid.com/s bild

Kanske lite off-topic, men jag kände att det kanske ändå kunde vara nyttigt att ta lite mer detaljer om regular expressions....

> sed -i -e '/AVAHI_DAEMON_DETECT_LOCAL/s/1/0/' /etc/default/avahi-daemon

Dissekeringen av övanstående kommando:

sed är en förkortning på "stream editor", dvs göra ändringar i "strömmar" av text. Detta är mycket användbart när man använder sig av unix-skalens mycket trevliga "pipe" feature.

Argumentet -i anger att vi skall göra en "inline edit", dvs. vi läser och skriver till samma fil. (Vi kommer med andra ord inte använda oss av några pipes denna gång.)

Argumentet -e anger att vi vill specificera "scriptet" som säger hur sed skall bete sig på kommandoraden (istället för att ha det i en separat fil).

Scriptet är den del av kommandot som står näst (innanför "enkel-fnuttarna"). Det innehåller två kommandon, en matchning och en ersättning.

- Först säker vi efter rader som innehåller AVAHI_DAEMON_DETECT_LOCAL (/AVAHI_DAEMON_DETECT_LOCAL/)

- Sedan ersätter vi första förekomsten av 1 med 0 på denna rad (s/1/0/).

 

fedors bild

jag har hittills  inte stött på ett nätverk där avahi varit nöjd.  Det  flesta jag stött på rekommenderar att man ändrar till 0. vad jag vet så ger inte detta några problem.