
如何從 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.4)有效。
答案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 重新啟動網路服務。