编辑网络接口而无需重新引导系统


23

我想通过编辑/etc/network/interfaces文件来对网络配置进行一些更改。什么是最干净的方法来对此文件进行更改并使它们生效而不必重新启动?通常,我一直在做:

  1. 编辑档案
  2. service networking restart

但是我给人的印象是,这不是进行此类更改的“正确”方法。


服务网络重启几乎= /etc/init.d/网络重启。
shantanu 2012年

Answers:


11

使用关闭网络接口

sudo ifdown eth0

(替换eth0为您要更改的界面),然后使用重新调出

sudo ifup eth0

4
这对我不起作用。它只是给我一个错误“未配置eth0”。我必须重新引导系统才能使更改在12.04上生效。
JohnMerlino 2014年

4

在Ubuntu Server 16.04中,必须在重新启动网络之前使用ip命令刷新地址,否则interfaces文件中的任何地址更改均不会生效:

$ sudo ip addr flush interface-name
$ sudo systemctl restart networking

我从这篇有用的文章中得到了这个答案


完美,这应该是问题的答案。
德鲁

2

使用以下命令停止所有接口

sudo /etc/init.d/networking stop

根据需要配置(编辑)您的界面,然后

重新开始

sudo /etc/init.d/networking start

无需重启。


3
这在Ubuntu 12.04中也不起作用。仅重启系统有效。
JohnMerlino 2014年

0

您为什么不认为这是正确的方法。想一想,ubuntu在启动期间还能做些什么?Ubuntu有一个在启动过程中需要运行的服务列表,每个服务都有一个连续的命令列表来启动自身。Ubuntu只是通过/etc/init.d/networking脚本运行网络服务,该脚本包含一些需要运行网络服务的命令。因此,如果需要对您的网络进行任何更改,则必须重新启动服务,方法是重新调用服务的连续命令。


因为可以确保重新启动会清除我已设置的所有接口,并且我担心如果从接口文件中删除接口,那么重新启动网络脚本不会摆脱它。
洛林·霍希斯坦

你确定吗?网络上的任何更改都可以通过sudo /etc/init.d/networking restart为我工作。
shantanu '02

例如,如果我创建一个带标签的VLAN(例如eth0.123),则在重新启动网络后它似乎不会自动销毁
Lorin Hochstein 2012年

sudo eth0下降--- sudo eth0上升
shantanu 2012年

/etc/init.d/networking重新读取所有网络配置文件并更新所有设置,为什么要破坏创建的接口?如果您更改了ip或dns或此类信息,则/ etc / ...就足够了,如果您创建了虚拟局域网,则必须重新启动以太网接口(先关闭sudo eth0,再打开sudo eth0)。
shantanu '02


0

实际上,这些都不起作用。在Ubuntu 16.10上测试。这些都没有效果。

  • ifdown ens3和ifup ens3
  • 服务网络停止和启动
  • 服务网络重装
  • systemctl停止networking.service,然后重新启动。

通过所有这些,旧的dhcp IP返回了,而不是静态的。我想知道这是否是故意的吗?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.