Как мне продлить аренду DHCP?

Если не считать перезагрузки, как я могу разблокировать и обновить аренду DHCP? Было бы полезно узнать GUI и метод терминала.

Мне бы особенно хотелось узнать, есть ли способ сделать это, не требуя прав администратора.

54
задан 21.10.2019, 20:28

8 ответов

В раскрывающемся списке сетей на панели задач вы можете нажать сеть, к которой вы уже подключены, это заставит администратора сети запросить новую аренду от сервера DHCP.

alt text

(Это также работает для проводных сетей, но я не думаю, что это работает для соединений PPP (широкополосная мобильная связь))

18
ответ дан 21.10.2019, 20:32

@MariusGedminas
Не лучшее решение, так как нет выпуска DHCP, только обновление. Это означает, что есть вероятность того, что у вас все еще будет старый (если таковой имеется) IP-адрес, а также новый. ИМХО, dhclient -r & amp; & amp; Команда dhclient является самой простой и лучше всего работает в большинстве ОС на основе Debian.
Добавьте '-v' к командам, чтобы быть более подробным ...

1
ответ дан 21.10.2019, 20:28
  • 1
    @ Джордж Удосен, знак @ предназначен для обращения к автору предыдущего комментария, чтобы он получил письмо от StackExchange. Но я сомневаюсь, что это сработало здесь, потому что оно использовалось в ответе вместо комментария. И я ожидаю, что вы получите письмо от моего использования знака @, потому что я использовал его в комментарии. – Gundu Bandgar 21.10.2019, 20:29
  • 2
    Для чего нужен знак @? – Leo Droidcoder 21.10.2019, 20:29

Ввиду отсутствия этой специфической возможности через 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
1
ответ дан 21.10.2019, 20:29

После обновления до Maverick Meerkat Beta 1 что-то сломалось в моей стандартной конфигурации vanilla 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
ответ дан 21.10.2019, 20:29

Это работает на Ubuntu 12.04 LTS:

sudo service network-manager restart

Когда я это делаю, Network Manager запрашивает новую аренду DHCP.

Я предпочитаю это (пере) запускать dhclient вручную, потому что у меня были проблемы с устаревшими процессами клиента (не управляемыми Network Manager), которые самопроизвольно и неправильно перенастраивали мои сетевые настройки в случайные моменты, когда это наименее удобно. ]

8
ответ дан 21.10.2019, 20:30
  • 1
    Это хорошо работало на 18,04! – rocker99 21.10.2019, 20:30
  • 2
    По-прежнему актуален для Ubuntu 16.04. dhclient -r просто молча ничего не делает с успешным кодом выхода в противном случае. :-( – Ranjith Kumar 21.10.2019, 20:30

Maverick поставляется с nmcli, интерфейсом командной строки для сетевого менеджера.

Я не вижу простого способа сообщить ему о продлении аренды, но выполняю:

nmcli con

Получает список соединений и выполняет:

nmcli con down id 'Connection Name'
nmcli con up id 'Connection Name'
[ 116] Разрывает и восстанавливает соединение. Вместо этого может быть возможно сделать что-то подобное с устройством.

Кажется, что список соединений включает в себя все соединения, так что это, вероятно, будет работать и с соединениями PPTP и VPN.

8
ответ дан 21.10.2019, 20:30
  • 1
    Мой DHCP-сервер все еще показывает аренду там ... (я пытаюсь заставить выпуск, чтобы статическое назначение вступило в силу) – Pankaj Kumar 21.10.2019, 20:31

В моем случае мне пришлось указать, какую карту обновлять:

Сначала освободите текущий IP-адрес:

sudo dhclient -r eth0

, затем обновите IP-адрес

sudo dhclient eth0
31
ответ дан 21.10.2019, 20:31
  • 1
    Это правильный ответ, если у вас более одного интерфейса. – Christopher Perry 21.10.2019, 20:31
  • 2
    Пожалуйста, отредактируйте этот ответ, чтобы объединить их, я только что получил удаленный ящик, пробуя их отдельно. – passerbywhu 21.10.2019, 20:32
  • 3
    Лучше: присоединяйтесь к командам с помощью AND - sudo dhclient -r enp7s0 && sudo dhclient enp7s0 (замените на ваше сетевое устройство eth) – BluRe.CN 21.10.2019, 20:32

Чтобы продлить аренду вашего dhcp в терминале:

sudo dhclient -r; sudo dhclient
45
ответ дан 21.10.2019, 20:32
  • 1
    Полезно знать для отладки: в Ubuntu 14.04 sudo service network-manager restart не полностью продлен срок аренды IP от DHCP. Он просто отправляет пакет DHCP Request вместо Discover. Если вы просто хотите продлить аренду, этого достаточно, но если вы отлаживаете DHCP, вы хотите использовать оригинальное решение. – Dan Neacșu 21.10.2019, 20:32
  • 2
    Я думаю, что sudo service networking restart - лучший путь. То, что вы предлагаете, не работает для меня на коробке 11.10 с dhclient3. Вместо этого у меня работало два DHCP-клиента: один dhclient3 и один dhclient. См. ubuntuforums.org/showthread.php?t=1868368 . – stefs 21.10.2019, 20:32
  • 3
    @ AdamMonsen перезапуск сети, похоже, не продлевает мне аренду dhcp – DH28 21.10.2019, 20:33
  • 4
    @AdamMonsen Действительно ли перезапуск сетевого сервиса работает с NetworkManager? – The Hungry Androider 21.10.2019, 20:33
  • 5
    sudo service network-manager restart в Ubuntu 13.10 64-битный рабочий стол, по-видимому, корректно перезапускает сетевые компоненты и продлевает аренду DCHP. (С askubuntu.com/a/230751/2273 ) – Leo Droidcoder 21.10.2019, 20:34