# Strano problema DNS e upgrade to 2.6.23-hardened-r9

## DevOne

Ciao a tutti...

ho riscontrato uno stranissimo problema sul funzinamento del DNS.

Questo è lo scenario:

macchina linux con kernel 2.6.14 che opera come firewall/NAT; presenta server DNS utilizzato SOLO internamente nella rete per la risoluzione degli IP.

Tutto funziona ok sia in navigazione verso l'esterno, sia in ingresso dall'esterno sul NAT.

Ieri ho creato sulla medesima macchina il nuovo kernel in oggetto.

Tutto funziona bene: navigazione in ingresso OK, skype dall'interno funziona, stesso per msn, ed internet anche funziona dall'interno, ma....

internet funziona solo se provo ad accedere conoscendo già l'IP, mentre tramite i domini, il DNS, anche se attivo e regolarmente funzionante, non riesce a

risovere gli IP!!!

Pensandoci sopra, non mi sembra che ci sia qualche opzione di configurazione nel kernel, che possa influire su un servizio quale quello del DNS, tanto più che è solo interno e quindi esclude l'uso di iptables.

Stesso discorso per il software DNS (bind) che con le due versioni di kernel, da una parte funziona e dall'altra no!

[NEW]

 A quanto pare, la macchina permette la navigazione da interno -> esterno e da esterno -> interno, ma in locale non naviga! cosa che prima succedeva.

a quanto pare sembra essere proprio un problema di questo kernel. adesso è uscita la revisione r12 che sto per provare.

[/NEW]

Secondo voi?

Mi date una mano...  :Razz: 

----------

## DevOne

A quanto pare, la macchina permette la navigazione da interno -> esterno e da esterno -> interno, ma in locale non naviga! cosa che prima succedeva.

a quanto pare sembra essere proprio un problema di questo kernel. adesso è uscita la revisione r12 che sto per provare.

----------

## DevOne

 *DevOne wrote:*   

> A quanto pare, la macchina permette la navigazione da interno -> esterno e da esterno -> interno, ma in locale non naviga! cosa che prima succedeva.
> 
> a quanto pare sembra essere proprio un problema di questo kernel. adesso è uscita la revisione r12 che sto per provare.

 

Il problema della non risoluzione del server DNS interno è proprio la mancanza di navigazione verso internet.

Infatti, il DNS server anche se locale, rimanda ad altri DNS esterni quando non trova le zone al suo interno; da

ciò, se non naviga la macchina, non riesce a demandare ad altri DNS.

La cosa che non capisco...perchè tutto il traffico passa da fuori a dentro e viceversa, mentre in locale no!?

Anche con il kernel r12 si verifica la stessa cosa!

Idem con la versione 2.6.22

----------

## DevOne

Ragazzi...nessuno sa come risolvere il problema?

La mancata connettività in locale, causa anche un rallentamento nella fase successiva all'inserimento dell'utente in ssh

fino all'attesa del prompt per la password!

Questo "sintomo" già mi successe in passato, ma non ricordo cosa mi dissero di cambiare o ricompilare...

----------

## randomaze

Onestamente non si capisce molto nel tuo post... "navigazione", skyp, ssh e DNS si confondono tra loro senza capire chi o cosa non funziona.

nslookup e/o dig funzionano? Su tutti gli indirizzi (interni ed esterni) o solo su una parte? Anche se li fai sulla macchina che dovrebbe risolvere tali nomi?

Dato che dai la colpa al kernel hai provato a fare il boot con il vecchio kernel?

----------

## DevOne

 *randomaze wrote:*   

> Onestamente non si capisce molto nel tuo post... "navigazione", skyp, ssh e DNS si confondono tra loro senza capire chi o cosa non funziona.
> 
> nslookup e/o dig funzionano? Su tutti gli indirizzi (interni ed esterni) o solo su una parte? Anche se li fai sulla macchina che dovrebbe risolvere tali nomi?
> 
> Dato che dai la colpa al kernel hai provato a fare il boot con il vecchio kernel?

 

Lo so è un'pò complicato spiegare cosa succede!

Allora si, il vecchio kernel funziona bene...tutto viene risolto dal dns server (che risiede sullo stesso firewall/NAT); le altre macchine della rete interna, usano come gateway e dns la macchina di cui sto parlando.

Se eseguo un kernel superiore a quello che ho già (> 2.6.14), tutte le macchine interne non risolvono più i nomi di domini, mentre la navigazione comunque funziona se alcuni domini sono ancora in cache nella macchina client (quindi pingo se uso direttamente IP, pingo se il nome di dominio è in cache, non pingo se uso il dominio e non è stato risolto in precedenza e quindi non è in cache).

Spero ora di essere stato più chiaro!

----------

## dark_knight

 *DevOne wrote:*   

> La mancata connettività in locale, causa anche un rallentamento nella fase successiva all'inserimento dell'utente in ssh
> 
> fino all'attesa del prompt per la password!

 

Questo perché sshd tenta di fare un reverse lookup sull'IP dal quale gli arriva la connessione; quasi sicuramente il problema è lo stesso.

Da quello che ho capito, hai configurato bind affinchè risponda solo alle richieste provenienti dalla LAN. Sicuro di non aver configurato male qualche regola di iptables per droppare i pacchetti che vengono dall'esterno (segando, ad esempio, le risposte alle richieste che bind fa ai server authoritative per i vari domini?). È l'unica cosa alla quale riesco a pensare (magari hai cambiato qualche cosa nella configurazione di iptables nel kernel?).

Io ti suggerirei di:

Dare uno sguardo a syslog

Far girare uno sniffer e dare uno sguardo al traffico generato dal gateway

----------

## DevOne

 *dark_knight wrote:*   

> 
> 
> Da quello che ho capito, hai configurato bind affinchè risponda solo alle richieste provenienti dalla LAN. Sicuro di non aver configurato male qualche regola di iptables per droppare i pacchetti che vengono dall'esterno (segando, ad esempio, le risposte alle richieste che bind fa ai server authoritative per i vari domini?). È l'unica cosa alla quale riesco a pensare (magari hai cambiato qualche cosa nella configurazione di iptables nel kernel?).
> 
> 

 

Le regole di iptables sono le stesse con kernel differenti....ho pensato anche io di aver tralasciato qualche cosa nella configurazione del kernel, ma ho ripetutamente controllato e tutti i moduli necessari sono inseriti!

Non ho proprio idea di che cosa manchi....

Stessi file di partenza (dns server e iptables) sul 2.6.14 vanno, sugli altri si verifica la mancata connettività locale del NAT ed il non funzionamento del DNS server.

L'unica cosa che posso fare a questo punto, è tracciare i logs...

----------

## DevOne

 *DevOne wrote:*   

> 
> 
> L'unica cosa che posso fare a questo punto, è tracciare i logs...

 

Dai log, non mi sembra che ci siano errori...ho confrontato quelli per il 2.6.14 e il 2.6.23, e le differenze sono queste:

```

Jun 19 16:59:25 firewall kernel: Linux version 2.6.23-hardened-r9 (root@firewall) (gcc version 3.4.6 (Gentoo 3.4.6-r2, ssp-3.4.6-1.0, pie-8.7.10)) #1 Thu Jun 19 11:36:32 CEST 2008

...

Jun 19 16:59:25 firewall kernel: nf_conntrack version 0.5.0 (1024 buckets, 4096 max)

Jun 19 16:59:25 firewall kernel: ip_tables: (C) 2000-2006 Netfilter Core Team

```

```

Jun 20 05:06:45 firewall kernel: Linux version 2.6.14-hardened-r5 (root@firewall) (gcc version 3.3.6 (Gentoo 3.3.6, ssp-3.3.6-1.0, pie-8.7.8)) #4 Mon Feb 27 21:18:24 CET 2006

...

Jun 20 05:06:45 firewall kernel: ip_conntrack version 2.3 (447 buckets, 3576 max) - 216 bytes per conntrack

Jun 20 05:06:45 firewall kernel: ip_tables: (C) 2000-2002 Netfilter core team

```

A parte queste (sui moduli diversi come nomi) le informazioni sono pressochè identiche!

Sarà il modulo conntrack che causa qualche problema???

----------

