网络管理器和‘ifconfig’‘ifup’等有什么区别?

网络管理器和‘ifconfig’‘ifup’等有什么区别?

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

我经常遇到这些不同工具集之间的冲突。例如,我在家里运行 Ubuntu Desktop,并且使用 KVM/libvirt 等软件,它建议我禁用网络管理器,但禁用网络管理器会导致其他问题。

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

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

答案1

NetworkManagerifconfig默认不兼容(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

设置您的 IP、网络掩码和 MAC 地址eth1,然后关闭(禁用/关闭)您的接口。ifconfig不读取任何配置文件并且只执行所要求的操作。

ifupifdown用来配置网络接口的辅助程序,ifconfig根据/etc/network/interfaces此将确保如果有任何需要运行的启动、关闭、启动前、关闭前、启动后、关闭后脚本,它们将会运行。

好的,那么有并且wpa_supplicantdhclientdhclient一个 DHCP 客户端 -ifup如果为 DHCP 配置了网络接口,将会使用它,因为NetworkManagerwpa_supplicant是一个用于在无线网络上配置加密的工具。

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

man interfaces
man ifconfig
man ifup

因此,我建议您删除(或禁用)NetworkManager,我认为删除后不会破坏任何东西,NetworkManager除了用于设置网络的 GUI 工具。如果您想在没有的情况下配置无线,NetworkManager您可能需要查看

答案2

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

但是这两个实用程序直接配置内核并且不会保留您的配置,如果您重新启动机器,则需要再次重新配置您的接口。

为了达到这个目的,有三个主要的软件包可供选择:

一般来说,您应该选择一种并坚持使用它,即使它ifupdown运行良好,NetworkManager仍然会产生意外的配置问题。

ifupdown

它已经过时了,但仍然可靠,您可能会在许多较旧的系统上遇到它。配置存储在守护进程中/etc/network/interfaces并由该networking.service守护进程管理,该守护进程是ifupifdown命令本身也是包装器ifconfigip或者ifupdown2)。

阅读ifupdown

NetworkManager

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

您可以使用附带的nmcli或者nmtui公用设施。

阅读NetworkManager

systemd-networkd

通常用于服务器分布和的官方后继者,ifupdown因为它包含在内systemd,配置存储在守护进程中/etc/systemd/network并由systemd-networkd.service守护进程管理。

阅读systemd-networkd

dhclient

虽然不是守护进程,dhclientisc-dhcp-client尽管如此,它是一个非常重要的包,并且通常是桌面发行版所需要,因为您经常需要从 DHCP 服务器获取 IPv4。

希望如此,因为 IPv6(使用斯坦福直线加速器) 正在慢慢被采用,这种情况在不久的将来或遥远的将来可能会改变。

答案3

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

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

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

ifup(8)同样,NetworkManager 比工具高一个级别ifdown(8)。由于没有更好的术语,NetworkManager 能够精心策划使用下面各级别的工具来完成更高级别的任务,比如 Internet 连接共享,与仅仅使用下面各级别的工具相比,更加容易。

答案4

如果您删除网络管理器,我认为您需要配置 /etc/network/interface 以使接口正常工作。

相关内容