V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
documentzhangx66
V2EX  ›  Ubuntu

请问 ubuntu-22.04-live-server 把静态 IPv4 的配置设计成这样,是有什么原因吗?

  •  
  •   documentzhangx66 · 2022-09-08 19:47:01 +08:00 · 2648 次点击
    这是一个创建于 812 天前的主题,其中的信息可能已经有所发展或是发生改变。

    https://ibb.co/P9NRy8y

    正常系统的静态 IPv4 配置: IPv4:192.168.1.5 Netmask:255.255.255.0 Gateway:....

    Ubuntu-22.04-live-server: Subnet:192.168.1.0/24 Address:192.168.1.5 Gateway:....

    1.为啥 Subnet 要放在第一行,IP 地址放在第二行?

    2.为啥 Subnet 非要写成 192.168.1.0/24 这种明显重复的格式?直接 24 或 255.255.255.0 不行吗?

    6 条回复    2023-10-04 10:29:03 +08:00
    ihipop
        1
    ihipop  
       2022-09-08 20:24:10 +08:00 via Android
    因为 /mask 前面可能的情况不是一个 192.168.1.0 可以概括的吧。有很多种可能性,不过现实中用的不多。
    aru
        2
    aru  
       2022-09-08 22:57:21 +08:00
    这个设计确实很差
    Debian 的配置是 第一种,或不单独写掩码,ip 掩码在一行 192.168.1.5/24
    我觉得简单明了
    respawn
        3
    respawn  
       2022-09-09 03:18:54 +08:00
    Ubuntu Server 安装时使用自家出品的网络配置工具 netplan ,
    配置逻辑看它的代码: https://github.com/canonical/netplan

    作为一台 Server ,可能应对的网络场景多种多样。
    julyclyde
        4
    julyclyde  
       2022-09-09 08:27:32 +08:00
    subnet 和 netmask 两码事啊
    不是两种格式的问题
    joshu
        5
    joshu  
       2022-09-09 12:07:14 +08:00
    不考虑 VRF 等稍微复杂的情况的前提下
    subnet 的语义是 scope link 上,在主路由表上添加一条到该网段的路由
    即 ip route add 192.168.1.0/24 dev <interface> scope link table main ,可能后面还会带着一条 src x.x.x.x
    并在 local 路由表上添加对应广播路由
    ipv4 地址填写的语义的是,在 scope host 上,为 local 路由表上,把该地址视作由本机处理的流量进行拦截
    即 ip route add local 192.168.1.5 dev <interface>
    ubuntu 新版本这么做其实并无不可

    你可以想像一下,如果一家 VPS 服务商(比如 online ),它提供了 fallback ip 的,如果你想用于本机,我印象中官方的推荐做法其实是往这个 interface 加一个独立的 IP ,这种情况下,你依然保留了原有 IP 及其 subnet 和 gateway ,但你不必为这个新增的 fallback ip 建立对应的 subnet (又或者其实是建立的 fallback_ip/32 的 subnet ),建立额外的 subnet 反而是不正确的路由方式
    这种场景下,ubuntu 的这种方式是有一定意义的,但这毕竟是一个有些反直觉且不常用的功能
    busier
        6
    busier  
       2023-10-04 10:29:03 +08:00
    “2.为啥 Subnet 非要写成 192.168.1.0/24 这种明显重复的格式?直接 24 或 255.255.255.0 不行吗?”

    192.168.1.0/24 包含 subnet+netmask 两个信息 ,而 24 或 255.255.255.0 只有 netmask !
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1192 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 22:54 · PVG 06:54 · LAX 14:54 · JFK 17:54
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.