Newsgroup: it.comp.os.linux.sys
Titolo: problema con dhcpd

Oggi ho un altro problema.
Ho un server (che fa NAT/PAT) con due schede di rete:
eth0: 193.x.y.z
eth1: 192.168.18.1
sul server c'č debian 3.1 stable e kernel 2.4.27
 
il file /etc/dhcpd.conf č cosě configurato:
shared-network LOCAL
{
   option domain-name-servers 192.168.18.1;
   option subnet-mask 255.255.255.0;
   default-lease-time 18000;
   max-lease-time 36000;
   subnet 192.168.18.0 netmask 255.255.255.0
   {
           option broadcast-address 192.168.18.255;
           option routers 192.168.18.1;
           host pc1{
                hardware ethernet 00:50:bf:56:e7:dc;
                fixed-address 192.168.18.20;
           }
   }
}
shared-network FISICA
{
   option domain-name-servers 193.x.y.1;
   option subnet-mask 255.255.255.0;
   default-lease-time 18000;
   max-lease-time 36000;
   subnet 193.x.y.0 netmask 255.255.255.0
   {
           option broadcast-address 193.x.y.255;
           option routers 193.x.y.1;
           host fisica-pc1{
                hardware ethernet 00:11:22:33:44:55;
                fixed-address 193.x.y.z;
           }
   }
}
Il deamon viene cosě avviato:
/usr/sbin/dhcpd eth0 eth1
Vieniamo ai log:
Jan 25 13:59:31 checkpointII dhcpd: Listening on
LPF/eth1/00:50:04:be:a9:ad/LOCAL
Jan 25 13:59:31 checkpointII dhcpd: Sending on
LPF/eth1/00:50:04:be:a9:ad/LOCAL
Jan 25 13:59:31 checkpointII dhcpd: Listening on
LPF/eth0/00:04:75:e9:17:ab/FISICA
Jan 25 13:59:31 checkpointII dhcpd: Sending on
LPF/eth0/00:04:75:e9:17:ab/FISICA
Jan 25 13:59:31 checkpointII dhcpd: Sending on Socket/fallback/fallback-net
Jan 25 14:00:14 checkpointII dhcpd: DHCPDISCOVER from 00:50:bf:56:e7:dc via
eth0
Jan 25 14:00:14 checkpointII dhcpd: no free leases on subnet FISICA
Jan 25 14:00:14 checkpointII dhcpd: DHCPDISCOVER from 00:50:bf:56:e7:dc via
eth1
Jan 25 14:00:14 checkpointII dhcpd: DHCPOFFER on 192.168.18.20 to
00:50:bf:56:e7:dc via eth1
Jan 25 14:00:14 checkpointII dhcpd: DHCPREQUEST for 192.168.18.20 from
00:50:bf:56:e7:dc via eth0
Jan 25 14:00:14 checkpointII dhcpd: DHCPNAK on 192.168.18.20 to
00:50:bf:56:e7:dc via eth0
Jan 25 14:00:14 checkpointII dhcpd: DHCPREQUEST for 192.168.18.20 from
00:50:bf:56:e7:dc via eth1
Jan 25 14:00:14 checkpointII dhcpd: DHCPACK on 192.168.18.20 to
00:50:bf:56:e7:dc via eth1
Jan 25 14:00:15 checkpointII dhcpd: DHCPDISCOVER from 00:50:bf:56:e7:dc via
eth0
Jan 25 14:00:15 checkpointII dhcpd: no free leases on subnet FISICA
Jan 25 14:00:15 checkpointII dhcpd: DHCPDISCOVER from 00:50:bf:56:e7:dc via
eth1
Jan 25 14:00:15 checkpointII dhcpd: DHCPOFFER on 192.168.18.20 to
00:50:bf:56:e7:dc via eth1
Jan 25 14:00:15 checkpointII dhcpd: DHCPREQUEST for 192.168.18.20 from
00:50:bf:56:e7:dc via eth0
Jan 25 14:00:15 checkpointII dhcpd: DHCPNAK on 192.168.18.20 to
00:50:bf:56:e7:dc via eth0
Jan 25 14:00:15 checkpointII dhcpd: DHCPREQUEST for 192.168.18.20 from
00:50:bf:56:e7:dc via eth1
Jan 25 14:00:15 checkpointII dhcpd: DHCPACK on 192.168.18.20 to
00:50:bf:56:e7:dc via eth1
Jan 25 14:00:17 checkpointII dhcpd: DHCPDISCOVER from 00:50:bf:56:e7:dc via
eth0
Jan 25 14:00:17 checkpointII dhcpd: no free leases on subnet FISICA
Jan 25 14:00:17 checkpointII dhcpd: DHCPDISCOVER from 00:50:bf:56:e7:dc via
eth1
Jan 25 14:00:17 checkpointII dhcpd: DHCPOFFER on 192.168.18.20 to
00:50:bf:56:e7:dc via eth1
Jan 25 14:00:17 checkpointII dhcpd: DHCPREQUEST for 192.168.18.20 from
00:50:bf:56:e7:dc via eth0
Jan 25 14:00:17 checkpointII dhcpd: DHCPNAK on 192.168.18.20 to
00:50:bf:56:e7:dc via eth0
Jan 25 14:00:17 checkpointII dhcpd: DHCPREQUEST for 192.168.18.20 from
00:50:bf:56:e7:dc via eth1
Jan 25 14:00:17 checkpointII dhcpd: DHCPACK on 192.168.18.20 to
00:50:bf:56:e7:dc via eth1
J
... poi eth0 continua a dare DHCPNAK in continuazione...
Suggerimenti?
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

dimenticavo di dire che sia eth0 che eth1 sono connesse sulla stessa lan.
Questo per tentare di dividere le utenze all'interno della stessa network.
Se un utente è di "serie A" piglia dal dhcp un IP pubblico e l'indirizzo del
router come GW.
Se un utente è di "serire B" piglia dal dhcp un IP privato e l'indirizzo del
NAT/PAT come GW.
Ho fatto pure una prova utilizzando due distinti server dhcp (su due
distinte macchine).
Il problema persiste.
La prima da il seguente log:
Jan 25 14:23:32 checkpointII dhcpd: DHCPACK on 192.168.18.20 to
00:50:bf:56:e7:dc via eth1
Jan 25 14:23:33 checkpointII dhcpd: DHCPDISCOVER from 00:50:bf:56:e7:dc via
eth1
Jan 25 14:23:33 checkpointII dhcpd: DHCPOFFER on 192.168.18.20 to
00:50:bf:56:e7:dc via eth1
Jan 25 14:23:33 checkpointII dhcpd: DHCPREQUEST for 192.168.18.20 from
00:50:bf:56:e7:dc via eth1
(messaggio che si ripete in eterno...)
Il log sul secondo server è invece:
Jan 25 14:31:05 berg dhcpd: DHCPDISCOVER from 00:50:bf:56:e7:dc via eth0
Jan 25 14:31:05 berg dhcpd: no free leases on subnet 193.x.y.0
Jan 25 14:31:05 berg dhcpd: DHCPREQUEST for 192.168.18.20 from
00:50:bf:56:e7:dc via eth0
Jan 25 14:31:05 berg dhcpd: DHCPNAK on 192.168.18.20 to 00:50:bf:56:e7:dc
via eth0
(ancora che si ripete in eterno)


Oggi mi sento un pò matto a rispondermi da solo.
Ma lo faccio anche per lasciare negli archivi di google un possibile aiuto a
chi si dovesse trovare in futuro nella mia condizione.
Allora: ho capito qualcosa in più.
Usando 2 server distinti ora mi funziona.
Il problema principale dipende, probabilmente, dal fatto che il server 2 è
più veloce (p4 3ghz) del server 1 (ppro 200) e riesce a rispondere prima
alle richieste in broadcast.
Simuliamo un po:
1) Client1 vuole un IP e fa un DHCPDISCOVER in broadcast
2) Server1 ha il suo mac registrato e gli manda un DHCPOFFER con l'ip
3) Server2 non ha il suo mac e gli manda un NO FREE LEASES
4) Client1 uno richiede l'ip passato dal Server1 in broadcast con un
DHCPREQUEST
5) Server2 gli risponde con un DHCPNAK, visto che non può soddisfare la
richiesta
6) Server1 gli invia l'ip con un DHCPACK
Solo che prima che server1 faccia il DHCPACK (6) server2 produce diversi
DHCPNAK
Se il caso è diveso, ovvero un Client2 che è registrato su server2, la
procedurà è più "indolore", nel senso che Server1 non fa in tempo a produrre
un DHCPNAK.
Resta il problema che non riesco proprio a far funzionare il dhcp con due
shared network sulla stessa macchina.
Probabilmente mi adeguerò utilizzando due distinti dhcp.


 Oggi mi sento un pò matto a rispondermi da solo.
....
mi ricordavo di aver affrontato questa cosa tempo fa:
l'avevo risolta leggendo l'esempio fornitomi dalla distribuzione su 
dhcpd....
in pratica devi avere UN solo server DHCP (Dubbio... ma cosa dicono gli 
RFC in proposito ? andro' a vedere)...
tale server deve avere le interfacce su tutte le subnet che deve servire 
(o al max crei alias).
crei un gruppo per ogni subnetmask che ti interessa
e all'interno dei gruppi inserisci gli host che ti interessa...
guarda il dhcpd.conf fornito con il pacchetto
e vedi su google...