Come impostare l'IP statico in Ubuntu Server 12.04?


32
sudo apt-get update 
sudo apt-get upgrade
  1. ifconfig

  2. sudo nano /etc/network/interfaces

    auto eth0
    iface eth0 inet static
    address 192.168.1.150
    netmask 255.255.255.0
    network 192.168.2.0
    broadcast 192.168.1.255
    gateway 192.168.2.1
    safe
    
  3. sudo nano /etc/resolv.conf

    Do not edit this file by hand --your changes will be overwritten
    # I add this 
    nameserver 8.8.8.8
    nameserver 8.8.4.4
    
  4. sudo apt-get remove dhcp-client

  5. sudo /etc/init.d/networking restart

    *Running /etc/init.d/networking restart is deprecated because it may 
    not enable again some interfaces
    *Reconfiguring network interfaces...
    ssh stop/waiting
    ssh start/running,process 1438
    

Dov'è l'errore? Non sono pigro. L'ho cercato su Google per 3 giorni ma senza risultati. Ho provato di tutto.

Dopo il riavvio, il /etc/resolv.conffile lampeggia nello stato originale.


Hmm qualche idea sul perché non fai tutto nella cartella di configurazione / etc / network / interfaces come qui: draalin.com/setting-up-a-static-ip-address-in-ubuntu O ha più senso effettivamente dividere le cose come hai fatto nella cartella di configurazione resolv.conf e interfacce?

L'ho fatto andando direttamente alla scheda Reti e modificandolo manualmente
poorva

Risposte:


16

Questo ha due domande indipendenti:

resolv.conf le voci vengono ripristinate dopo un riavvio

Il modo di /etc/resolv.conflavorare è stato cambiato in Ubuntu 12.04. Ciò è dovuto all'implementazione di foundations-p-dns-resolving come descritto qui https://blueprints.launchpad.net/ubuntu/+spec/foundations-p-dns-resolving per superare alcune limitazioni statiche resolv.conf.

Qui puoi ottenere maggiori dettagli: http://www.stgraber.org/2012/02/24/dns-in-ubuntu-12-04/

È possibile ignorare la nuova funzionalità rimuovendo il collegamento simbolico /etc/resolv.confe creare un file chiamato /etc/resolv.conflì. Ma prima di farlo fai riferimento al link che ho indicato sopra e vedi perché è fortemente scoraggiato.

Indirizzo IP contro conflitto di rete e gateway (Impostazione di un IP statico) Inoltre, come sottolineato da pgschk , il tuo indirizzo IP non corrisponde alle voci di gateway e di rete. Ma ciò non sta causando il /etc/resolv.confpassaggio allo stato originale, ma il motivo che ho citato sopra.


scusatemi quando scrivo ho 2 server, dettaglio possibile rimuovendo il collegamento simbolico /etc/resolv.conf e lì create un file chiamato /etc/resolv.conf. Non l'ho mai fatto prima
PER

Suggerirei di verificare se qualsiasi altro lavoro elencato nel link stgraber.org diverso dalla rimozione del link simbolico funzioni prima per te. Ma se ti piace ancora rimuovere il link, puoi usare i soliti comandi come 'mv /etc/resolv.conf /etc/resolv.conf.ori' o 'rm /etc/resolv.conf' e quindi creare un nuovo / etc / resolv.conf usando il tuo editor di testo preferito (come vi o nano).
Jamess,

Spero che tu abbia inteso /etc/resolv.conf, non /etc/resolv.config nella domanda precedente
Jamess,

Sono online, è solo un bug. Grazie e per rimuovere il link> resolvconfig: Errore /etc/resolv.conf non è un collegamento simbolico, non fare nulla.
bemonolit,

6

L'indirizzo del gateway si trova in una sottorete diversa dall'indirizzo IP locale:

indirizzo 192.168. 1 .150 gateway 192.168. 2 .1

Inoltre, l'indirizzo di rete è stato specificato anche nella sottorete .2:

rete 192.168. 2 .0

Usi la sottorete 192.168.1 / 24 o 192.168.2 / 24?

Modifica: Informazioni su resolv.conf: questo file viene principalmente aggiornato da diversi pacchetti (a seconda della configurazione). Prova a specificare i nameserver nel tuo file / etc / network / interfaces:

dns-nameservers 8.8.8.8 8.8.4.4


sudo nano / etc / network / interfaces # L'interfaccia di rete primaria indirizzo auto eth0 192.168.1.13 netmask 255.255.255.255 gateway 192.168.1.1 rete 192.168.1.0 broadcast 192.168.1.225 dns-nameservers 8.8.8.8 8.8.4.4 dns-search mydomaine google. com
bemonolit,

stesso problema * L'esecuzione di /etc/init.d/networking resrtart è obsoleta perché potrebbe non abilitare nuovamente alcune interfacce * Riconfigurazione delle interfacce di rete ...
bemonolit

* L'esecuzione di /etc/init.d/networking resrtart è obsoleta perché potrebbe non abilitare nuovamente alcune interfacce * Riconfigurazione delle interfacce di rete ...
bemonolit

1

Puoi provare questa opzione:

  • Rimuovere /etc/resolv.confe quindi crearne uno nuovo resolv.conf.

  • sudo nano /etc/resolv.conf dopo di ciò aggiungi la bandiera:

  • sudo chattr +i /etc/resolv.conf- con questo +iflag, anche root non può toccare questo file. Ma se vuoi cambiare il nameserver, cambia il flag in:

  • sudo chattr -i /etc/resolv.confquindi aggiungi il tuo nuovo nameserver.

Quindi provare a riavviare e vedere cosa succede :).

Spero che questo risolva il tuo problema.

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.