Как настроить статический IP в 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
    

Где ошибка? Я не ленивый. Я погуглил его 3 дня, но безрезультатно. Я перепробовал все.

После перезагрузки /etc/resolv.confфайл мигает в исходное состояние.

bemonolit
источник
Хм, любая идея, почему вы не просто делаете все в папке конфигурации / etc / network / interfaces, как здесь: draalin.com/setting-up-a-static-ip-address-in-ubuntu Или имеет больше смысла на самом деле разделить вещи, как вы сделали в папке resolv.conf и конфигурации интерфейса?
Я сделал это, перейдя непосредственно на вкладку сети и отредактировав ее вручную
бедва

Ответы:

16

Это имеет два независимых вопроса:

resolv.conf восстановление записей после перезагрузки

Способ /etc/resolv.confработы был изменен в Ubuntu 12.04. Это из-за реализации, foundations-p-dns-resolving как описано здесь https://blueprints.launchpad.net/ubuntu/+spec/foundations-p-dns-resolving, чтобы преодолеть некоторые ограничения статики resolv.conf.

Здесь вы можете получить более подробную информацию: http://www.stgraber.org/2012/02/24/dns-in-ubuntu-12-04/

Вы можете переопределить новую функцию, удалив символическую ссылку /etc/resolv.confи создав файл с именем /etc/resolv.confтам. Но прежде чем сделать это, обратитесь к ссылке, которую я дал выше, и посмотрите, почему это настоятельно не рекомендуется.

IP-адрес против сети и межсетевого конфликта (настройка статического IP-адреса ) Кроме того, как указал pgschk , ваш IP-адрес не совпадает с записями шлюза и сети. Но это не вызывает /etc/resolv.confпереход в исходное состояние, а причина, о которой я упоминал выше.

Jamess
источник
извините за ошибку при записи, у меня есть 2 сервера, подробно опишите, удалив символическую ссылку /etc/resolv.conf, и создайте там файл с именем /etc/resolv.conf. Я никогда не делал этого раньше. ПОЖАЛУЙСТА
bemonolit
Я бы посоветовал проверить, работает ли в первую очередь любая другая работа, указанная в ссылке на stgraber.org, кроме удаления символической ссылки. Но если вам все еще нравится удалять ссылку, вы можете использовать обычные команды, такие как 'mv /etc/resolv.conf /etc/resolv.conf.ori' или 'rm /etc/resolv.conf', а затем создать новый / etc / resolv.conf, используя ваш любимый текстовый редактор (например, vi или nano).
Jamess
Я надеюсь, что вы намеревались /etc/resolv.conf, а не /etc/resolv.config в приведенном выше вопросе
Jamess
Я в сети, это просто ошибка. Спасибо, и насчет удаления ссылки> resolvconfig: Ошибка /etc/resolv.conf не является символической ссылкой, ничего не делая.
bemonolit
6

Ваш адрес шлюза находится в другой подсети, чем ваш локальный IP-адрес:

адрес 192.168. 1 .150 шлюз 192.168. 2 .1

Кроме того, сетевой адрес был указан в подсети .2 также:

сеть 192.168. 2 .0

Используете ли вы подсеть 192.168.1 / 24 или 192.168.2 / 24?

Редактировать: О вашем resolv.conf: Этот файл в основном обновляется различными пакетами (в зависимости от ваших настроек). Попробуйте указать серверы имен в вашем файле / etc / network / interfaces:

dns-nameservers 8.8.8.8 8.8.4.4

pgschk
источник
sudo nano / etc / network / interfaces # Основной сетевой интерфейс auto eth0 address 192.168.1.13 маска сети 255.255.255.255 шлюз 192.168.1.1 сеть 192.168.1.0 широковещательная 192.168.1.225 dns-nameservers 8.8.8.8 8.8.4.4 dns-search mydomaine google. com
bemonolit
та же проблема * Запуск /etc/init.d/networking resrtart устарел, потому что он не может снова включить некоторые интерфейсы * Переконфигурирование сетевых интерфейсов ...
bemonolit
* Запуск /etc/init.d/networking resrtart устарел, поскольку он не может снова включить некоторые интерфейсы * Переконфигурирование сетевых интерфейсов ...
bemonolit
1

Вы можете попробовать эту опцию:

  • Удалите /etc/resolv.confи затем создайте новый resolv.conf.

  • sudo nano /etc/resolv.conf после этого добавьте флаг:

  • sudo chattr +i /etc/resolv.conf- с этим +iфлагом даже root не может коснуться этого файла. Но если вы хотите изменить сервер имен, измените флаг на:

  • sudo chattr -i /etc/resolv.confзатем добавьте свой новый nameserver.

Затем попробуйте перезагрузиться и посмотреть, что получится :).

Я надеюсь, что это решит вашу проблему.

Хари Гембул
источник