返回顶部
首页 > 资讯 > 操作系统 >怎么在Linux上从NetworkManager切换为systemd-network
  • 756
分享到

怎么在Linux上从NetworkManager切换为systemd-network

2023-06-16 16:06:31 756人浏览 泡泡鱼
摘要

这篇文章主要讲解了“怎么在linux上从NetworkManager切换为systemd-network”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么在Linux上从NetworkMan

这篇文章主要讲解了“怎么在linux上从NetworkManager切换为systemd-network”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么在Linux上从NetworkManager切换为systemd-network”吧!

在 Linux 世界里,对 systemd 的采用一直是激烈争论的主题,它的支持者和反对者之间的战火仍然在燃烧。到了今天,大部分主流 Linux  发行版都已经采用了 systemd 作为默认的初始化init系统。

正如其作者所说,作为一个 “从未完成、从未完善、但一直追随技术进步” 的系统,systemd  已经不只是一个初始化进程,它被设计为一个更广泛的系统以及服务管理平台,这个平台是一个包含了不断增长的核心系统进程、库和工具的生态系统。

怎么在Linux上从NetworkManager切换为systemd-network

systemd 的其中一部分是 systemd-networkd,它负责 systemd 生态中的网络配置。使用  systemd-networkd,你可以为网络设备配置基础的 DHCP/静态 IP 网络。它还可以配置虚拟网络功能,例如网桥、隧道和  VLAN。systemd-networkd 目前还不能直接支持无线网络,但你可以使用 wpa_supplicant 服务配置无线适配器,然后把它和  systemd-networkd 联系起来。

在很多 Linux 发行版中,NetworkManager 仍然作为默认的网络配置管理器。和 NetworkManager  相比,systemd-networkd 仍处于积极的开发状态,还缺少一些功能。例如,它还不能像 NetworkManager  那样能让你的计算机在任何时候通过多种接口保持连接。它还没有为更高层面的脚本编程提供 ifup/ifdown 钩子函数。但是,systemd-networkd  和其它 systemd 组件(例如用于域名解析的 resolved、NTP 的timesyncd,用于命名的  udevd)结合的非常好。随着时间增长,systemd-networkd只会在 systemd 环境中扮演越来越重要的角色。

如果你对 systemd-networkd 的进步感到高兴,从 NetworkManager 切换到 systemd-networkd  是值得你考虑的一件事。如果你强烈反对 systemd,对 NetworkManager 或基础网络服务感到很满意,那也很好。

但对于那些想尝试 systemd-networkd 的人,可以继续看下去,在这篇指南中学会在 Linux 中怎么从 NetworkManager  切换到 systemd-networkd。

需求

systemd 210 及其更高版本提供了 systemd-networkd。因此诸如 Debian 8 "Jessie" (systemd  215)、 Fedora 21 (systemd 217)、 ubuntu 15.04 (systemd 219) 或更高版本的 Linux 发行版和  systemd-networkd 兼容。

对于其它发行版,在开始下一步之前先检查一下你的 systemd 版本。

$ systemctl --version

从 NetworkManager 切换到 Systemd-networkd

     从 NetworkManager 切换到 systemd-networkd  其实非常简答(反过来也一样)。

首先,按照下面这样先停用 NetworkManager 服务,然后启用 systemd-networkd。

$ sudo systemctl disable NetworkManager $ sudo systemctl enable systemd-networkd

你还要启用 systemd-resolved 服务,systemd-networkd用它来进行域名解析。该服务还实现了一个缓存DNS  服务器

$ sudo systemctl enable systemd-resolved $ sudo systemctl start systemd-resolved

当启动后,systemd-resolved 就会在 /run/systemd 目录下某个地方创建它自己的 resolv.conf。但是,把 DNS  解析信息存放在 /etc/resolv.conf 是更普遍的做法,很多应用程序也会依赖于  /etc/resolv.conf。因此为了兼容性,按照下面的方式创建一个到 /etc/resolv.conf 的符号链接。

$ sudo rm /etc/resolv.conf $ sudo ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf

用 systemd-networkd 配置网络连接要用 systemd-networkd 配置网络服务,你必须指定带.network  扩展名的配置信息文本文件。这些网络配置文件保存到 /etc/systemd/network 并从这里加载。当有多个文件时,systemd-networkd  会按照字母顺序一个个加载并处理。

首先创建 /etc/systemd/network 目录。

$ sudo mkdir /etc/systemd/network

DHCP 网络

    首先来配置 DHCP 网络。对于此,先要创建下面的配置文件。文件名可以任意,但记住文件是按照字母顺序处理的。

$ sudo vi /etc/systemd/network/20-dhcp.network
[Match] Name=enp3* [Network]DHCP=yes

正如你上面看到的,每个网络配置文件包括了一个或多个 “sections”,每个 “section”都用 [XXX] 开头。每个 section  包括了一个或多个键值对。[Match] 部分决定这个配置文件配置哪个(些)网络设备。例如,这个文件匹配所有名称以 ens3 开头的网络设备(例如 enp3s0、  enp3s1、 enp3s2 等等)对于匹配的接口,然后启用 [Network] 部分指定的 DHCP 网络配置。

静态 IP网络

    如果你想给网络设备分配一个静态 IP 地址,那就新建下面的配置文件。

$ sudo vi /etc/systemd/network/10-static-enp3s0.network
[Match] [Network] Address=192.168.10.50/24Gateway=192.168.10.1DNS=8.8.8.8

正如你猜测的, enp3s0 接口地址会被指定为 192.168.10.50/24,默认网关是 192.168.10.1, DNS 服务器是  8.8.8.8。这里微妙的一点是,接口名 enp3s0 事实上也匹配了之前 DHCP 配置中定义的模式规则。但是,根据词汇顺序,文件  "10-static-enp3s0.network" 在 "20-dhcp.network" 之前被处理,对于 enp3s0 接口静态配置比 DHCP  配置有更高的优先级。

一旦你完成了创建配置文件,重启 systemd-networkd 服务或者重启机器。

$ sudo systemctl restart systemd-networkd

运行以下命令检查服务状态:

$ systemctl status systemd-networkd $ systemctl status systemd-resolved

怎么在Linux上从NetworkManager切换为systemd-network

用 systemd-networkd 配置虚拟网络设备systemd-networkd  同样允许你配置虚拟网络设备,例如网桥、VLAN、隧道、VXLAN、绑定等。你必须在用 .netdev 作为扩展名的文件中配置这些虚拟设备。

这里我展示了如何配置一个桥接接口。

Linux 网桥如果你想创建一个 Linux 网桥(br0) 并把物理接口(eth2) 添加到网桥,你可以新建下面的配置。

$ sudo vi /etc/systemd/network/bridge-br0.netdev
[NetDev] Name=br0Kind=bridge

然后按照下面这样用 .network 文件配置网桥接口 br0 和从接口 eth2。

$ sudo vi /etc/systemd/network/bridge-br0-slave.network
[Match] Name=eth2 [Network]Bridge=br0
$ sudo vi /etc/systemd/network/bridge-br0.network
[Match] Name=br0 [Network]Address=192.168.10.100/24Gateway=192.168.10.1DNS=8.8.8.8

***,重启 systemd-networkd。

$ sudo systemctl restart systemd-networkd

你可以用 brctl 工具 来验证是否创建好了网桥 br0。

总结当 systemd 誓言成为 Linux 的系统管理器时,有类似 systemd-networkd  的东西来管理网络配置也就不足为奇。但是在现阶段,systemd-networkd  看起来更适合于网络配置相对稳定的服务器环境。对于桌面/笔记本环境,它们有多种临时有线/无线接口,NetworkManager 仍然是比较好的选择。

感谢各位的阅读,以上就是“怎么在Linux上从NetworkManager切换为systemd-network”的内容了,经过本文的学习后,相信大家对怎么在Linux上从NetworkManager切换为systemd-network这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: 怎么在Linux上从NetworkManager切换为systemd-network

本文链接: https://lsjlt.com/news/284285.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 怎么在Linux上从NetworkManager切换为systemd-network
    这篇文章主要讲解了“怎么在Linux上从NetworkManager切换为systemd-network”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么在Linux上从NetworkMan...
    99+
    2023-06-16
  • Linux中如何将网络管理器由NetworkManager切换为systemd-network
    这篇文章主要讲解了“Linux中如何将网络管理器由NetworkManager切换为systemd-network”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux中如何将网络管理器由...
    99+
    2023-06-12
  • 怎么从Windows中切换到Linux系统
    这期内容当中小编将会给大家带来有关怎么从Windows中切换到Linux系统,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。创建您的安装驱动器前往 Mint 的下载页面,然后选择 64 位的 “Cinnam...
    99+
    2023-06-16
  • Linux内核进程上下文切换怎么理解
    这篇文章主要讲解了“Linux内核进程上下文切换怎么理解”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux内核进程上下文切换怎么理解”吧!1.进程上下文的概念进程上下文是进程执行活动全...
    99+
    2023-06-15
  • 怎么在linux中利用update-alternatives切换java版本
    本篇文章给大家分享的是有关怎么在linux中利用update-alternatives切换java版本,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。sudo upda...
    99+
    2023-06-09
  • 怎么在jupyter中安装tensorflow,并切换环境为tensorflow
    首先说一下遇到的问题是如下(前提是已经安装anaconda): 一、进入jupyter打开终端 在cmd中输入jupyter notebook进入jupyter: 然后进入终端:  进入之后是如下界面:  二、安装tensorfl...
    99+
    2023-09-16
    tensorflow jupyter python
  • MySQL5.7怎么实现一主两从MHA在线手动平滑切换
    这篇文章主要介绍“MySQL5.7怎么实现一主两从MHA在线手动平滑切换”,在日常操作中,相信很多人在MySQL5.7怎么实现一主两从MHA在线手动平滑切换问题上存在疑惑,小编查阅了各式资料,整理出简单好用...
    99+
    2024-04-02
  • 怎么在Linux中切换相同程序的不同版本
    这篇文章主要为大家展示了“怎么在Linux中切换相同程序的不同版本”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“怎么在Linux中切换相同程序的不同版本”这篇文章吧。使用 update-alte...
    99+
    2023-06-16
  • 怎么在linux中禁止普通用户切换至root用户
    怎么在linux中禁止普通用户切换至root用户?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1、添加用户useradd [-g group...
    99+
    2023-06-09
  • 怎么在Linux上将USB盘格式化为exFAT
    这篇文章主要为大家展示了“怎么在Linux上将USB盘格式化为exFAT”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“怎么在Linux上将USB盘格式化为exFAT”这篇文章吧。长期以来,FAT...
    99+
    2023-06-16
  • 怎么在Linux系统上使用交换文件扩展swap空间
    本篇内容主要讲解“怎么在Linux系统上使用交换文件扩展swap空间”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么在Linux系统上使用交换文件扩展swap空间”吧!想像一种情景,当我们的L...
    99+
    2023-06-12
  • 怎么在Linux中金阿红科学计数法(e)转换为数字
    怎么在Linux中金阿红科学计数法(e)转换为数字?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。什么是Linux系统Linux是一种免费使用和自由传播的类UNIX操作系统,是一...
    99+
    2023-06-09
  • 在Linux上怎么为特定的用户或用户组启用或禁用SSH
    本篇内容介绍了“在Linux上怎么为特定的用户或用户组启用或禁用SSH”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!什么是 SSH ?ope...
    99+
    2023-06-16
  • 怎么用vbs将本地文件替换为在文件服务器上找到的新版本
    这篇文章主要介绍了怎么用vbs将本地文件替换为在文件服务器上找到的新版本,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。问: 如何将本地文件的修改日期与文件服务器上的副本进行比...
    99+
    2023-06-08
  • 怎么在Linux上为执行的任务创建一个自定义的系统托盘指示器
    本篇内容介绍了“怎么在Linux上为执行的任务创建一个自定义的系统托盘指示器”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!系统托盘图标如今仍...
    99+
    2023-06-16
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作