2012-06-06 15 views
8

Ho un problema con l'IP statico in Ubuntu 12.04.L'impostazione di IP statico su Ubuntu Server 12.04 rende la perdita della connessione esterna

Con DHCP non ho alcun problema, ma quando ho impostato (sotto /etc/network/interfaces) l'indirizzo statico, il gateway, la subnet mask e il dns-nameserver, ho che il server non può connettersi al mondo esterno.

È in grado di connettersi solo a host IP locali.

Ho provato ad inserire i nameserver nello /etc/resolv.conf ma ogni volta che riavvio la macchina, le modifiche vengono annullate.

Quale potrebbe essere il problema?

risposta

1

Prima di tutto: controllare se si dispone della configurazione corretta: - provare a eseguire il ping del gateway, funziona? Se non si controlla l'IP del gateway. - prova a ping 8.8.8.8 (DNS di Google) - funziona? Se no, controllare di instradamento utilizzando uno:

mtr 8.8.8.8 

o

tracepath -n 8.8.8.8 

e controllare in cui l'instradamento hop si ferma.

Per quanto riguarda namees DNS: si prega di aggiungere al file/etc/network/interfaces linee:

dns-nameservers Your_DNS_IP_address 
+0

grazie ho risolto, ho digitato un server DNS sbagliato – frakorn

+0

Definitivamente ha fatto il trucco. Grazie! – Asken

0

Abbiamo avuto lo stesso problema con un vecchio Terminale e Ubuntu 12.04 HP di utilizzare un indirizzo IP statico abbiamo dovuto usare il flag "manual" in /etc/network/interfaces.e simulare un input ifconfig.

auto eth1 
iface eth1 inet manual 
up ifconfig eth1 <IP> netmask <IP> broadcast <IP> up 
up route add default gw <IP> 

Una strana soluzione, ma la quantità minima di voodoo, per risolvere questo problema.

0

Vari processi sovrascrivono /etc/resolv.conf (dhcpd, networkmanager, ecc.). Sospetto che sia il problema che stai vedendo. Vorrei suggerire alcune opzioni:

  1. Invece di aggiungere nameserver a "/etc/resolv.conf", invece loro di "/etc/resolv.conf.head" aggiunge. Il contenuto di "/etc/resolv.conf.head" verrà automaticamente anteposto alle cose che vengono generate automaticamente. A seconda delle opzioni potresti voler usare "/etc/resolv.conf.tail" per virare sulle tue impostazioni alla fine del file. In entrambi i casi, questo dovrebbe sovrascrivere qualsiasi di quelle impostazioni generate automaticamente con quelle fisse.

  2. di protezione da scrittura /etc/resolv.conf per evitare che le modifiche vengano sovrascritti da un altro demone (dopo aver apportato le modifiche):

    $ sudo chattr +i /etc/resolv.conf

  3. Molto probabilmente è dhcpd che sta modificando /etc/resolv.conf e hai dimenticato di disabilitarlo. Rimuovere (o disabilitare) dhcpd in modo che non modifichi /etc/resolv.conf. Per rimuovere:

    $ sudo apt-get remove isc-dhcp-client

  4. Usa auditd per determinare quale demone sta modificando/etc/resolv.conf:

    $ sudo auditctl -w /etc/resolv.conf -p w

I registri sono in /var/log/audit/audit.log. È possibile visualizzare la data/ora in cui il file è stato modificato e quale programma lo ha modificato (per adottare misure correttive).

+0

Oops, ho sbagliato il percorso per coda/testa. È "/etc/resolvconf/resolv.conf.d/head" o "/etc/resolvconf/resolv.conf.d/tail". Nella maggior parte dei casi, creerai un file "/etc/resolvconf/resolv.conf.d/tail" e aggiungerai le impostazioni del "server dei nomi" lì. –

0

Non so su di te, ma non mi piace utilizzare il file resolv.conf. Preferisco impostare il server dei nomi per leggere i miei router e in genere userò i server dei nomi di Google 8.8.8.8 o 8.8.4.4.

Ecco una piccola guida che ho trovato se qualcuno è interessato.

http://ubuntuserverhelp.com/setting-up-a-static-ip/

19

Ubuntu 12.04 utilizza resolvconf (un set di script e hook) anziché resolv.conf per gestire il server DNS. La differenza più importante per l'utente è che qualsiasi modifica apportata manualmente a /etc/resolv.conf andrà persa man mano che viene sovrascritta la prossima volta che qualcosa fa scattare resolvconf.

Per aggiungere le voci DNS statici nel file resolv.conf, modificare /etc/resolvconf/resolv.conf.d/base:

aggiungere queste righe (l'esempio che segue è name server pubblici di OpenDNS):

nameserver 208.67.222.222 
nameserver 208.67.220.220 

Eseguire questo comando per aggiornare la impostazione resolvconf:

sudo service resolvconf restart 

Per visualizzare gli indirizzi server DNS, utilizzare questo comando:

cat /etc/resolv.conf 
+0

Risposta perfetta, ogni passaggio ha funzionato esattamente come descritto per me su Ubuntu 12.04 –

+0

Questa dovrebbe essere la risposta accettata. – Mustafa

Problemi correlati