Linux中如何将网络管理器由NetworkManager切换为systemd-network

在Linux中,网络管理器的选择对于系统性能和网络设置有很大的影响,NetworkManager是一个非常流行的网络管理工具,而systemd-network是Linux内核的一部分,它提供了更加稳定和高效的网络管理功能,本文将介绍如何在Linux中将网络管理器由NetworkManager切换为systemd-network。

NetworkManager简介

NetworkManager是一个通用的网络管理工具,可以自动配置和管理网络连接,它支持多种协议,如DHCP、DNS、代理等,并允许用户通过图形界面或命令行进行配置,NetworkManager的主要优点是易于使用和扩展性好,但它也存在一些缺点,如性能较差、配置复杂等。

Linux中如何将网络管理器由NetworkManager切换为systemd-network

systemd-network简介

systemd-network是Linux内核的一部分,它提供了一种简单的方式来配置和管理网络连接,通过使用systemd-network,用户可以在不修改网络接口配置文件的情况下更改网络设置,systemd-network还支持动态IP地址分配、DNS解析等功能,使得网络管理变得更加简单和高效。

如何将NetworkManager切换为systemd-network

1、安装systemd-network

需要在系统中安装systemd-network,在基于Debian的系统(如Ubuntu)中,可以使用以下命令安装:

sudo apt-get install systemd-networkd

在基于RHEL的系统(如CentOS)中,可以使用以下命令安装:

sudo yum install systemd-networkd

2、禁用NetworkManager

Linux中如何将网络管理器由NetworkManager切换为systemd-network

接下来,需要禁用NetworkManager,可以通过编辑NetworkManager的配置文件来实现这一点,在大多数系统中,该文件位于/etc/NetworkManager/NetworkManager.conf,使用文本编辑器打开该文件,并找到以下行:

[main]
dns=dnsmasq

将其注释掉,如下所示:

; [main]
; dns=dnsmasq

重启NetworkManager服务以应用更改:

sudo systemctl restart NetworkManager

3、启用systemd-network

现在,已经成功禁用了NetworkManager,可以启用systemd-network了,同样地,在大多数系统中,该服务位于/etc/systemd/system/multi-user.target.wants/network-manager.service,使用文本编辑器打开该文件,并确保其中的内容如下所示:

Linux中如何将网络管理器由NetworkManager切换为systemd-network

[Unit]
Description=Network Manager for systemd-based systems
After=network.target network-online.target
Documentation=man:systemd-networkd(8)
DocumentationUrl=http://www.freedesktop.org/wiki/Software/systemd/networking/index.html
BindsTo=network-online.target network-dhcp6.target firewalld.service avahi-daemon.service nscd.service udevadm.service dbus-daemon.service gpm.service polkitd.service bluetooth.service iwd.service wpa_supplicant.service systemd-resolved.service systemd-timesyncd.service systemd-tmpfiles-setup.service systemd-random-seed-directory.service systemd-random-seed.service acpid.service rsyslog.service timesyncd.service libnss-myhostname.so systemd-hostnamed.service systemd-logind.service systemd-udev-trigger.service systemd-user@socket service sshd.service sulogin.service apparmor.service auditd.service cronie.service cups-pdf.service postfix.service setroubleshoot.service syslogrotate.service xdmcp.service xsltproc.timer zfsdumpcodezfsquota zfsquota nfs-common nfslock krb5ccpreauth nscd avahi-autoipd e2fsck e2fsck.noatime ext4-resize fstrim resolvconf rpcbind rpcidmapped rtkit rtmpdump screen udevd udevrun unattended-upgrades update-notifier vboxadd vboxnetadp vboxpciutils wpa_supplicant watchdog -Requires=network-online.target network-dhcp6.target firewalld.service avahi-daemon.service nscd.service udevadm.service dbus-daemon.service gpm.service polkitd bluetooth iwd wpa_supplicant systemd-resolved systemd-timesyncd systemd-tmpfiles-setup systemd-random-seed systemd-random-seed-directory acpid rsyslog timesyncd libnss-myhostname systemd-hostnamed systemd-logind systemd-udev-trigger systemd-user@socket sshd sulogin apparmor auditd cups-pdf postfix setroubleshoot syslogrotate xdmcp xsltproc zfsdumpcodezfsquota zfsquota nfs-common nfslock krb5ccpreauth nscd avahi-autoipd e2fsck e2fsck.noatime ext4-resize fstrim resolvconf rpcbind rpcidmapped rtkit rtmpdump screen udevd udevrun unattended-upgrades update-notifier vboxadd vboxnetadp vboxpciutils wpa_supplicant watchdog -After=multi-user.target network-online.target 

保存并关闭文件后,重新加载systemd守护进程以应用更改:

sudo systemctl daemon-reload

4、启动并启用systemd-network服务

启动并启用systemd-network服务,在大多数系统中,可以使用以下命令:

sudo systemctl enable --now network || sudo systemctl enable network && sudo systemctl start network

至此,已经成功将网络管理器从NetworkManager切换为systemd-network,可以使用以下命令检查当前正在运行的服务:

ps aux | grep 'systemctl is running' || ps aux | grep 'systemctl is running' && ps aux | grep 'systemctl is running' && ps aux | grep 'systemctl is running' && ps aux | grep 'systemctl is running' && ps aux | grep 'systemctl is running' && ps aux | grep 'systemctl is running' && ps aux | grep 'systemctl is running' && ps aux | grep 'systemctl is running' && ps aux | grep 'systemctl is running' && ps aux | grep 'systemctl is running' && ps aux | grep 'systemctl is running' && ps aux | grep 'systemctl is running' && ps aux | grep 'systemctl is running' && ps aux | grep 'systemctl is running' && ps aux | grep 'systemctl is running' && ps aux | grep 'systemctl is running' && ps aux | grep 'systemctl is running' && ps aux | grep 'systemctl is running' && ps aux | grep 'systemctl is running' && ps aux | grep 'systemctl is running' && ps aux | grep 'systemctl is running' && ps aux | grep 'systemctl is running' && ps aux | grep 'systemctl is running' && ps aux | grep 'systemctl is running' && ps aux | grep 'systemctl is running' && ps aux | grep 'systemctl is running' && ps aux | grep 'systemctl is running' && ps aux | grep 'systemctl is running' && ps aux | grep 'systemctl is running' && ps aux | grep 'systemctl is running' && ps aux | grep 'systemctl is running' && ps aux | grep 'systemctl is running' && ps aux | grep 'systemctl is running' && ps aux | grep 'systemctl is running' && ps aux | grep 'systemctl is running' && ps aux | grep 'systemctl is running' && ps aux | grep 'systemctl is running' && ps aux | grep 'systemctl is running' && ps aux | grep 'systemctl is running' && ps aux | grep 'systemctl is running' && ps aux | grep 'systemctl is running' && ps aux | grep 'systemctl is running' && ps aux | grep 'systemctl is running' || sudo service systemd-network start || sudo service network start || sudo service network start || sudo service network start || sudo service network start || sudo service network start || sudo service network start || sudo service network start || sudo service network start || sudo service network start || sudo service network start || sudo service network start || sudo service network start || sudo service network start || sudo service network start || sudo service network start || sudo service network start || sudo service network start || sudo service network start || sudo service network start || sudo service network start || sudo service network

原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/219470.html

Like (0)
Donate 微信扫一扫 微信扫一扫
K-seo的头像K-seoSEO优化员
Previous 2024-01-14 15:06
Next 2024-01-14 15:19

相关推荐

  • 如何管理和理解Linux系统中的用户权限?

    Linux用户权限是指系统中每个用户对文件和目录的访问控制能力。这些权限分为读(r)、写(w)和执行(x),分别对应于用户(u)、组(g)和其他(o)。通过调整这些权限,可以控制用户对文件的操作范围,确保系统的安全性和稳定性。

    2024-07-18
    073
  • linux系统下AutoFs挂载服务安装教程

    1. 安装autofs软件包;2. 配置/etc/auto.master文件;3. 创建挂载点目录;4. 修改/etc/fstab文件;5. 重启autofs服务。

    2024-05-23
    0137
  • 上传文件到linux

    上传文件到Linux系统可以通过多种方法实现,这里我们介绍两种常用的方法:使用scp命令和使用FTP客户端。一、使用scp命令上传文件1. 打开本地计算机的终端(Windows系统可以使用PowerShell或者安装Git Bash)。2. 输入以下命令,将本地文件上传到Linux服务器:scp [本地文件路径] [用户名]@[服务器……

    2023-11-28
    0136
  • linux中ip addr

    在Linux系统中,iphdr是一个用于表示IPv4数据包头部的文件,IPv4是互联网协议(Internet Protocol)的一个版本,它是TCP/IP协议栈的基础,IPv4数据包头部包含了关于数据包的一些重要信息,如源地址、目标地址、协议类型等,iphdr文件通常位于内核源码树的"net/ipv4&qu……

    2023-12-13
    0145
  • linux无法使用ls

    在Linux系统中,lspci命令用于查看PCI设备信息,如果你在执行lspci命令时遇到"command not found"或"lspci: 未找到命令"的错误提示,说明你的系统可能没有安装或配置好pciutils包,本文将介绍如何解决这个问题。安装pciut……

    2024-01-11
    099
  • 为什么在Linux系统上安装A卡驱动会失败?

    在Linux系统下安装AMD显卡驱动可能会遇到各种问题,本文将详细探讨这一问题并提供实用的解决指南,以下是针对Linux系统下A卡驱动安装失败的深度研究:在Linux系统下,安装显卡驱动(特别是AMD显卡驱动)时可能会遇到各种问题,本文将深入探讨这一问题,并为大家提供解决Linux系统下AMD显卡驱动安装失败的……

    2024-11-17
    06

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

免备案 高防CDN 无视CC/DDOS攻击 限时秒杀,10元即可体验  (专业解决各类攻击)>>点击进入