Переключитесь с stati c на DHCP с помощью nmcli - PullRequest
3 голосов
/ 12 марта 2020

Мне нужно сменить соединение с stai c, назначенного DHCP с использованием nmcli (вызывается из скрипта Python). Я попытался так:

nmcli con mod "CONNECTION NAME" ipv4.method auto
nmcli con down "CONNECTION NAME"
nmcli con up "CONNECTION NAME"

Но после того, как соединение снова поднялся, мой старый IP-адрес все еще там, если я показываю информацию о соединении, я вижу что-то подобное

....
ipv4.addresses:                         192.168.1.10/24  <-THIS IS THE BAD ONE 
....
IP4.ADDRESS[1]:                         192.168.1.10/24  <-THIS IS THE BAD ONE
IP4.ADDRESS[2]:                         10.0.2.15/24
....

Как я могу решить эту проблему?

Ubuntu версия 16.04

Python версия 3.5.2

Ответы [ 3 ]

2 голосов
/ 13 марта 2020

Не имея системы linux передо мной, но если я правильно запомнил, вы можете попытаться сбросить IP-адреса до нажатия вниз / вверх:

nmcli con mod "CONNECTION NAME" ipv4.address ""
nmcli con mod "CONNECTION NAME" ipv4.method auto
nmcli con down "CONNECTION NAME"
nmcli con up "CONNECTION NAME"
1 голос
/ 13 марта 2020

После обновления метода (от ручного до автоматического) мне нужно установить для шлюза и ipaddrerr значение "", вот так

nmcli con mod "CONNECTION NAME" ipv4.method auto
nmcli con mod "CONNECTION NAME" ipv4.gateway ""
nmcli con mod "CONNECTION NAME" ipv4.address ""
nmcli con down "CONNECTION NAME"
nmcli con up "CONNECTION NAME"

Спасибо Николо Ребугини за решение

0 голосов
/ 13 марта 2020

Извините, у меня нет Linux Macchine прямо здесь, но если я не ошибаюсь, помня, вы должны создать профиль, прежде чем редактировать соединение

nmcli connection добавить тип ethe rnet con-name " имя-соединения "ifname имя-интерфейса <- это имя интерфейса </p>

После этого вы можете редактировать конфигурацию профиля, поэтому добавьте профиль с любым именем, связанным с именем интерфейса.

...