Sziasztok!
A DNS szerver (iskolai hálózat) az alábbi hibaüzenetekkel szemeteli a syslogot:
Nov 17 08:16:15 panka named[25163]: too many timeouts resolving 'www.metafora.org/A' (in 'org'?): disabling EDNS
Nov 17 08:33:24 panka named[25163]: too many timeouts resolving 'www.bookblog.ro/A' (in '.'?): reducing the advertised EDNS UDP packet size to 512 octets
Google-val próbáltam megoldást keresni, de még mielőtt valami butaságot csinálnék kikérném a hozzáértőbbek véleményét.
Az EDNS-el kapcsolatban az alábbit találtam:
"... A DNS lekérdezésekre adott válasz mérete az eredeti protokoll tervezésekor az UDP csomagok maximális méretéhez lett igazítva, ami alapesetben 512 byte.
A DNS szolgáltatás különböző feladatokra való felhasználása miatt ez a korlát alacsonynak bizonyult. A protokollal foglalkozók két megoldást találtak a problémára.
Az egyik a TCP használata, UDP helyett, amivel gyakorlatilag bármekkora mennyiséget át lehet vinni, de sokkal lassabb és bonyolultabb. A TCP alapú DNS nem skálázható teljesítmény igényeket támaszt.
Ezért is definiálták az EDNS0 kiterjesztést. Ez esetben a kliens a kérésébe egy úgynevezett OPT rekordot is beletesz, jelezve, hogy képes az EDNS0 használatára (dnsperf esetén -e, dig esetében pedig a +dnssec kapcsoló). A szerver ezt észlelve válaszként 512 byte helyett 4096 byteos UDP csomagot használ. Méréseink során 6 rekord volt a határ, ami még belefért a 512-es csomagba. ..."
A DNS szerver konfigurációs állományában nem használom az "edns" opciót, és nem tudom, hogy mi a default értéke. De a logokat én úgy értelmezem, hogy a Sulinet DNS szerverei EDNS UDP csomagokat küldenek vissza, amit a nagy méret (4096 bájt) miatt a DNS szerver 512 bájt méretűre "redukál".
Átolvasgattam egy két leírást ezzel kapcsolatban, az alábbi két megoldási ötletem van:
1. Megoldás:
Felveszem a "server" opciót az alábbi tartalommal, és bővítem az "options" részt az alábbiak szerint:
server ( 195.199.255.4 195.199.255.57 195.199.255.58 ) {
edns yes;
edns-udp-size 4096;
max-udp-size 4096;
}
options {
...
edns-udp-size 4096;
max-udp-size 4096;
...
}
2. Megoldás:
Felveszem a logging opciót az alábbi tartalommal:
logging {
category lame-servers { null; };
category edns-disabled { null; };
}
Kérem, aki tud tanácsot adni, illetve megmondani, hogy a megoldási javaslataim egyáltalán jók-e az kérem segítsen!
Előre is köszönöm a válaszokat!
Üdvözelettel, Veres Sándor
- 1666 megtekintés
Hozzászólások
Érdekelne, hogy végső soron mire jutottál.
"A DNS szerver konfigurációs állományában nem használom az "edns" opciót, és nem tudom, hogy mi a default értéke. De a logokat én úgy értelmezem, hogy a Sulinet DNS szerverei EDNS UDP csomagokat küldenek vissza, amit a nagy méret (4096 bájt) miatt a DNS szerver 512 bájt méretűre "redukál"."
Nekem inkább úgy tűnik, hogy a binded próbál EDNS-sel kérdezni, de a sulinet névszerverei ezt nem veszik, és akkor megismétli a kérést EDNS nélkül - rosszul gondolom?
- A hozzászóláshoz be kell jelentkezni
Miután hosszú idő után sem kaptam választ a kérdésemre, úgy döntöttem kísérletezgetek egy kicsit (kockáztatva azt, hogy 150 gépen nem lesz névfeloldás ;). A próbálkozásaim eredményeként most már nem jelennek meg a hibaüzenetek a logokban. Leírom a megoldást, ha esetleg valaki hasonló problémával találkozna.
A korábban felvázolt megoldási javaslatok közül a második több fórum szerint is orvosolja a problémát. De ez csak félmegoldás, mivel a logokban ugyan nem fog megjelenni a hibaüzenet, de attól az még jelentkezik. Ezért ezt a megoldást ki sem próbáltam. Az első megoldási javaslat pedig szintaktikailag hibás, ezért mással próbálkoztam.
A "/etc/bind/named.conf.option
" fájl alábbi módosítása után végül most már nem jelennek meg a hibaüzenetek:
server 0.0.0.0/0 { edns no; };
options {
...
edns-udp-size 512;
max-udp-size 512;
...
}
Elképzelhető, hogy az "edns-udp-size 512; max-udp-size 512;
" részekre nem is lenne szükség; csak azzal próbálkoztam először (sikertelenül), majd utána a "server" opcióval kombinálva, és mivel, akkor már nem jelentek meg a syslog-ban a hibaüzenetek, és a névfeloldás is működött, így benne hagytam.
"Nekem inkább úgy tűnik, hogy a binded próbál EDNS-sel kérdezni, de a sulinet névszerverei ezt nem veszik, és akkor megismétli a kérést EDNS nélkül - rosszul gondolom?"
Nem tudom miért (talán azért mert a hiányos angol tudásom miatt, félreértelemztem a logokat) ez fel sem merült bennem. Vagy talán azért, mert a beidézett cikkrészletből arra következtettem, hogy csak a szervertől jöhet vissza EDNS válasz. De most, hogy felhívtad rá a figyelmemet és újra elolvastam a logokat, azt kell mondjam, valószínüleg igazad van.
Kérdés: véleményed szerint jó opciókkal orvosoltam a problémát?
üdv, veresh
- A hozzászóláshoz be kell jelentkezni