Skip to content

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 便可帮你生成所有需要的配置,不管你选用的底层管理工具是啥。可以看下面的图。

image

参考

1. https://unix.stackexchange.com/questions/475146/how-exactly-are-networkmanager-networkd-netplan-ifupdown2-and-iproute2-inter

Comments