Як поновити оренду DHCP?


56

Як не перезавантажувати, як я можу випустити та поновити оренду DHCP? Було б корисно знати графічний інтерфейс та метод терміналу.

Я особливо хотів би знати, чи є спосіб зробити це, не вимагаючи привілеїв адміністратора.

Відповіді:


18

У спадному селекторі мережі з системного трея ви можете натиснути мережу, до якої ви вже підключені, це змусить менеджера мережі попросити нову оренду у сервера DHCP.

alt текст

(Це також працює для дротових мереж, але я не думаю, що це працює для PPP-з'єднань (мобільних широкосмугових))


47

Щоб відновити оренду dhcp на терміналі:

sudo dhclient -r; sudo dhclient

10
Я думаю sudo service networking restart, що це кращий шлях. Те, що ви пропонуєте, не працювало для мене на коробці 11.10 з dhclient3. Натомість я закінчився двома клієнтами DHCP: один dhclient3та один dhclient. Дивіться ubuntuforums.org/showthread.php?t=1868368
Адам Монсен

@AdamMonsen Чи реально перезапуск послуги мереж працює з NetworkManager?
rakslice

1
@AdamMonsen перезапуск мережі, схоже, не поновлює оренду dhcp для мене
dogmatic69

sudo service network-manager restart64-розрядний робочий стіл Ubuntu 13.10 здається, що належним чином перезапустити мережеві речі та поновити оренду DCHP. (З сайту askubuntu.com/a/230751/2273 )
Адам Монсен

4
Корисно знати для налагодження: на Ubuntu 14.04 sudo service network-manager restartне повністю поновили оренду IP від ​​DHCP. Він просто надсилає DHCP- Requestпакет замість Discover. Якщо ви просто хочете поновити свою оренду, достатньо, але якщо ви налагоджуєте DHCP, ви хочете скористатись оригінальним рішенням.
gerlos

31

У моєму випадку мені довелося вказати, яку картку потрібно поновити:

Спочатку випустіть поточну IP-адресу:

sudo dhclient -r eth0

потім відновіть IP-адресу

sudo dhclient eth0

3
Це правильна відповідь, якщо у вас є більше одного інтерфейсу.
Тек

Краще: Приєднайтесь до команд AND - sudo dhclient -r enp7s0 && sudo dhclient enp7s0(замініть своїм пристроєм
et

Будь ласка, відредагуйте цю відповідь, щоб приєднатись до них разом, я просто почав віддалений скриньку, пробуючи їх окремо.
Грем Рассел

8

Maverick поставляється разом nmcliіз інтерфейсом командного рядка до мережевого менеджера.

Я не бачу простого способу сказати, щоб поновити оренду, але працює:

nmcli con

Отримує список підключень та працює:

nmcli con down id 'Connection Name'
nmcli con up id 'Connection Name'

Знімає з'єднання вниз і створює резервну копію. Можливо, замість цього зробити щось подібне з пристроєм.

Схоже, список підключень включає всі з'єднання, тому це, ймовірно, буде працювати і з підключеннями PPTP та VPN.


1
Мій сервер DHCP все ще показує оренду там ... (Я намагаюся змусити випуск, щоб стати статичне завдання набуло чинності)
Герт ван ден Берг

8

Це працює на Ubuntu 12.04 LTS:

sudo service network-manager restart

Коли я це роблю, Менеджер мережі просить нову оренду DHCP.

Я вважаю за краще це вручну (повторно) починати, dhclientтому що у мене виникли проблеми з несвіжими процесами dhclient (тими, якими не керує Менеджер мережі), спонтанно і неправильно перенастроюючи мої налаштування мережі у випадкові точки, коли це найменш зручно.


1
Досі актуально для Ubuntu 16.04. dhclient -rпросто мовчки нічого не робить із успішним кодом виходу в іншому випадку. :-(
studog

Це добре працювало 18.04!
Роель Ван де Паар

3

Якщо ви базуєтеся на systemdбазі версії Ubuntu без GUI (тобто серверної версії), це спосіб поновити оренду DHCP:

sudo systemctl restart systemd-networkd

Примітка. Якщо ви підключені через інтерфейс, оренду якого DHCP ви поновлюєте, ви можете відключитися, якщо ви не підключені через статично налаштований інтерфейс або консоль.


Я тестував це, dhcpdumpслухаючи на іншому терміналі. Здавалося, не працює, тільки dhclientтак.
Пабло А

1

Щойно перейшовши на Maverick Meerkat Beta 1, у моїй стандартній конфігурації ванілі eth0 щось порушилось, що я ще не налагодив. Швидкий і брудний шлях був

sudo dhclient

який помічає, що вже був (можливо, мертвий) клієнт і отримує нову оренду:

There is already a pid file /var/run/dhclient.pid with pid 2436
killed old client process, removed PID file
Internet Systems Consortium DHCP Client V3.1.3
Listening on LPF/eth0/00:1a:92:24:9c:85
Sending on   LPF/eth0/00:1a:92:24:9c:85
Sending on   Socket/fallback
DHCPDISCOVER on vboxnet0 to 255.255.255.255 port 67 interval 3
DHCPREQUEST of 192.168.2.2 on eth0 to 255.255.255.255 port 67
DHCPACK of 192.168.2.2 from 192.168.2.1
bound to 192.168.2.2 -- renewal in 118389830 seconds.

Це не виправлення, а лише хак. Я продовжуватиму діяльність, коли зрозумію, що пішло погано.


1

Не маючи цієї специфічної можливості через nmcli, я вважаю, що найкращим рішенням CLI є звільнення та вбивство екземпляра dhclient, яким керує NetworkManager, а не запуск нового. Потім NM автоматично відновить його назад, уникаючи необхідності перезапустити всю інфраструктуру NM.

sudo dhclient -v -r -pf /run/sendsigs.omit.d/network-manager.dhclient-eth0.pid
  • -v - скласти багатослівний
  • -r - відпустити та закрити
  • -pf - pid-файл екземпляра NM
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.