如何在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>
相关推荐
Ivanqhz36 分钟前
数据搬运是性能关键
java·服务器·网络·人工智能·深度学习
Julien20041 小时前
自动挂载网络附加存储
linux·服务器·网络
K成长日志1 小时前
BLE链路层-隐私保护
网络·物联网·蓝牙·iot·ble
K成长日志1 小时前
BLE链路层-Feature Support
网络·嵌入式·无线通信·蓝牙·iot·ble
Ivanqhz2 小时前
Slope One 算法详解:与矩阵分解、共现矩阵的异同
java·服务器·网络·人工智能·深度学习
王六米。3 小时前
RAG知识库建设 文档解析 切分与索引如何衔接
服务器·前端·网络·企业数字化转型·智钳智能盒子
wuyk5554 小时前
【Socket 进阶之路】第 7 章 IO 多路复用 select & poll 完整实战|多 fd 监听、超时等待、优缺点横向对比
服务器·开发语言·网络·数据库·物联网
dog2505 小时前
写一个时延固定的拥塞控制
网络
酣大智6 小时前
华为 VRRP的抢占延迟时间
网络·tcp/ip·vrrp
hengmeida6 小时前
楼宇控制柜标准化项目交付完整规范
大数据·网络·笔记