Как я могу освободить и продлить аренду DHCP от Терминала?

16

Из терминала можно освободить и продлить аренду DHCP?

В настоящее время я делаю следующее для беспроводного интерфейса, но мне интересно, есть ли лучший способ:

sudo ifconfig en1 down
sudo ifconfig en1 up

Для проводного интерфейса замените en1 с en0,

Matthew Rankin
источник
Вы ждете, что кто-то скажет, нет - лучшего способа нет, или мы можем ответить на ваш вопрос / отредактировать его, чтобы он мог получить ответ, отличный от ue ipconfig / ifconfig?
bmike

Ответы:

27

Это также может быть достигнуто с помощью следующих двух команд:

sudo ipconfig set en0 BOOTP
sudo ipconfig set en0 DHCP

Вы можете объединить их вместе в вашем bash_profile:

alias renew="sudo ipconfig set en0 BOOTP && sudo ipconfig set en0 DHCP"

Итак, у вас есть только одна команда renew это освободит и обновит ваш DHCP.

robzolkos
источник
2
Ответ Роба наверняка сработает, но ipconfig set всегда сначала де-конфигурирует интерфейс, а затем снова настраивает DHCP. Я никогда не нуждался в первой команде - и ipconfig намного более высокий уровень (он обрабатывает маршруты лучше) ifconfig и я предпочитаю это для случая, когда вы заявляете.
bmike
4
Команда cli "ipconfig set en0 DHCP" - это не dhcp-renew в чистом смысле, а полная процедура обнаружения, предложения, запроса, подтверждения. Кнопка «обновить» на панели управления просто генерирует dhcp-запрос (с предшествующим выпуском) и получает ответ ACK. Существует разница между обоими, поскольку продление обычно отправляется cpe за половину срока аренды, чтобы продлить аренду до истечения срока ее действия. Устройства доступа в Интернет, такие как система завершения кабельного модема, будут реагировать по-разному в обеих процедурах. Так что я все еще ищу чистую команду dhcp-renew
Команда @robzolkos Above прекрасно работает для учетной записи администратора, но когда я вошел как обычный пользователь в MAC, она запрашивает пароль. Если возможно, как я мог пропустить эту часть пароля, и обычный пользователь может запустить эту команду.
Jyotish Singh
8

Работа кнопки обновления в Системных настройках заключается в создании ключа в конфигурации системы. Ключ можно создать с помощью:

echo "add State:/Network/Interface/en0/RefreshConfiguration temporary" | sudo scutil

Перестановка en0 для желаемого интерфейса.

chymb
источник