首先安装ipcalc (CentOS下面的ipcalc和debian下面的不一样,要么你们自己改算法,要么移植吧。)
apt-get install ipcalc
[bash]#设置外网接口
dev=wan
#取得文件进行计算
wget http://chnroutes.googlecode.com/files/routes.txt -q -O - |awk '{print $2,$3}' |while read line;
do
ipcalc $line |grep -oP '\d+\.\d+\.\d+\.\d+\/\d{1,2}'
done |awk -v dev=$dev '{print "ip route add dst-address="$1" gateway="dev}' [/bash]
得到类似
ip route add dst-address=61.47.128.0/18 gateway=wan
ip route add dst-address=61.48.0.0/13 gateway=wan
ip route add dst-address=61.87.192.0/18 gateway=wan
ip route add dst-address=61.128.0.0/10 gateway=wan
ip route add dst-address=61.232.0.0/14 gateway=wan
ip route add dst-address=61.236.0.0/15 gateway=wan
ip route add dst-address=61.240.0.0/14 gateway=wan
的规则 通过命令行接口粘贴到ROS里面执行即可
wan口换成自己的实际端口
Debian5的grep没有-P选项 可以使用pcregrep -o临时替代
chnroutes的作者似乎不再想维护这个项目了,不过这个分支https://github.com/GutenYe/chnroutes 实现了RouterOS脚本的支持
非常不错,感谢楼主的认真.