Ubuntu 似乎提供了至少两个网络“工具集”(因为没有更好的术语)。我在这两个工具集之间遇到了冲突。
- 网络管理器
- 更像传统网络工具(例如 ifconfig、'ifup'、/etc/网络/接口
我经常遇到这些不同工具集之间的冲突。例如,我在家里运行 Ubuntu Desktop,并且使用 KVM/libvirt 等软件,它建议我禁用网络管理器,但禁用网络管理器会导致其他问题。
网络管理器和传统网络工具之间有什么区别?这两个套件可以并行运行吗?还是我必须坚持使用其中一个?是否有文档总结了这些不同工具之间的区别?我找不到。
(请原谅这个问题的模糊性。我搜索了好久才找到答案,但只找到了很多模糊的答案,这些答案似乎与 Ubuntu 10.04/Lucid 无关,而且我可能不完全理解 NetworkManager 的用途。但是,这似乎是一个常见问题。如果您有澄清这个问题的建议,请发表评论。)
答案1
NetworkManager
和ifconfig
默认不兼容(NetworkManager
不会配置 中列出的接口/etc/network/interfaces
)。NetworkManager
是一种设置守护进程,可确保多个用户可以编辑网络连接,这在桌面环境中非常智能(尤其是在可能在不同无线网络之间移动的笔记本电脑上)。 基本上是、和的NetworkManager
前端。iproute
dhclient
wpa_supplicant
ppp
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
不读取任何配置文件并且只执行所要求的操作。
ifup
是ifdown
用来配置网络接口的辅助程序,ifconfig
根据/etc/network/interfaces
此将确保如果有任何需要运行的启动、关闭、启动前、关闭前、启动后、关闭后脚本,它们将会运行。
好的,那么有并且wpa_supplicant
。dhclient
是dhclient
一个 DHCP 客户端 -ifup
如果为 DHCP 配置了网络接口,将会使用它,因为NetworkManager
。wpa_supplicant
是一个用于在无线网络上配置加密的工具。
大多数这些工具都有手册页,例如,interfaces-file 有自己的手册页,描述该配置文件的格式。
man interfaces
man ifconfig
man ifup
因此,我建议您删除(或禁用)NetworkManager
,我认为删除后不会破坏任何东西,NetworkManager
除了用于设置网络的 GUI 工具。如果您想在没有的情况下配置无线,NetworkManager
您可能需要查看这。
答案2
在典型的基于 Debian 的发行版中,有两个用于配置网络接口的命令行实用程序:已弃用的ifconfig
从net-tools
以及较新的ip
从iproute2
。
但是这两个实用程序直接配置内核并且不会保留您的配置,如果您重新启动机器,则需要再次重新配置您的接口。
为了达到这个目的,有三个主要的软件包可供选择:
ifupdown
NetworkManager
systemd
及其守护进程systemd-networkd
一般来说,您应该选择一种并坚持使用它,即使它ifupdown
运行良好,NetworkManager
仍然会产生意外的配置问题。
ifupdown
它已经过时了,但仍然可靠,您可能会在许多较旧的系统上遇到它。配置存储在守护进程中/etc/network/interfaces
并由该networking.service
守护进程管理,该守护进程是ifup
和ifdown
命令本身也是包装器ifconfig
(ip
或者ifupdown2
)。
阅读ifupdown
。
NetworkManager
由于有许多可用的图形前端,因此通常包含在桌面发行版中,配置存储在守护进程中/etc/NetworkManager
并由NetworkManager.service
守护进程管理。
systemd-networkd
通常用于服务器分布和的官方后继者,ifupdown
因为它包含在内systemd
,配置存储在守护进程中/etc/systemd/network
并由systemd-networkd.service
守护进程管理。
dhclient
虽然不是守护进程,dhclient
从isc-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 以使接口正常工作。