如何从 IP 地址获取网络掩码?有命令可以获取吗?
答案1
这不可能。如果可能的话,就根本没有理由使用网络掩码,因为它可以自动确定。
网络掩码用于指定“网络”起始和终止的 IP 范围。这个范围是任意的。
例如,对于 IP 地址192.168.0.140
:
对于网络掩码255.255.255.0
(/24
以 cidr 表示法),IP 范围将为192.168.0.1 - 192.168.0.254
。
如果网络掩码为255.255.255.128
(/25
以 cidr 表示法),则 IP 范围将为192.168.0.129 - 192.168.0.254
.
答案2
在大多数情况下你不能,因为无阶级网络。给定的 IPv4 地址可以有 30 个不同的网络掩码。
答案3
网络掩码主要用于区分同一子网中的本地地址和只能通过网关访问的外部地址。
所以如果你知道全部(=当前或将来使用的)同一子网中的IP地址,您可以构造一个包含它们的网络掩码。例如,如果 192.168.2.4 和 192.168.2.253 应位于同一子网中,则网络掩码 255.255.255.0(等于 IP 范围 192.168.2.0-255 或以 cidr 表示法 192.168.2.0/24)有效。
答案4
尽管您无法直接在 centos 7 中根据 IP 地址确定网络掩码,但您可以输入“ip ad”,它将返回 IP 地址及其相应的子网号。
-bash-4.2$ ip ad 1: lo: mtu 65536 qdisc noqueue 状态未知 qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: mtu 1500 qdisc pfifo_fast 状态 UP qlen 1000
link/ether 00:16:3e:77:ca:e9 brd ff:ff:ff:ff:ff:ff
**inet 10.1.0.11/24** brd 10.1.0.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::216:3eff:fe77:cae9/64 scope link
valid_lft forever preferred_lft forever
子网号也存储在以下文件中
/etc/sysconfig/network-scripts/ifcfg-eth0(其中 eth0 取决于您的网卡类型)
查找 PREFIX 设置。它提供的数字是子网掩码
例如前缀=24
如果上述文件中没有 PREFIX 编号,那么您的服务器网络设置将默认为子网掩码 8,该子网掩码将再次从您的“ip ad”命令中显示。
如果您想更改 PREFIX 编号,请记住使用 systemctl restart network 重新启动网络服务。