由于一般的路由器、防火墙等并不支持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没有安装上,所以采用了源码的方式进行安装:
#wgethttp://mirrors.sohu.com/ubuntu/pool/universe/n/netmask/netmask_2.3.12.tar.gz
#tar xfnetmask_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