如果需要做聯通電信的智能DNS,必然需要知道這兩個ISP分配到的IP段。我們可以通過apnic下載完整的IP段,再查詢IP的whois,再根據各運營商的關鍵詞(如聯通的netname是unicom,電信是chinanet或telecom)篩選出IP段。
下面是實現這一功能的腳本:
在執行腳本之前先安裝jwhois,bc
yum install jwhois bc #!/bin/sh FILE=/root/apnic/ip_apnic rm -f $FILE wget http://ftp.apnic.net/apnic/stats/apnic/delegated-apnic-latest -O $FILE grep 'apnic|CN|ipv4|' $FILE | cut -f 4,5 -d'|'|sed -e 's/|/ /g' | while read ip cnt do echo $ip:$cnt mask=$(cat << EOF | bc | tail -1 pow=32; define log2(x) { if (x<=1) return (pow); pow--; return(log2(x/2)); } log2($cnt) EOF) echo $ip/$mask>> cn.net if whois [email protected] | grep -i ".*chinanet.*\|.*telecom.*">/dev/null;then echo $ip/$mask >> chinanet elif whois [email protected] | grep -i ".*unicom.*">/dev/null;then echo $ip/$mask >> unicom else echo $ip/$mask >> others fi done
直接執行這腳本就會開始進行IP段篩選,這需要一定的時間,等完成後會在當前目錄下生成三個文件unicom,chinanet,others。
轉載自:https://www.centos.bz/2012/02/automatic-get-unicom-chinanet-new-ip-ranges/