Я хотел бы внести некоторые изменения в мою сетевую конфигурацию, отредактировав мой файл /etc/network/interfaces
. Какой самый чистый способ внести изменения в этот файл и заставить их вступить в силу, без перезагрузки? Как правило, я делал:
service networking restart
Но у меня такое впечатление, что это не " правильный способ внесения подобных изменений.
Почему вы не думаете, что это правильный путь. Подумайте, что может сделать Ubuntu дополнительно во время загрузки? В Ubuntu есть список сервисов, которые нужно запускать во время загрузки, у каждого сервиса есть список последовательных команд для запуска. Ubuntu просто запускает сетевой сервис через скрипт /etc/init.d/networking, который содержит некоторые команды, необходимые для запуска сетевого сервиса. Таким образом, если какое-либо изменение необходимо применить к вашей сети, вам необходимо перезапустить службу, а затем вызвать последовательные команды вашей службы.
Завершите работу сетевого интерфейса, используя
sudo ifdown eth0
(замените eth0
на интерфейс, который вы хотите изменить), и снова включите его, используя
sudo ifup eth0
В Сервере Ubuntu 16.04 необходимо использовать IP команду для сбрасывания адреса прежде, чем перезапустить сети, иначе любые изменения адреса в файле интерфейсов не вступят в силу:
$ sudo ip addr flush interface-name
$ sudo systemctl restart networking
я получил этот ответ от эта полезная статья
/etc/network/interfaces
управляет инструментами ifupdown.
Итак, после внесения изменений вы можете просто сказать, например, sudo ifup eth0
.
Остановите все интерфейсы, используя
sudo /etc/init.d/networking stop
Сконфигурируйте (отредактируйте) свои интерфейсы, как вы хотите, затем
Запустите их снова
sudo /etc/init.d/networking start
Нет необходимости перезагрузка.
На самом деле ни одна из этих работ. Проверено на Ubuntu 16.10. это не имело никакого эффекта.
Через все это вернулся старый dhcp ip, а не статический. Интересно, это намеренно?
Попробуйте выполнить сброс между ifup и ifdown. Это работало на Mendel (Google Coral), основанном на Debian.
sudo ifdown eth0 && sudo ip addr flush eth0 && sudo ifup eth0
Без сброса интерфейс перезапустился бы без чтения файла конфигурации.