Если не считать перезагрузки, как я могу освободить и продлить аренду DHCP? Было бы полезно знать графический интерфейс и терминальный метод.
Я особенно хотел бы знать, есть ли способ сделать это, не требуя прав администратора.
Если не считать перезагрузки, как я могу освободить и продлить аренду DHCP? Было бы полезно знать графический интерфейс и терминальный метод.
Я особенно хотел бы знать, есть ли способ сделать это, не требуя прав администратора.
Чтобы продлить аренду dhcp на терминале:
sudo dhclient -r; sudo dhclient
В моем случае я должен был указать, какую карту продлевать:
Примечание: возможно, вы захотите соединить их в одну линию, так как в противном случае вы можете потерять удаленное соединение, к которому подключены после первого!
Сначала освободите текущий IP-адрес:
sudo dhclient -r eth0
затем обновите IP-адрес
sudo dhclient eth0
.. или делайте их вместе, чтобы избежать потери связи:
sudo dhclient -r eth0 && sudo dhclient eth0
В раскрывающемся списке сеть в системном трее вы можете нажать сеть, к которой вы уже подключены, это заставит network-manager запросить новую аренду у DHCP-сервера.
(Это также работает для проводных сетей, но я не думаю, что это работает для PPP-соединений (мобильная широкополосная связь))
Это работает на Ubuntu 12.04 LTS:
sudo service network-manager restart
Когда я это делаю, диспетчер сети запрашивает новую аренду DHCP.
Я предпочитаю это ручному (повторному) запуску dhclient
потому что у меня были проблемы из-за устаревших процессов dhclient (которые не управляются сетевым менеджером), спонтанно и неправильно перенастраивающих мои сетевые настройки в случайных точках, когда это наименее удобно.
Если вы находитесь на systemd
основанная версия Ubuntu без графического интерфейса пользователя (т.Е. серверная версия), тогда это способ продлить аренду DHCP:
sudo systemctl restart systemd-networkd
Примечание: Если вы подключены через интерфейс, аренду DHCP которого вы продлеваете, вы можете отключиться, если только вы не подключены через статически настроенный интерфейс или консоль.
Маверик поставляется с nmcli
, интерфейс командной строки для сетевого менеджера.
Я не вижу простого способа сообщить ему о продлении срока аренды, но запуск:
nmcli con
Выдает вам список подключений и запускает:
nmcli con down id 'Connection Name'nmcli con up id 'Connection Name'
Отключает соединение и создает резервную копию. Возможно, вместо этого можно сделать что-то подобное с устройством.
Список подключений, по-видимому, включает в себя все подключения, так что это, вероятно, будет работать и с подключениями PPTP и VPN.
Не хватает этой конкретной возможности с помощью 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Только что обновившись до Maverick Meerkat Beta 1, что-то сломалось в моей стандартной конфигурации vanilla eth0, которую я еще не отладил. Быстрый и грязный обходной путь был
sudo dhclient
который замечает, что уже был (возможно, мертвый) клиент, и получает новую аренду:
There is already a pid file /var/run/dhclient.pid with pid 2436killed old client process, removed PID fileInternet Systems Consortium DHCP Client V3.1.3Listening on LPF/eth0/00:1a:92:24:9c:85Sending on LPF/eth0/00:1a:92:24:9c:85Sending on Socket/fallbackDHCPDISCOVER on vboxnet0 to 255.255.255.255 port 67 interval 3DHCPREQUEST of 192.168.2.2 on eth0 to 255.255.255.255 port 67DHCPACK of 192.168.2.2 from 192.168.2.1bound to 192.168.2.2 -- renewal in 118389830 seconds.
Это не исправление, просто взлом. Я прослежу за этим, когда выясню, что пошло не так.