Если не считать перезагрузки, как я могу разблокировать и обновить аренду DHCP? Было бы полезно узнать GUI и метод терминала.
Мне бы особенно хотелось узнать, есть ли способ сделать это, не требуя прав администратора.
В раскрывающемся списке сетей на панели задач вы можете нажать сеть, к которой вы уже подключены, это заставит администратора сети запросить новую аренду от сервера DHCP.
(Это также работает для проводных сетей, но я не думаю, что это работает для соединений PPP (широкополосная мобильная связь))
Чтобы продлить аренду вашего dhcp в терминале:
sudo dhclient -r; sudo dhclient
Ввиду отсутствия этой специфической возможности через 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 Это работает на Ubuntu 12.04 LTS:
sudo service network-manager restart
Когда я это делаю, Network Manager запрашивает новую аренду DHCP.
Я предпочитаю это (пере) запускать dhclient
вручную, потому что у меня были проблемы с устаревшими процессами клиента (не управляемыми Network Manager), которые самопроизвольно и неправильно перенастраивали мои сетевые настройки в случайные моменты, когда это наименее удобно. ]
Если вы не используете GUI (то есть версию сервера), то это способ продления аренды DHCP:
sudo systemctl restart systemd-networkd
Примечание. Если вы подключены через интерфейс, чья аренда DHCP вы можете отключиться, если вы не подключены через статически настроенный интерфейс или консоль.
Maverick поставляется с nmcli
, интерфейсом командной строки для сетевого менеджера.
Я не вижу простого способа сообщить ему о продлении аренды, но выполняю:
nmcli con
Получает список соединений и выполняет:
nmcli con down id 'Connection Name'
nmcli con up id 'Connection Name'
[ 116] Разрывает и восстанавливает соединение. Вместо этого может быть возможно сделать что-то подобное с устройством.
Кажется, что список соединений включает в себя все соединения, так что это, вероятно, будет работать и с соединениями PPTP и VPN.
@MariusGedminas
Не лучшее решение, так как нет выпуска DHCP, только обновление. Это означает, что есть вероятность того, что у вас все еще будет старый (если таковой имеется) IP-адрес, а также новый. ИМХО, dhclient -r & amp; & amp; Команда dhclient является самой простой и лучше всего работает в большинстве ОС на основе Debian.
Добавьте '-v' к командам, чтобы быть более подробным ...
После обновления до 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.
Это не исправить, просто взломать Я буду следить, когда пойму, что пошло плохо.
В моем случае мне пришлось указать, какую карту обновлять:
Сначала освободите текущий IP-адрес:
sudo dhclient -r eth0
, затем обновите IP-адрес
sudo dhclient eth0