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

2022-09-08 19:47:01 +08:00
 documentzhangx66

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 不行吗?

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

作为一台 Server ,可能应对的网络场景多种多样。
julyclyde
2022-09-09 08:27:32 +08:00
subnet 和 netmask 两码事啊
不是两种格式的问题
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
207 天前
“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 !

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/878719

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX