Nie mogę się zorientować, dlaczego mój DNS nie działa poprawnie, jeśli uruchomię dig z serwera nazw, to działa poprawnie:
# dig ungl.org
; <<>> DiG 9.5.1-P2.1 <<>> ungl.org
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 24585
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 1
;; QUESTION SECTION:
;ungl.org. IN A
;; ANSWER SECTION:
ungl.org. 38400 IN A 188.165.34.72
;; AUTHORITY SECTION:
ungl.org. 38400 IN NS ns.kimsufi.com.
ungl.org. 38400 IN NS r29901.ovh.net.
;; ADDITIONAL SECTION:
ns.kimsufi.com. 85529 IN A 213.186.33.199
;; Query time: 1 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Sat Mar 13 01:04:06 2010
;; MSG SIZE rcvd: 114
ale po uruchomieniu z innego serwera w tym samym centrum danych otrzymuję:
# dig @87.98.167.208 ungl.org
; <<>> DiG 9.5.1-P2.1 <<>> @87.98.167.208 ungl.org
; (1 server found)
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: REFUSED, id: 18787
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
;; WARNING: recursion requested but not available
;; QUESTION SECTION:
;ungl.org. IN A
;; Query time: 1 msec
;; SERVER: 87.98.167.208#53(87.98.167.208)
;; WHEN: Sat Mar 13 01:01:35 2010
;; MSG SIZE rcvd: 26
mój plik strefy dla tej domeny to
$ttl 38400
ungl.org. IN SOA r29901.ovh.net. mikey.aol.com. (
201003121
10800
3600
604800
38400 )
ungl.org. IN NS r29901.ovh.net.
ungl.org. IN NS ns.kimsufi.com.
ungl.org. IN A 188.165.34.72
localhost. IN A 127.0.0.1
www IN A 188.165.34.72
a opcje named.conf.options są domyślne:
options {
directory "/var/cache/bind";
// If there is a firewall between you and nameservers you want
// to talk to, you may need to fix the firewall to allow multiple
// ports to talk. See http://www.kb.cert.org/vuls/id/800113
// If your ISP provided one or more IP addresses for stable
// nameservers, you probably want to use them as forwarders.
// Uncomment the following block, and insert the addresses replacing
// the all-0's placeholder.
// forwarders {
// 0.0.0.0;
// };
auth-nxdomain no; # conform to RFC1035
listen-on-v6 { ::1; };
listen-on { 127.0.0.1; };
allow-recursion { 127.0.0.1; };
};
named.conf.local:
//
// Do any local configuration here
//
// Consider adding the 1918 zones here, if they are not used in your
// organization
// include "/etc/bind/zones.rfc1918";
zone "eugl.eu" {
type master;
file "/etc/bind/eugl.eu";
notify no;
};
zone "ungl.org" {
type master;
file "/etc/bind/ungl.org";
notify no;
};
Na serwerze działają Ubuntu 9.10 i Bind 9, jeśli ktokolwiek może rzucić na to trochę światła, bardzo mnie to ucieszy!
dzięki
Odpowiedzi:
chociaż mogę wykopać stary wątek, robię to, ponieważ jest to jeden z najbardziej odpowiednich wyników podczas wyszukiwania w Google hasła „odmowa statusu zapytania”.
W moim szczególnym przypadku stwierdziłem, że musiałem dołączyć
allow-query { any; };
do każdej definicji strefy w named.conf.źródło
Na pierwszy rzut oka wydaje mi się, że nie jest skonfigurowany do słuchania reszty świata
listen-on { 127.0.0.1; };
. Musisz tam dodać odpowiedni adres IP.źródło
Wykonuję próbkowanie, ale wstawiam opcję allow-query w named.conf.options
źródło
NOERROR, gdy nie towarzyszy mu rekord zasobu (RR), oznacza, że nie ma takiego rekordu, więc gdy otrzymasz odpowiedź NOERROR i brak „rekordu” po ustawieniu „wersji” na „none”, to działa zgodnie z oczekiwaniami.
Istnieje również
allow-query
instrukcja konfiguracji z BIND9, jednak myślę, że domyślnie zezwala się na zapytania z dowolnego miejsca.źródło
Miałem dokładnie ten sam problem (wykopuj status NOERROR lokalnie, wykopuj status ODMUSZONY z zewnątrz), a rozwiązaniem było zmienianie klientów dopasowania z „localhost” (który jest domyślny dla instalacji binda) na „dowolny” (później mogę dowiedz się, jaki jest dokładny adres IP mojego dostawcy nazwy domeny i ze względów bezpieczeństwa ogranicz go do tego konkretnego adresu IP). Zmieniłem też nazwę widoku z local_something na default. Nazwa naprawdę nie ma znaczenia.
To był naprawdę problem z działalnością „odmowy statusu wykopania”. Zaraz po zmianie parametru dopasowania-klientów moje zapytania @ 12.34.56.78 mydomain.com zaczęły się rozpoznawać ze statusem NOERROR, a dostawca nazwy domeny (chrzestny) natychmiast buforował rekord serwera nazw. Ponieważ moje pliki strefy zostały już poprawnie skonfigurowane, nazwa domeny natychmiast stała się widoczna w Internecie.
Jednak przez dłuższy czas waliłem głową w ścianę, aby rozwiązać ten problem.
źródło
Musiałem wprowadzić wyraźne odniesienie do sieci, w której chciałem zezwolić na rekursję. Określenie „dowolny” nie pomogło. Domyślnie (Umbutu Server 15) nie było na to wpisu w
/etc/bind/named.conf.options
pliku.źródło
Czy na pewno wysyłasz zapytania we właściwe miejsce?
Twój serwer na 188.165.34.72 (
r29901.ovh.net
) ma BIND 9.5.1-P2.1 - odpowiada na zapytaniedig @ip version.bind ch txt
zgodnie z oczekiwaniami z tym ciągiem odpowiedzi.Jednak podany powyżej adres IP zwraca
NOTIMPL
błąd, mimo że w cytowanym pliku konfiguracyjnym nic nie ma na temat*.bind
pseudo-rekordów, a BIND wymaga jawnej konfiguracji, aby je wyłączyć.źródło
NOERROR
a nieNOTIMPL
błąd, który widzę z tego adresu IP.Ponieważ zezwalasz na rekursję tylko z lokalnego komputera.
Jeśli chcesz zezwolić na dodanie odpowiedniego adresu IP i musisz zmienić wartość nasłuchiwania na dowolny adapter z komputera lokalnego lub podaj adres IP interfejsu komputera lokalnego:
źródło