网络管理器和“ifconfig”、“ifup”等有什么区别?

Ste*_*ski 57 network-manager networking ifconfig

Ubuntu 似乎提供了至少两个网络“工具集”(因为没有更好的术语)。我遇到了这两者之间的冲突。

我经常遇到这些不同工具集之间的冲突。例如,我在家里运行 Ubuntu 桌面,我正在使用 KVM/libvirt 之类的软件,它建议我禁用 Network Manager,但禁用 Network Manager 会导致其他事情中断。

网络管理器和传统的网络工具有什么区别?这两个套件可以并排运行还是我必须坚持使用其中一个?是否有文档总结了这些不同工具之间的区别?我一直无法找到一个。

(请原谅这个问题的含糊不清。我已经搜索并搜索了答案,但我只找到了许多似乎与 Ubuntu 10.04/Lucid 无关的模糊答案,而且我可能不完全理解 NetworkManager 的目的。但是,这似乎是一个常见问题。如果您有澄清此问题的建议,请发表评论。)

Las*_*sen 57

NetworkManager并且ifconfig(默认情况下)不兼容(NetworkManager不会配置 中列出的接口/etc/network/interfaces)。NetworkManager是一种设置守护程序,可确保多个用户可以编辑网络连接,这在桌面环境中非常智能(尤其是在可能在不同无线网络之间移动的笔记本电脑上)。基本上NetworkManager是一个前端到iproutedhclientwpa_supplicantppp

ifconfig 是用于配置网络接口的通用工具,例如您可以这样做:

ifconfig eth1 10.0.0.1 netmask 255.0.0.0 hw ether 10:10:10:10:10:10
ifconfig eth1 down
Run Code Online (Sandbox Code Playgroud)

设置您的 IP、网络掩码和 MAC 地址eth1,然后关闭(禁用/关闭)您的接口。ifconfig不读取任何配置文件,只执行它所告诉的内容。

ifup并且ifdownifconfig用于根据/etc/network/interfaces此配置网络接口的帮助程序将确保如果需要运行任何向上、向下、预向上、预向下、后向上、后向下脚本,它们将是。

好的,然后有wpa_supplicantdhclientdhclient是 DHCP 客户端 -ifup如果为 DHCP 配置了网络接口,则将使用它,也将使用它NetworkManagerwpa_supplicant是一种用于在无线网络上配置加密的工具。

大多数这些工具都有手册页,例如接口文件有它自己的手册页,描述了该配置文件的格式。

man interfaces
man ifconfig
man ifup
Run Code Online (Sandbox Code Playgroud)

话虽如此,我建议您删除(或禁用)NetworkManager,我认为NetworkManager除了用于设置网络的 gui 工具之外,任何东西都不会因删除而中断。如果你想在没有NetworkManager你的情况下配置无线,你可能想看看这个


ema*_*ret 8

在典型的基于 Debian 的发行版上,您有两个用于配置网络接口的命令行实用程序:已弃用的ifconfignet-tools较新ipiproute2

然而,这两个实用程序直接配置内核并且不会保留您的配置,如果您重新启动计算机,您将需要再次重新配置您的接口。

您可以使用三个主要软件包来实现此目的:

一般来说,您应该选择一个并坚持使用它,即使它ifupdown工作得很好,NetworkManager仍然可能会产生意外的配置问题。

ifupdown

相当不赞成但可靠,您可能会在许多旧系统上遇到它。配置存储在守护进程中/etc/network/interfaces并由守护进程管理,networking.service守护进程是ifup和命令的包装器ifdown,命令本身也是ifconfig(或ipfor ifupdown2) 的包装器。

阅读该男子的文章ifupdown

NetworkManager

由于有许多图形前端可用,因此通常包含在桌面发行版中,配置存储在守护程序中/etc/NetworkManager并由守护程序管理NetworkManager.service

nmcli您可以使用包含的或实用程序来管理配置nmtui

阅读该男子的文章NetworkManager

systemd-networkd

通常用于服务器发行版和官方后续版本,因为ifupdown它包含在 中systemd,配置存储在守护程序中/etc/systemd/network并由守护程序管理systemd-networkd.service

阅读该男子的文章systemd-networkd

dhclient

虽然不是守护程序,但dhclientfromisc-dhcp-client仍然是一个非常重要的软件包,并且在桌面发行版上经常需要,因为您经常需要从 DHCP 服务器获取 IPv4。

希望随着 IPv6(使用SLAAC)的缓慢采用,这种情况可能会在不久或遥远的将来发生改变。


Li *_* Lo 7

这些工具集是互补的,而不是相互排斥的。

FWIW,ifconfig只是*config用于配置网络接口的其他工具中的一个工具。

ifup(8)ifdown(8)工具是一个层之上的*config工具。您可以将它们视为辅助工具。

同样,NetworkManager 是一个高于ifup(8)ifdown(8)工具的级别。由于缺乏更好的术语,NetworkManager 能够从以下级别编排工具(ets),以便与仅使用以下级别的工具相比,更轻松地完成更高级别的任务,例如 Internet 连接共享。

  • @Li Lo:是的,请提供更多详细信息。我认为 ifup/ifdown 会修改 /etc/network/interfaces 中的主机,而网络管理器会忽略 /etc/network/interfaces 中的任何接口。(请参阅 [FAQ/Common issues/Pitfalls](https://help.ubuntu.com/community/NetworkManager0.7#FAQ/Common%20issues/Pitfalls) 下的问题“d. 为什么网络管理器不管理我的网络?” ) (3认同)
  • 嗯,ifup/ifdown 使用 /etc/network/interfaces,并且与 NetworkManager 分开。NetworkManager 根本不会弄乱 /etc/network/interfaces,除了默认读取要忽略的接口列表之外。 (2认同)
  • 否决了这个答案,因为它被认为是明显错误的,并且发帖者没有回应。所以我认为指控是真实的。 (2认同)