由于一般的路由器、防火墙等并不支持IP地址范围的方式,所以工作中经常要把IP地址范围转换成子网掩码的格式、CIDR格式、思科反向子网掩码格式等!
虽然windows下有些工具可以做到,可是使用起来不方便,功能也不够强大,而且进行批量转换的时候,无法写脚本实现!
无意中在linux下发现了netmask这个工具,功能强大,速度超快,结合脚本很容易实现批量转换!
先介绍一下这个工具:
netmaks可以在
IP范围、子网掩码、cidr、cisco等格式中互相转换,并且提供了IP地址的点分十进制、16进制、8进制、2进制之间的互相转换!
闲话少说,进入正题:
1、netmask的安装:
debian、ubuntu下安装很简单:
#
apt-get install netmask
centos、fedora、opensuse下面使用yum没有安装上,所以采用了源码的方式进行安装:
# wget
http://mirrors.sohu.com/ubuntu/pool/universe/n/netmask/netmask_2.3.12.tar.gz
# tar xf
netmask_2.3.12.tar.gz
#
cd netmask-2.3.12
#
./configure
#
make
#
make install
2、安装完成以后,先来看一下帮助文档:
# netmaks -h
This is netmask, an address netmask generation utility
Usage: netmask spec [spec ...]
-h,
--help
Print a summary of the options
-v,
--version
Print the version number
-d,
--debug
Print status/progress information
-s,
--standard
Output address/netmask pairs
转换到标准的 ip地址/子网掩码
-c,
--cidr
Output CIDR format address lists
转换到CIDR格式
-i,
--cisco
Output Cisco style address lists
转换到Cisco反向子网掩码
-r,
--range
Output ip address ranges
转换到IP地址范围
-x,
--hex
Output address/netmask pairs in hex