dhclient e IP via dhcpd

Se avete problemi con l'installazione e la configurazione di Slackware postate qui. Non usate questo forum per argomenti generali... per quelli usate Gnu/Linux in genere.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Slackware, se l'argomento è generale usate il forum Gnu/Linux in genere.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
sonzo
Linux 0.x
Linux 0.x
Messaggi: 91
Iscritto il: mer 8 feb 2006, 17:59

dhclient e IP via dhcpd

Messaggio da sonzo »

Ciao ragazzi,

ho un problema; praticamente vorrei capire come prelevare l'ip per la mia ath0 o eth0 attraverso dhclient.

Ho fatto alcune prove sulla mia interfaccia ath0 ma non riesco ad ottenere l'ip.

Allora io ho tirato su l'interfaccia con un ifconfig ath0 up (eth0 è down al momento); dopo di ce do un dhclient ath0 ma non mi prende l'ipv4 esce dicendomi che non riesce a prendere l'ip... Perchè?

vi posto ifconfig ath0 perchè quando "uppo" l'interfaccia mi da sempre ipv6 e mai ipv4.

# ifconfig ath0
ath0 Link encap:Ethernet HWaddr 00:16:CF:A1:62:B1
inet6 addr: fe80::216:cfff:fea1:62b1/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:17657 errors:0 dropped:0 overruns:0 frame:0
TX packets:13057 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:24321253 (23.1 MiB) TX bytes:1150548 (1.0 MiB)


Grazie, a presto.

Avatar utente
kio341
Linux 2.x
Linux 2.x
Messaggi: 255
Iscritto il: gio 27 gen 2005, 0:00
Località: ROMA
Contatta:

Messaggio da kio341 »

5.3.1 DHCP

DHCP (o Dynamic Host Configuration Protocol, protocollo per la configurazione dinamica dei nodi), è uno dei sistemi attraverso cui è possibile assegnare un indirizzo IP ad un computer al suo avvio. Quando il client DHCP viene avviato, effettua una richiesta sulla rete locale, chiedendo ad un server DHCP di assegnargli un indirizzo IP. Il server DHCP ha un pool (o scope) di indirizzi IP disponibili. Il server risponderà a questa richiesta fornendo un indirizzo IP tra quelli nel pool, assieme ad un lease time (tempo di affitto). Una volta che il lease time per un dato indirizzo IP sia scaduto, il client dovrà contattare nuovamente il server e ripetere la negoziazione.

Il client dunque accetterà l'indirizzo IP fornitogli dal server e configurerà la propria interfaccia di rete con il suddetto indirizzo. Tuttavia, c'è un altro comodo trucco che i client DHCP usano durante le assegnazioni. Il client memorizza infatti l'indirizzo IP assegnatogli e, alla negoziazione successiva, chiederà al server di riassegnargli il medesimo indirizzo. Se possibile, il server soddisferà la richiesta; viceversa, assegnerà al client un nuovo indirizzo. Dunque, la negoziazione si svolge più o meno in questo modo:

Client: C'è un server DHCP disponibile sulla rete locale?
Server: Si, c'è. Sono qui.
Client: Ho bisogno di un indirizzo IP.
Server: Puoi prendere l'indirizzo 192.168.10.10 per 19200 secondi.
Client: Grazie.

Client: C'è un server DHCP disponibile sulla rete locale?
Server: Si, c'è. Sono qui.
Client: Ho bisogno di un indirizzo IP. L'ultima volta che abbiamo dialogato, avevo 192.168.10.10; posso averlo nuovamente?
Server: Si, puoi (oppure No, non puoi averlo: prendi invece l'indirizzo 192.168.10.12).
Client: Grazie.

Il client DHCP su Linux è /sbin/dhcpcd. Aprendo il file /etc/rc.d/rc.inet1 con il tuo editor di test preferito, noterai che il comando /sbin/dhcpcd viene chiamato a metà script. L'esecuzione del comando porterà alla conversazione descritta sopra. dhcpcd terrà inoltre traccia del tempo di validità rimasto per l'uso dell'indirizzo IP, e contatterà automaticamente il server DHCP richiedendo il rinnovo dell'affitto quando necessario. DHCP può anche controllare informazioni correlate, come il server ntp da usare, quale routing adoperare, etc.

Allestire DHCP su Slackware è facile. Avvia netconfig e seleziona l'opzione DHCP quando ti verrà proposta. Se hai più di una scheda di rete e non desideri che sia l'interfaccia eth0 ad essere configurata tramite DHCP, ti basterà modificare il file /etc/rc.d/rc.inet1.conf e cambiare i parametri relativi all'interfaccia di rete che dovrà avvalersi di DHCP.
da http://book.slackware.it/network-config ... tcpip.html
:idea:

Avatar utente
whites11
Linux 4.x
Linux 4.x
Messaggi: 1147
Iscritto il: ven 30 set 2005, 13:54
Località: Udine

Messaggio da whites11 »

kio341 ha scritto:
Client: C'è un server DHCP disponibile sulla rete locale?
Server: Si, c'è. Sono qui.
Client: Ho bisogno di un indirizzo IP.
Server: Puoi prendere l'indirizzo 192.168.10.10 per 19200 secondi.
Client: Grazie.
c'è da dire che il client è particolarmente educato :D

sonzo
Linux 0.x
Linux 0.x
Messaggi: 91
Iscritto il: mer 8 feb 2006, 17:59

Messaggio da sonzo »

eheh... lol

Si, fin lì ci sono; ma volevo capire perchè non riesco con dhclient a prendere l'ip dal server (e il server c'è)...

Io devo assegnare un ip ad ath0 o eth0 con DHCP SOLO quando sono da "peppino", mentre invece se sono a casa devo assegnare io ASSOLUTAMENTE l'IP..

Devo continuamente modificare i file di config del network? O è possibile farlo in un altro modo?

Avatar utente
gnubit
Linux 3.x
Linux 3.x
Messaggi: 751
Iscritto il: lun 17 apr 2006, 0:16
Località: Verona
Contatta:

Messaggio da gnubit »

Credo che un modo "semplice" sia quello di modificare /etc/rc.d/rc.inet1.

Utilizzando iwlist ath0 scanning rilevi gli SSID della rete e a seconda di quello che rilevi lanci dhcpcd o ifconfig.

tempo fa avevo fatto una cosa simile per caricare ip fissi diversi in due ambienti diversi.

Avatar utente
whites11
Linux 4.x
Linux 4.x
Messaggi: 1147
Iscritto il: ven 30 set 2005, 13:54
Località: Udine

Messaggio da whites11 »

prova a scaricare kubication

sonzo
Linux 0.x
Linux 0.x
Messaggi: 91
Iscritto il: mer 8 feb 2006, 17:59

Messaggio da sonzo »

Credo che un modo "semplice" sia quello di modificare /etc/rc.d/rc.inet1.

Utilizzando iwlist ath0 scanning rilevi gli SSID della rete e a seconda di quello che rilevi lanci dhcpcd o ifconfig.
Che intendi per "a seconda di quello che rilevi lanci dhcpcd o ifconfig"?

Io avevo pensato di editare /etc/rc.d/rc.inet1.conf e settare dhcp a yes e poi mi connetto all'AP e poi do un dhclient ath0; no?

Avatar utente
gnubit
Linux 3.x
Linux 3.x
Messaggi: 751
Iscritto il: lun 17 apr 2006, 0:16
Località: Verona
Contatta:

Messaggio da gnubit »

Forse avevo capito male, pensavo tu avessi questa situazione
Rete A dhcp
Rete B ip fisso.

Questa è la ragone del mio consiglio.

credo sia dhcpd ath0 il comando

Avatar utente
whites11
Linux 4.x
Linux 4.x
Messaggi: 1147
Iscritto il: ven 30 set 2005, 13:54
Località: Udine

Messaggio da whites11 »

gnubit ha scritto: credo sia dhcpd ath0 il comando
questo comando crea un server dhcp in ascolto sull'interfaccia ath0
per usufruire di un server dhcp preesistente il comando è

Codice: Seleziona tutto

dhclient ath0

Avatar utente
gnubit
Linux 3.x
Linux 3.x
Messaggi: 751
Iscritto il: lun 17 apr 2006, 0:16
Località: Verona
Contatta:

Messaggio da gnubit »

Io mi sono basato su questo pezzo di /etc/rc.d/rc.inet1

Codice: Seleziona tutto

if [ "${USE_DHCP[$i]}" = "yes" ]; then # use DHCP to bring interface up
        [ ${DHCP_HOSTNAME[$i]} ] && DHCP_OPTIONS="-h ${DHCP_HOSTNAME[$i]}"
        [ "${DHCP_KEEPRESOLV[$i]}" = "yes" ] && DHCP_OPTIONS="$DHCP_OPTIONS -R"
        [ "${DHCP_KEEPNTP[$i]}" = "yes" ] && DHCP_OPTIONS="$DHCP_OPTIONS -N"
        [ "${DHCP_KEEPGW[$i]}" = "yes" ] && DHCP_OPTIONS="$DHCP_OPTIONS -G"
        [ ${DHCP_IPADDR[$i]} ] && DHCP_OPTIONS="$DHCP_OPTIONS -s ${DHCP_IPADDR[$i]}"
        echo "/etc/rc.d/rc.inet1:  /sbin/dhcpcd -d -t ${DHCP_TIMEOUT[$i]:-60} ${DHCP_OPTIONS} ${1}" | $LOGGER
        /sbin/dhcpcd -d -t ${DHCP_TIMEOUT[$i]:-60} ${DHCP_OPTIONS} ${1}
E tra l'altro a me funziona così impostando USE_DHCP = "YES" in inet1.conf.

Quindi vuol dire che l'impostazione in inet1.conf serve a far partire il server DHCP sulla scheda di rete.

Rispondi