Debian 网络管理程序ifupdown、NetworkManager、systemd-networkd的区别,以及interfaces、resolv.conf文件的作用。

Debian 下常用的网络管理程序有三个:ifupdown、NetworkManager、systemd-networkd。

他们区别是什么?以及常用来修改的配置文件interfaces、resolv.conf有什么作用?

安装方法如下:

# ifup、ifdown 管理程序安装
lsw@rangotec.com:~$ sudo apt install ifupdown

# NetworkManager 管理程序安装
lsw@rangotec.com:~$ sudo apt install network-manager

# systemd 网络管理需要安装两个程序
lsw@rangotec.com:~$ sudo apt install systemd-networkd systemd-resolved

1. 首先现在不少人用netplan来写网络IP、DNS的配置,但netplan 不算在内。

虽然它也可以管理网络,但它是通过调用NetworkManager或systemd-networkd程序来管理网络的。
netplan 默认使用systemd-networkd来管理,通过配置文件/etc/netplan/00-installer-config.yaml 里的renderer来确定。
如:

network:
  version: 2
  renderer: networkd   【或NetworkManager】

2. NetworkManager 程序管理网络。
nmcli 
... 略 ...

3. Systemd 管理命令集合中,包含了网络相关的程序:
systemd-networkd   :用来管理IP地址
systemd-resolved     :用来自动配置DNS,本机上网查询dns。

resolvectl status     查看上游dns
resolvectl monitor  监控本机发出的dns查询

4. 再早用以下两个文件管理IP地址和DNS:
/etc/network/interfaces    修改IP、网关文件:【interfaces(5) file used by ifup(8) and ifdown(8)】
/etc/resolv.conf                dns 配置文件

开始时是需要手动配置上面两个文件,但是debian8(jessie)中,安装了resolvconf之后,/etc/resolv.conf就变为被resolvconf自动更新,所以只需要修改interfaces这一个文件即可。

通过修改interfaces里的dns-nameserver字段即可配置DNS,直接修改的话,如果有其他自动管理工具,那么重启后会被其他网络管理程序覆盖掉,如NetworkManager、systemd-resolved、resolvconf。

如果使用interfaces文件管理网络?

通过 ifupdown 程序包进行管理 (apt install ifupdown)

5. 关于DNS解析文件resolv.conf,不要手动修改,现在都由对应的dns解析程序根据配置文件自动生成。

其中 netconfig, NetworkManager, resolvconf, rdnssd 和 systemd-resolved,还会争抢/etc/resolv.conf的控制权。

具体哪个程序,打开/etc/resolv.conf文件,第一行会写哪个程序。

其中resolvconf 和 systemd-resolved 冲突,安装systemd-resolved会自动卸载resolvconf程序。

总结:

网络管理程序 配置文件位置 常用命令
ifupdown /etc/network/interfaces ifup 、ifdown、/etc/init.d/networking restart
NetworkManager /etc/NetworkManager/NetworkManager.conf nmcli ...
systemd-networkd /etc/systemd/network/xxx.network systemctl restart systemd-networkd
netplan /etc/netplan/xxx-installer-config.yaml netplan try

 

B站备用地址

评论列表: