如何在Debian系统里使用Redhat(CentOS)的方式配置网络

对于习惯了 Redhat 族系统的用户来说,使用/etc/sysconfig/network-scripts 已经非常习惯,猛然切换到 Debian 会有些不适应。

如何才能在Debian族系统中,使用Redhat中的方法配置网络呢?

其实很简单。NetworkManager就可以做到。

NetworkManager支持各个操作系统的网络配置的方式,是通过插件化的方式。对于Redhat系统来说,是ifcfg-rh插件;而对于Debian族来说,则是ifupdown插件。

所以,我们只需要让NetworkManager不使用ifupdown插件,而是使用ifcfg-rh插件,就可以实现Redhat系统里那种用/etc/sysconfig/network-scripts文件来配置网络。

步骤分两步:

在NetworkManager的配置文件里关闭/开启相应插件

NetworkManager的配置文件为/etc/NetworkManager/NetworkManager.conf,其中[main]块可以配置使用的插件。

复制代码
[main]
plugins=keyfile,ifupdown

首先把这里换成

复制代码
[main]
plugins=ifcfg-rh

,之后保存。

编译ifcfg-rh插件

配置里打开以后,要确定系统里有没有ifcfg-rh插件。

NetworkManager加载插件的路径为/usr/lib64/NetworkManager/VERSION/libnm-settings-plugin-ifcfg-rh.so,其中VERSION为当前系统的NetworkManager版本。

如果这个路径没有相应的插件so,则需要自己编译。

ifcfg-rh插件是NetworkManager内置的插件,只要下载标准的NetworkManager代码就可以编译。

对于Debian系统,可以使用如下命令下载并且完成编译:

复制代码
apt build-dep network-manager
apt source network-manager
cd network-manager-*
dpkg-buildpackage -us -uc #或者 ./debian/rules binary

编译完,把src/settings/plugins/ifcfg-rh/.libs目录下面的libnm-settings-plugin-ifcfg-rh.so复制到/usr/lib64/NetworkManager/$VERSION 目录去就可以了。

增加dbus配置

此时,使用NetworkManager会有一条安全方面的告警提示,是

复制代码
...... couldn't acquire D-Bus service: GDBus.Error:org.freedesktop.DBus.Error.AccessDenied: Connection ":1.20" is not allowed to own the service "com.redhat.ifcfgrh1" due to security policies in the configuration file

解决办法是把network-manager源代码目录src/settings/plugins/ifcfg-rh目录下面的dbus配置文件:nm-ifcfg-rh.conf复制到/etc/dbus-1/system.d里面去。

这个文件的内容是:

复制代码
<!DOCTYPE busconfig PUBLIC
 "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
 "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
<busconfig>
        <policy context="default">
                <allow send_destination="com.redhat.ifcfgrh1"/>
        </policy>
        <policy user="root">
                <allow own="com.redhat.ifcfgrh1"/>
        </policy>
</busconfig>
相关推荐
DianSan_ERP2 天前
电商API接口全链路监控:构建坚不可摧的线上运维防线
大数据·运维·网络·人工智能·git·servlet
呉師傅2 天前
火狐浏览器报错配置文件缺失如何解决#操作技巧#
运维·网络·windows·电脑
欧云服务器2 天前
怎么让脚本命令可以同时在centos、debian、ubuntu执行?
ubuntu·centos·debian
2501_946205522 天前
晶圆机器人双臂怎么选型?适配2-12寸晶圆的末端效应器有哪些?
服务器·网络·机器人
linux kernel2 天前
第七部分:高级IO
服务器·网络
数字护盾(和中)2 天前
BAS+ATT&CK:企业主动防御的黄金组合
服务器·网络·数据库
~远在太平洋~2 天前
Debian系统如何删除多余的kernel
linux·网络·debian
unfeeling_2 天前
Keepalived实验
linux·服务器·网络
坐吃山猪2 天前
OpenClaw04_Gateway常见问题
网络·gateway·openclaw
上海云盾商务经理杨杨2 天前
2025年重大网络安全事件回顾与趋势分析
网络·安全·web安全