Newsgroup: it.comp.reti.ip-admin
Titolo: Stesso DNS per due sottoreti : come ?

Uso Linux con slack 3.4 e named.
Il mio dns funziona correttamente in locale,
e anche come cache quando sono anline.
Ora ho messo 2 schede di rete sul pc:
ho quindi anche eth1.
eth0 e' la rete 10.0.0.0, (255.0.0.0)
eth1 e' 192.168.1.0 (255.255.255.0)
Una in classe A e una in classe C, cosi' per divertimento.
Il linux si chiama serverlinux.
1) E' lecito che io mi aspetti che "ping serverlinux" dia 10.0.0.1 su
una macchina
della prima rete e 192.168.1.1 su una macchina della seconda ?
Io ho letto tutto il dns  howto per farmi il dns,
e poensavo di non avere dubbi :
i file di configurazione si sdoppiando, uno per ogni zona. (sottorete).
Quello che <sorpresa>non mi quadra</sorpresa>
e' che l'associazione nomi - ip viene fatta in un unico file.
Se e' lecito aspettarsi che serverlinux sia 10.0.0.1 per una rete e
192.168.1.1 per l'altra,
come faccio a indicarlo ?
Qual'e' la sintassi ?
...sto sbagliando impostazione ?
Di seguito la mia configurazione del DNS.
Attendo il guru di turno...
named.boot : ###############################
directory /etc
; type     domain                source host/file          backup file
cache      .                                               root.cache
primary    0.0.127.IN-ADDR.ARPA                            named.local
primary    10.IN-ADDR.ARPA                            named.localnet
primary    1.168.192.IN-ADDR.ARPA
named.localnet2
primary    piro.home                            named.thisdomain
########################################
named.conf: ################################
options {
 directory "/etc";
};
logging {
 category lame-servers { null; };
 category cname { null; };
};
zone "." in {
 type hint;
 file "root.cache";
};
zone "0.0.127.in-addr.arpa" in {
 type master;
 file "named.local";
};
zone "10.in-addr.arpa" in {
 type master;
 file "named.localnet";
};
zone "1.168.192.in-addr.arpa" in {
 type master;
 file "named.localnet";
};
zone "piro.home." in {
 type master;
 file "named.thisdomain";
};
###########################################
named.localnet, quello per la rete 10.0.0.0 :##############
@ IN SOA piro.home. root.piro.home. (
   31 ; Serial
   10800 ; Refresh
   1800 ; Retry
   3600000 ; Expire
   259200 ) ; Minimum
 IN NS piro.home. ; pedantic
1 IN PTR piro.home.
2 IN PTR serverlinux.piro.home.
#############################################
named.localnet, quello per la rete 192.168.1.1 :##############
@ IN SOA piro.home. root.piro.home. (
   31 ; Serial
   10800 ; Refresh
   1800 ; Retry
   3600000 ; Expire
   259200 ) ; Minimum
 IN NS piro.home. ; pedantic
1 IN PTR piro.home.                        ;gia qui ho dei dubbi :
sempre PTR 1 e 2 ?
2 IN PTR serverlinux.piro.home.
#############################################
ed infine named.thisdomain :###########################
@ IN SOA piro.home. root.piro.home. (
   21 ; Serial
   10800 ; Refresh
   1800 ; Retry
   3600000 ; Expire
   259200 ) ; Minimum
 IN NS piro.home. ;
 IN MX 10 piro.home. ; mail
localhost A 127.0.0.1
piro.home. A 10.0.0.1
serverlinux A 10.0.0.1    ; come faccio a dire che serverlinux e' anche
192.168.1.1 ?
ns CNAME piro.home.
ftp CNAME piro.home.
www CNAME piro.home.
mail CNAME piro.home.
news CNAME piro.home.
@ TXT "Dominio di Casa di Piro"
################################################

 come faccio a indicarlo ?
No, non e' lecito.
Se una macchina ha x interfacce di rete e a ognuna e'
assegnato un ip e' lecito aspettarsi che ogni interfaccia
abbia un nome e ogni nome corrisponda esattamente a una 
interfaccia. Il DNS e' concepito per funzionare cosi'.
Se quello che vuoi fare e' fare si che con un nome "generico"
uno acceda implicitamente all'ip "ottimale" per ottenere
quel servizio ci sono tre strade:
La prima, a livello di DNS, e' quella che adottiamo attualmente
per fare si che un utente americano che usa il server irc
"
us.undernet.org
" venga dirottato sul server piu' opportuno,
in pratica ogni provider che ha un server "suo" mette di bruta
forza "
us.undernet.org
 -> x.y.z.n" all'indirizzo IP fisico
del suo server, cosi' i suoi utenti finiscono li.
Questo e' possibile perche' ovviamente per ogni rete a cui 
vogliamo fare una forzatura gira un processo namedd autonomo
con la sua configurazione (anzi.. i provider seri hanno almeno
due nameserver primari: uno visibile all'esterno che pubblicizza
i dominii del provider ed uno "interno" che e' quello usato dai
loro clienti per risolvere i nomi, ragioni di ottimizzazione).
Per fare qualcosa del genere dovresti fare partire due named con
configurazioni diverse e metterli in listen ognuno su una 
interfaccia, cosa nemmeno troppo complicata.
Ovviamente per evitare di incasinarti e' opportuno che ogni
IP abbia comunque un nome unico e che da quel nome si vada
esattamente a quell'IP, il "giochetto" lo fai su un alias:
Da un lato: genericlinux CNAME linuxeth1
Dall'altro: genericlinux CNAME linuxeth2
La seconda e' un po' piu' complessa, ci stiamo lavorando: un
named unico che restitiusce sempre risposte con TTL=0 per
i nomi "dinamici" e che da una risposta diversa a seconda 
dell'IP da cui viene la domanda.... e' ancora sperimentale
ma e' simile ad esempio a quanto fa 
http://www.lycos.com/
 che
ti spara sul server a te piu' vicino e in una entrypage nella
tua ligua in modo automatico.
La terza e' ancora peggio.. e' quello che feci per un piccolo
provider che voleva che uno che aveva ad esempio come
proxy 12.34.56.78 venisse connesso al proxy piu' vicino al
pop da cui era connesso. Si tratta di assegnare alcuni IP
a delle macchine "virtuali" e poi fare a livello di routing 
un NAT o un "IP over IP tunneling" sul firewall/router e 
portare i pacchetti alla macchina giusta, esempio:
Il pop di bari mappa 12.34.56.78 su 12.33.33.1 che e' il proxy
in lan sul POP stesso, il pop di roma mappa 12.34.56.78
su 12.44.44.1 che e' il LAN con il pop di roma.
Questo e' a livello IP quindi funziona per tutti i servizi,
perfino per il DNS stesso (quel provider aveva su ogni POP
una macchinetta linux che faceva da proxy e da DNS locale
per i clienti).
Ovviamente e' una strada complicatina ma che da ottimi 
risultati (la configurazione dei PC e' uguale per tutti i
clienti, se un cliente cambia POP non deve riconfigurare
niente e usa sempre i proxy e i servizi "ottimali" per il
POP a cui e' connesso senza nemmeno accorgersene).
Ciao,
-- 
Andrea

Ti ringrazio per la risposta molto ben argomentata.
Il mio caso, molto piu' semplice
(rete segreteria e aula pc di una scuola)
si risolve da solo,
in quanto il dns torna un ip (es 10.0.0.1)
alle macchine della seconda rete (192.168.1.x)
le quali hanno 192.168.1.1 come gateway, il quale
conosce 10.0.0.1 ... perche' e' esso stesso.
(ma conoscerebbe comunque qualunque 10.0.0.x perche' sa dove routare.)
Grazie ancora e ciao.