Hostname feloldás nem megy, de miért?

Fórumok

Sziasztok!

Az őrületbe kerget több SUSE Enterprise 10 SP3! Úgy tűnik semmilyen szerver szolgáltatása nem tudja a kapcsolódni kívánó kliensek domain neveit feloldani. Pedig szerintem minden jól van beállítva.

SSH belépéskor, a login név beírása után hosszasan várakozik, mielőtt a kulcsszót bekérné. A logban pedig ez látszódik:

Jun 16 11:20:04 server3 sshd[11090]: reverse mapping checking getaddrinfo for kliens1.sajatdomain.local failed - POSSIBLE BREAKIN ATTEMPT!
Jun 16 11:20:24 server3 sshd[11090]: Accepted keyboard-interactive/pam for root from 192.168.0.10 port 1390 ssh2

Ha beírom a szerveren az /etc/hosts fájlba, hogy "192.168.0.10 kliens1.sajatdomain.local" és ez után próbálok meg belépni SSH-val, akkor azonnal jön a kulcsszó bekérés várakozás nélkül, és a logban sem jelentkezik a hiba üzenet.

Ugyan így akkor is gond van, ha a szerverhez NFS-en próbálok csatlakozni:

Jun 14 18:15:15 server3 kernel: NFSD: starting 90-second grace period
Jun 14 18:18:27 server3 rpc.mountd: Fake hostname kliens1.sajatdomain.local for 192.168.0.10 - forward lookup doesn't exist
Jun 14 18:18:27 server3 rpc.mountd: authenticated mount request from 192.168.0.10:857 for /home/nfsdrive (/home/nfsdrive)

Itt is a doman név feloldásra panaszkodik, aztán végül beenged de csak IP cím alapon. Ezt is csak azért, mert kénytelen kelletlen beírtam IP címmel is a szerveren az /etc/exports fájlba.

Ugyan így hiba lép fel, ha szervert Windows Domain-hez akarom csatlakoztatni. Állítása szerint nem elérhető a domain szerverem, noha a domain-t magát megtalálja. Nyilván nem tudja feloldani a nevét és megállapítani az IP címét.

Csak azt nem értem, hogy miért nem?

A szerveren kiadott nslookup parancs minden beírt domain nevet jól felold. A reverse címeket is. Az /etc/nsswitch.conf-ban is meg van adva, hogy keresse a neveket a DNS szerveren is:

passwd: compat
group: compat
hosts: files dns
networks: files dns
services: files
protocols: files
rpc: files
ethers: files
netmasks: files
netgroup: files nis
publickey: files
bootparams: files
automount: files nis
aliases: files

Az /etc/resolv.conf is be van állítva (ha rosszul lenne, akkor az nslookup se működne):

nameserver 192.168.0.5
nameserver 192.168.0.6
search sajatdomain.local

Extra dolog annyi van, hogy a szerverben 2 hálózati kártya van, és mind a kettő fel van konfigurálva eltérő IP tartományba. Default gateway csak az elsőhöz van beállítva az a fő hálózat. A másik IP hálózaton mentések zajlanak.

Lenne valakinek valamilyen építő jellegű ötlete? Előre is köszönöm!

Hozzászólások

Bemasolod a szever3-on kiadva ennek a kettonek a kimenetet, csak hogy tuti legyen:-)

host -a kliens1.sajatdomain.local
host -a 192.168.0.10


server3:/etc # host -a client1.sajatdomain.local
Trying "client1.sajatdomain.local"
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 42013
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;client1.sajatdomain.local. IN ANY

;; ANSWER SECTION:
client1.sajatdomain.local. 3600 IN A 192.168.0.10

Received 59 bytes from 192.168.0.5#53 in 0 ms

Illetve fordítva:


server3:/etc # host -a 192.168.0.10
Trying "10.0.168.192.in-addr.arpa"
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 27033
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;10.0.168.192.in-addr.arpa. IN PTR

;; ANSWER SECTION:
10.0.168.192.in-addr.arpa. 3600 IN PTR client1.sajatdomain.local.

Received 82 bytes from 192.168.0.5#53 in 0 ms

Szóval oda-vissza működik. Ez. És semmi más névfeloldás.

Meg lett a megoldás! A probléma az volt, hogy .local végű domain nevet használok a belső hálózatomban. Mint az kiderült, ezt használja az mDNS is. Az idióta Suse pedig ha .local domain név hivatkozást kell feloldani, akkor azt a beállított DNS szerverek megkérdezése nélkül multicast DNS módon próbálja feloldani. Függetlenül attól, hogy mi van előírva neki /etc/nsswitch.conf illetve a /etc/resolv.conf file-ban. Ez persze nem sikerült neki.

Megoldás:

Ki kellett kapolcsni a mDNS kezelést a /etc/hosts.conf fájlban az alábbi bejegyzéssel:

mdns off