Jak skonfigurować statyczny adres IP w 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
    

Gdzie jest błąd? Nie jestem leniwy. Googlowałem przez 3 dni, ale bez rezultatów. Próbowałem wszystkiego

Po ponownym uruchomieniu /etc/resolv.confplik miga do pierwotnego stanu.

bemonolit
źródło
Hmm, masz pomysł, dlaczego nie robisz wszystkiego w folderze konfiguracyjnym / etc / network / interfaces, jak tutaj: draalin.com/setting-up-a-static-ip-address-in-ubuntu Czy może to ma sens czy rzeczywiście podzieliłeś to, co zrobiłeś w folderze konfiguracyjnym resolv.conf i interfejsów?
Zrobiłem to, przechodząc bezpośrednio do karty sieci i ręcznie edytując
poorva

Odpowiedzi:

16

To ma dwa niezależne pytania:

resolv.conf wpisy są resetowane po ponownym uruchomieniu

Sposób /etc/resolv.confdziałania został zmieniony w Ubuntu 12.04. Wynika to z implementacji foundations-p-dns-resolving opisanej tutaj https://blueprints.launchpad.net/ubuntu/+spec/foundations-p-dns-resolving w celu przezwyciężenia pewnych ograniczeń statycznych resolv.conf.

Tutaj możesz uzyskać więcej informacji: http://www.stgraber.org/2012/02/24/dns-in-ubuntu-12-04/

Możesz zastąpić nową funkcję, usuwając dowiązanie symboliczne /etc/resolv.confi tworząc plik /etc/resolv.conftam nazwany . Ale zanim to zrobisz, zapoznaj się z linkiem, który podałem powyżej, i zobacz, dlaczego jest to zdecydowanie odradzane.

Adres IP Vs Konflikt sieci i bramy (konfiguracja statycznego adresu IP) Ponadto, jak zauważył pgschk , twój adres IP nie jest zgodny z bramą i wpisami sieciowymi. Ale to nie powoduje /etc/resolv.confprzejścia do stanu pierwotnego, ale powód, o którym wspomniałem powyżej.

Jamess
źródło
przepraszam za błąd podczas pisania Mam 2 serwery, w miarę możliwości usuń dowiązanie symboliczne /etc/resolv.conf i utwórz tam plik o nazwie /etc/resolv.conf. Nigdy wcześniej tego nie robiłem. PROSZĘ
bemonolit
Sugerowałbym, aby sprawdzić, czy jakikolwiek inny sposób obejścia wymienionego w linku stgraber.org inny niż usunięcie dowiązania symbolicznego działa najpierw dla Ciebie. Ale jeśli nadal chcesz usunąć link, możesz użyć zwykłych poleceń, takich jak „mv /etc/resolv.conf /etc/resolv.conf.ori” lub „rm /etc/resolv.conf”, a następnie utworzyć nowy / etc / resolv.conf przy użyciu ulubionego edytora tekstu (takiego jak vi lub nano).
Jamess,
Mam nadzieję, że zamierzałeś /etc/resolv.conf, a nie /etc/resolv.config w powyższym pytaniu
Jamess
Jestem online, to tylko błąd. Dziękuję i jeśli chodzi o usunięcie linku> resolvconfig: Błąd /etc/resolv.conf nie jest dowiązaniem symbolicznym, nic nie robię.
bemonolit
6

Twój adres bramy znajduje się w innej podsieci niż lokalny adres IP:

adres 192.168. 1 .150 bramka 192.168. 2 .1

Ponadto adres sieciowy został podany również w podsieci .2:

sieć 192.168. 2 .0

Czy korzystasz z podsieci 192.168.1 / 24 lub 192.168.2 / 24?

Edycja: Informacje o pliku resolv.conf: ten plik jest głównie aktualizowany przez różne pakiety (w zależności od konfiguracji). Spróbuj podać serwery nazw w pliku / etc / network / interfaces:

dns-nameservers 8.8.8.8 8.8.4.4

pgschk
źródło
sudo nano / etc / network / interfaces # Podstawowy interfejs sieciowy auto eth0 adres 192.168.1.13 maska ​​sieci 255.255.255.255 brama 192.168.1.1 sieć 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
Ten sam problem * Running /etc/init.d/networking resrtart jest przestarzała, ponieważ nie może włączyć ponownie niektóre interfejsy * Zmiana konfiguracji interfejsów sieciowych ...
bemonolit
* Uruchamianie /etc/init.d/networking resrtart jest przestarzałe, ponieważ może nie włączyć ponownie niektórych interfejsów * Ponowna konfiguracja interfejsów sieciowych ...
bemonolit
1

Możesz wypróbować tę opcję:

  • Usuń, /etc/resolv.confa następnie utwórz nowy resolv.conf.

  • sudo nano /etc/resolv.conf następnie dodaj flagę:

  • sudo chattr +i /etc/resolv.conf- z tą +iflagą nawet root nie może dotknąć tego pliku. Ale jeśli chcesz zmienić serwer nazw, zmień flagę na:

  • sudo chattr -i /etc/resolv.confnastępnie dodaj swój nowy nameserver.

Następnie spróbuj ponownie uruchomić komputer i zobacz, co się stanie :).

Mam nadzieję, że to rozwiąże twój problem.

Hary Gembul
źródło