正常系统的静态 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 不行吗?
1
ihipop 2022-09-08 20:24:10 +08:00 via Android
因为 /mask 前面可能的情况不是一个 192.168.1.0 可以概括的吧。有很多种可能性,不过现实中用的不多。
|
2
aru 2022-09-08 22:57:21 +08:00
这个设计确实很差
Debian 的配置是 第一种,或不单独写掩码,ip 掩码在一行 192.168.1.5/24 我觉得简单明了 |
3
respawn 2022-09-09 03:18:54 +08:00
Ubuntu Server 安装时使用自家出品的网络配置工具 netplan ,
配置逻辑看它的代码: https://github.com/canonical/netplan 作为一台 Server ,可能应对的网络场景多种多样。 |
4
julyclyde 2022-09-09 08:27:32 +08:00
subnet 和 netmask 两码事啊
不是两种格式的问题 |
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 的这种方式是有一定意义的,但这毕竟是一个有些反直觉且不常用的功能 |
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 ! |