在管理网络时,您无疑需要处理子网划分。有些网络管理员能够在脑中快速进行二进制运算来确定子网掩码。然而,其他人可能需要一些帮助,这正是 ipcalc 工具大显身手的地方。
Ipcalc 实际上能做的远不止于此——它接收一个 IP 地址和网络掩码,并提供计算得出的广播地址、网络地址、Cisco 通配符掩码以及主机范围。您还可以将其用作教学工具,以易于理解的二进制值来展示子网划分结果。
ipcalc 的一些用途包括:
- 验证 IP 地址
- 显示计算出的广播地址
- 显示通过 DNS 确定的主机名
- 显示网络地址或前缀
如何在 Linux 中安装 ipcalc
要安装 ipcalc,只需根据您使用的 Linux 发行版运行以下命令之一即可。
$ sudo apt install ipcalc
ipcalc 软件包应在 CentOS/RHEL/Fedora 下自动安装,它是 initscripts 软件包的一部分,但如果由于某种原因缺失,您可以使用以下命令进行安装:
# yum install initscripts #RHEL/CentOS
# dnf install initscripts #Fedora
如何在 Linux 中使用 ipcalc
下面您可以看到一些使用 ipcalc 的示例。
获取有关网络地址的信息:
# ipcalc 192.168.20.0
示例输出
Address: 192.168.20.0 11000000.10101000.00010100. 00000000
Netmask: 255.255.255.0 = 24 11111111.11111111.11111111. 00000000
Wildcard: 0.0.0.255 00000000.00000000.00000000. 11111111=>
Network: 192.168.20.0/24 11000000.10101000.00010100. 00000000
HostMin: 192.168.20.1 11000000.10101000.00010100. 00000001
HostMax: 192.168.20.254 11000000.10101000.00010100. 11111110
Broadcast: 192.168.20.255 11000000.10101000.00010100. 11111111
Hosts/Net: 254 Class C, Private Internet
为 192.168.20.0/24 计算子网。
# ipcalc 192.168.20.0/24
示例输出
Address: 192.168.20.0 11000000.10101000.00010100. 00000000
Netmask: 255.255.255.0 = 24 11111111.11111111.11111111. 00000000
Wildcard: 0.0.0.255 00000000.00000000.00000000. 11111111=>
Network: 192.168.20.0/24 11000000.10101000.00010100. 00000000
HostMin: 192.168.20.1 11000000.10101000.00010100. 00000001
HostMax: 192.168.20.254 11000000.10101000.00010100. 11111110
Broadcast: 192.168.20.255 11000000.10101000.00010100. 11111111
Hosts/Net: 254 Class C, Private Internet
计算包含 10 台主机的单个子网:
# ipcalc 192.168.20.0 -s 10
示例输出
Address: 192.168.20.0 11000000.10101000.00010100. 00000000
Netmask: 255.255.255.0 = 24 11111111.11111111.11111111. 00000000
Wildcard: 0.0.0.255 00000000.00000000.00000000. 11111111=>
Network: 192.168.20.0/24 11000000.10101000.00010100. 00000000
HostMin: 192.168.20.1 11000000.10101000.00010100. 00000001
HostMax: 192.168.20.254 11000000.10101000.00010100. 11111110
Broadcast: 192.168.20.255 11000000.10101000.00010100. 11111111
Hosts/Net: 254 Class C, Private Internet1.
Requested size: 10 hosts
Netmask: 255.255.255.240 = 28 11111111.11111111.11111111.1111 0000
Network: 192.168.20.0/28 11000000.10101000.00010100.0000 0000
HostMin: 192.168.20.1 11000000.10101000.00010100.0000 0001
HostMax: 192.168.20.14 11000000.10101000.00010100.0000 1110
Broadcast: 192.168.20.15 11000000.10101000.00010100.0000 1111
Hosts/Net: 14 Class C, Private Internet
Needed size: 16 addresses.
Used network: 192.168.20.0/28
Unused:192.168.20.16/28192.168.20.32/27192.168.20.64/26192.168.20.128/25
如果您想抑制二进制输出,可以使用 -b 选项,如下所示。
# ipcalc -b 192.168.20.100
示例输出
Address: 192.168.20.100
Netmask: 255.255.255.0 = 24
Wildcard: 0.0.0.255=>
Network: 192.168.20.0/24
HostMin: 192.168.20.1
HostMax: 192.168.20.254
Broadcast: 192.168.20.255
Hosts/Net: 254 Class C, Private Internet
要了解有关 ipcalc 用法的更多信息,您可以使用:
# ipcalc --help# man ipcalc
您可以在 http://jodies.de/ipcalc 找到 ipcalc 的官方网站。