TL; DR: В Ubuntu 14.04: если вы изменили статический IP-адрес в /etc/network/interfaces
и применили изменения с помощью команды ifdown
, а затем ifup
, все работает нормально. Но эта последовательность не работает в 16.04. Какова лучшая альтернатива?
В Ubuntu 16.04 после изменения файла интерфейсов и последовательности ifdown/ifup
команда ip addr show <device>
отображает как старые, так и новые статические IP-адреса для <device>
. Я использовал -v
(подробный) аргумент с ifdown/ifup
в ubuntu 14.04 и 16.04. Разница была в том, что даун. В Ubuntu 14.04 ifdown
выполняет эту команду:
ip -4 addr flush dev <device> label <device>
В то время как в 16.04:
ip addr del <ip-address-in-network-interfaces>/<subnet> dev <device> label <device>
Итак, в 16.04 я разобрался, если я сначала выполню команду ifdown
. Затем измените IP-адрес в файле /etc/network/interfaces
, а затем с помощью команды ifup снова включите интерфейс, старый IP-адрес будет удален правильно.
Другое решение - выполнить команду ip addr flush
до ifdown/ifup
:
ip addr flush dev <device>
Кажется, я уже ответил на свой вопрос, но я хочу знать, какие есть альтернативы и какое решение лучше. изменить статический IP-адрес в Ubuntu 16.04?
можно добавить сброс в определении интерфейсов как
руководство
iface eth0 inet поствниз, IP addr сбрасывает dev $IFACE