Відповіді:
У спадному селекторі мережі з системного трея ви можете натиснути мережу, до якої ви вже підключені, це змусить менеджера мережі попросити нову оренду у сервера DHCP.
(Це також працює для дротових мереж, але я не думаю, що це працює для PPP-з'єднань (мобільних широкосмугових))
Щоб відновити оренду dhcp на терміналі:
sudo dhclient -r; sudo dhclient
sudo service network-manager restart
64-розрядний робочий стіл Ubuntu 13.10 здається, що належним чином перезапустити мережеві речі та поновити оренду DCHP. (З сайту askubuntu.com/a/230751/2273 )
sudo service network-manager restart
не повністю поновили оренду IP від DHCP. Він просто надсилає DHCP- Request
пакет замість Discover
. Якщо ви просто хочете поновити свою оренду, достатньо, але якщо ви налагоджуєте DHCP, ви хочете скористатись оригінальним рішенням.
У моєму випадку мені довелося вказати, яку картку потрібно поновити:
Спочатку випустіть поточну IP-адресу:
sudo dhclient -r eth0
потім відновіть IP-адресу
sudo dhclient eth0
sudo dhclient -r enp7s0 && sudo dhclient enp7s0
(замініть своїм пристроєм
Maverick поставляється разом nmcli
із інтерфейсом командного рядка до мережевого менеджера.
Я не бачу простого способу сказати, щоб поновити оренду, але працює:
nmcli con
Отримує список підключень та працює:
nmcli con down id 'Connection Name'
nmcli con up id 'Connection Name'
Знімає з'єднання вниз і створює резервну копію. Можливо, замість цього зробити щось подібне з пристроєм.
Схоже, список підключень включає всі з'єднання, тому це, ймовірно, буде працювати і з підключеннями PPTP та VPN.
Це працює на Ubuntu 12.04 LTS:
sudo service network-manager restart
Коли я це роблю, Менеджер мережі просить нову оренду DHCP.
Я вважаю за краще це вручну (повторно) починати, dhclient
тому що у мене виникли проблеми з несвіжими процесами dhclient (тими, якими не керує Менеджер мережі), спонтанно і неправильно перенастроюючи мої налаштування мережі у випадкові точки, коли це найменш зручно.
dhclient -r
просто мовчки нічого не робить із успішним кодом виходу в іншому випадку. :-(
Якщо ви базуєтеся на systemd
базі версії Ubuntu без GUI (тобто серверної версії), це спосіб поновити оренду DHCP:
sudo systemctl restart systemd-networkd
Примітка. Якщо ви підключені через інтерфейс, оренду якого DHCP ви поновлюєте, ви можете відключитися, якщо ви не підключені через статично налаштований інтерфейс або консоль.
dhcpdump
слухаючи на іншому терміналі. Здавалося, не працює, тільки dhclient
так.
Щойно перейшовши на 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.
Це не виправлення, а лише хак. Я продовжуватиму діяльність, коли зрозумію, що пішло погано.
Не маючи цієї специфічної можливості через 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
sudo service networking restart
, що це кращий шлях. Те, що ви пропонуєте, не працювало для мене на коробці 11.10 з dhclient3. Натомість я закінчився двома клієнтами DHCP: одинdhclient3
та одинdhclient
. Дивіться ubuntuforums.org/showthread.php?t=1868368