V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
ksc010
V2EX  ›  问与答

Linux 下的网络管理服务太乱了,我现在都没搞明白之间的关系

  •  
  •   ksc010 · 2022-02-16 18:00:38 +08:00 · 2365 次点击
    这是一个创建于 861 天前的主题,其中的信息可能已经有所发展或是发生改变。

    dhclient dhcpcd

    wicd networkmanager

    wpa_supplicant

    /etc/network/interfaces

    ifup ifdown

    iwconfig iw

    有些是网络管理工具 有些是服务 有些是查询配置程序

    它们之前 有些是依赖关系,有些会冲突

    5 条回复    2022-02-17 11:56:58 +08:00
    baobao1270
        1
    baobao1270  
       2022-02-16 21:10:11 +08:00   ❤️ 6
    其实一点也不乱,Linux 网络说白了就是 netlink 和 iptables 两个玩意
    ifupdown, net-tools 是直接操作网络的命令,类似声明式编程
    systemd-networkd, networkmanager 是通过配置来操作网络,类似面向对象编程
    netplan 属于套娃加套娃,在 networkmanager 上再套了一层,类似用 C 写的 Java 再用 Java 写 DSL 再用 DSL 写程序
    /etc/network/interfaces 这玩意,其实类似之前 init.d 的那一套,最终会被解析成 ifup ifdown 的命令被执行,正在被慢慢淘汰
    至于其他的工具,ping dig 之类的用于诊断的不在讨论的范畴内

    我个人是喜欢一套 systemd 走天下的,boot 交给 systemd-boot ,网络交给 systemd-networkd 和 systemd-resolved
    feather12315
        2
    feather12315  
       2022-02-16 21:22:52 +08:00 via Android   ❤️ 3
    syscall 级别的接口:
    1. ioctl ( legacy ,废弃)
    2. netlink socket
    对应的命令行工具:
    1. net-tools
    2. iproute2
    其他命令行工具:
    - bridge-tools

    各大大型版用于网络管理的工具:
    - ifupdown ,ifupdown2 ( Debian 系)
    - netplan ( Ubuntu )
    - wicked ( suse )
    - nmcli ( RedHat )
    - systemd 自己集成的 network manager

    图形化的网络管理工具
    - network-manager
    - yast/yast2 network

    从 syscall 角度看不乱,从各大发行版网络管理角度看确实很乱:通常都有多个网络管理方式,有的是继承关系,有的是覆盖。
    jim9606
        3
    jim9606  
       2022-02-17 00:35:15 +08:00   ❤️ 2
    dhclient ,dhcpcd 是独立 DHCP 客户端,负责根据 DHCP 服务器的指令维护接口的 IP 地址、DNS 等东西,用户不会直接接触,之所以依赖这个是因为它的功能比较全。
    wpa_supplicant 是 WPA 无线安全支持服务,同样用户不会直接接触。目前有替代者 iwd ( wpa_supplicant+dhcpd 的集成品,还加了些功能)。
    iw ,iwconfig 是手动管理 WLAN 接口用的,不是 debug 用户不会直接接触。
    net-tools(ifupdown,/etc/network)已淘汰(十几年没更新了),但在一些没有下面这几个东西的发行版里只能用这个。

    systemd(systemd-networkd,systemd-resolved)、GNOME NetworkManager 、WICD 是用户接触的一站式网络配置程序,你只要知道这个咋配置就够了。

    我建议 GUI 系统统一用 NetworkManager ,非 GUI 系统统一用 systemd-networkd ,这样上面只剩一个 wpa_supplicant 可能要留了。
    msg7086
        4
    msg7086  
       2022-02-17 03:20:51 +08:00 via Android
    我就常年 ifupdown2 了,挺好用的。netplan 之类的全删了。
    defunct9
        5
    defunct9  
       2022-02-17 11:56:58 +08:00
    什么乱七八糟的,统统 ip 搞
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5084 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 06:58 · PVG 14:58 · LAX 23:58 · JFK 02:58
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.