Перехід сервера на статичний IP з DHCP


14

У мене запущена установка сервера Ubuntu 10.04, і мені нещодавно довелося переключити його з DHCP на статичний ip. Я відредагував /etc/network/interfacesфайл і перейшов

iface eth0 inet dhcp

до

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

Ви помітите, що IP-адреси трохи дивні. Це тому, що sever зараз знаходиться у спеціальній підмережі, присвяченій ізоляції конкретних серверів. Я також відредагував файл resolutionv.conf, щоб включити належні DNS-сервери (включаючи один із Google на всякий випадок, якщо все пекло прорветься).

Проблема полягає в тому, що, здавалося б, випадковим чином, машина втратить здатність спілкуватися із зовнішнім світом. Я знаю, що машина все ще працює, але вона діє так, ніби вона взагалі не має мереж. Я думаю, що частина проблеми полягає в тому, що в цій підмережі не працює DHCP (і не буде), і dhclient, здається, все ще працює при нагоді, що спричиняє певний конфлікт (не знаю, що), що призводить до вмирання мереж. Однак я не можу видалити пакет dhcp3-client, оскільки це також призводить до видалення пакета ubuntu-minimal, і це було б погано.

Отже, якісь ідеї? Що може викликати dhclient і що я можу зробити, щоб він не працював?


1
будь ласка, запустіть sudo dhcpclient eth0і прокоментуйте, якщо мережа була зламана згодом. І останні рядки, /var/log/syslogякщо можливо,
aatdark

ОНОВЛЕННЯ Ви можете спробувати sudo ifdown eth0відповідно до art.ubuntuforums.org/showthread.php?t=1419803
aatdark

@aatdark Якщо ви запустите ps auxf | less, ви повинні мати змогу побачити список процесів, організованих у структурі, подібній до дерева. Потім ви зможете побачити, який процес спалахнув dhclient(просто перейдіть по гілці); наприклад, на моєму ПК dhclient- син цього NetworkManagerпроцесу.
Ріккардо Муррі

Відповіді:


14

Якщо ви з цього часу не перезавантажували машину, така поведінка нормальна. Перехід від dhcp до статичного ip повинен бути:

  • sudo ifdown eth0
  • змінити конфігурацію
  • sudo ifup eth0

Причина полягає в тому, що якщо ви робите ifdown після зміни конфігурації, він поводиться так, ніби він знімає статичний інтерфейс і не вбиває процес dhclient, який буде продовжувати просто накручувати конфігурацію. У цьому випадку просто вбийте процес dhclient

sudo killall dhclient

і все має вийти.


2

Як зазначає jneves , це, мабуть, клієнт DHCP псує речі для вас.

Як альтернатива sudo ifdown eth0-edit- sudo ifup eth0, ви можете просто запуститись /etc/init.d/networking restartпісля редагування файлу. Він також має перевагу в тому, що ви можете це робити віддалено ...

(Не маючи достатньо балів на askubuntu, мені не дозволяється просто коментувати відповідь jneves, тому, будь ласка, вважайте це коментарем ...)

Редагувати : Повністю забув; оскільки вищевказана команда ніколи не відключає вас, ваш SSH-сеанс повинен фактично пережити повторне завантаження конфігурації. Це є досить добре , щоб бути в змозі змінити мережеві настройки при підключенні до зазначеної машині ...


Для вас цілком чудово (і заохочується) додавати власну відповідь з додатковою інформацією, яка базується на іншому! (Хороша робота, пов’язана і з попередньою відповіддю)
Хорхе Кастро

Я використовував /etc/init.d/networking restart(на сервері 10.04) після редагування файлу конфігурації - dhclient все ще працював. Мені довелося вручну вбити процес dhclient (і тоді я перезавантажився просто для того, щоб переконатися, що він не повернеться після перезавантаження)
HorusKol
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.