Linux 中的网络工具
ifup/ifdown
首先就要从这个最基本的命令开始说起,它会读取 /etc/network/interfaces 文件,然后使 interface 达到 up/down。
此外,它会执行 /etc/network 下面的各个脚本,这些脚本就负责 DHCP 等等许多事情。
如果说这个指令不起作用的话,说明系统没有使用经典的 /etc/network/interface 这个方式,比如 systemctl
现在使用别的方式管理网络。
net-tools
and iproute2
可以看到上面这个通过各个脚本好像不是很直观,所以很显然有网络工具包。以前的是 net-tools
,现在的是 iproute2
,以前的是 ifconfig
等等指令,现在变成了 ip
指令,通过不同参数可以干许多事情,比如查看网关、查看 ARP 表等等。
而 ip
有个命令 ip link set .. up/down
, 和上文提到的 ifup/ifdown
不同, 这条命令就是仅仅负责把 interface 变为 up/down,不去干其他的事情(比如 interface up 之后要干什么,它不会去做,仅仅就是让他 up 而已)。
NetworkManager
and system-networkd
ip
指令同样很麻烦,所以有专门的网络工具。systemctl
默认的是 system-networkd
,而另一个热门的就是 NetworkManager
。
netplan
最后就是 netplan 了,这个是更上一层的。通过它就只需用一个 YAML 文件描述每个网络接口需要配置成啥样即可。 根据这个配置描述, netplan 便可帮你生成所有需要的配置,不管你选用的底层管理工具是啥。可以看下面的图。