Passaggio di un server a IP statico da DHCP


14

Sto eseguendo un'installazione del server Ubuntu 10.04 e di recente ho dovuto passare da DHCP a IP statico. Ho modificato il /etc/network/interfacesfile e cambiato

iface eth0 inet dhcp

per

iface eth0 inet static  
address 192.168.1.167  
netmask 255.255.255.240  
network 192.168.1.160  
broadcast 192.168.1.175  
gateway 192.168.1.161

Noterai che gli IP sono un po 'strani. Questo perché il server è ora su una sottorete speciale dedicata all'isolamento di server specifici. Ho anche modificato il file resolv.conf per includere i server DNS corretti (incluso uno dei Google nel caso in cui si perdesse l'inferno).

Il problema è che, apparentemente a caso, la macchina perderà la capacità di parlare con il mondo esterno. So che la macchina è ancora attiva, ma si comporta come se non avesse alcuna rete. Penso che parte del problema sia che non vi è alcun DHCP in esecuzione su questa sottorete (né ci sarà) e il dhclient sembra essere ancora in esecuzione in alcune occasioni che provoca una sorta di conflitto (non ho idea di cosa) che fa morire la rete. Non riesco, tuttavia, a rimuovere il pacchetto dhcp3-client in quanto causa anche la rimozione del pacchetto ubuntu-minimal e ciò sarebbe negativo.

Quindi, qualche idea? Cosa potrebbe chiamare il dhclient e cosa posso fare per impedirne l'esecuzione?


1
eseguire sudo dhcpclient eth0e commentare se la rete è stata interrotta in seguito. E le ultime righe di /var/log/syslogse possibile
aatdark,

AGGIORNAMENTO Puoi provare sudo ifdown eth0secondo art.ubuntuforums.org/showthread.php?t=1419803
aatdark,

@aatdark Se esegui ps auxf | less, dovresti essere in grado di vedere un elenco di processi, organizzati in una struttura ad albero. È quindi possibile vedere quale processo è stato elaborato dhclient(basta andare sul ramo); ad esempio, sul mio PC dhclientè figlio del NetworkManagerprocesso.
Riccardo Murri,

Risposte:


14

Se non hai riavviato la macchina da allora, quel comportamento è normale. Il passaggio da ipc a ip statico dovrebbe essere:

  • sudo ifdown eth0
  • cambia la configurazione
  • sudo ifup eth0

Il motivo è che se esegui l'ifdown dopo aver modificato la configurazione, si comporta come se stesse eliminando un'interfaccia statica e non uccidesse il processo dhclient che continuerà a rovinare la tua configurazione. In tal caso, basta uccidere il processo dhclient con

sudo killall dhclient

e dovrebbe funzionare tutto.


2

Come accennato da jneves , è probabilmente il client DHCP a rovinare tutto per te.

In alternativa a sudo ifdown eth0-edit- sudo ifup eth0, puoi semplicemente eseguire /etc/init.d/networking restartdopo aver modificato il file. Ha anche il vantaggio di poterlo fare da remoto ...

(Non avendo abbastanza punti su askubuntu, non mi è permesso commentare solo la risposta di jneves, quindi per favore considera questo un commento ...)

Modifica : completamente dimenticato; poiché il comando sopra non ti disconnette in nessun momento, la tua sessione SSH dovrebbe effettivamente sopravvivere al nuovo caricamento della configurazione. Si è molto bello essere in grado di modificare le impostazioni di rete pur essendo collegata a detta macchina ...


Va benissimo (e incoraggiato) per te aggiungere la tua risposta con più informazioni che si basano su un'altra! (Bel lavoro collegato anche alla risposta precedente)
Jorge Castro

Stavo usando /etc/init.d/networking restart(nel server 10.04) dopo aver modificato il file di configurazione - il dhclient era ancora in esecuzione. Ho dovuto terminare manualmente il processo dhclient (e poi ho fatto un riavvio solo per assicurarmi che non si riaccendesse dopo un riavvio)
HorusKol
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.