一、问题情况
因业务问题,服务器写了一个IP屏蔽脚本用于指定时间内屏蔽访问过多的IP,但是由于公司有非固定IP,也会跟着一起被屏蔽。就写个脚本做个加白处理。
二、解决办法
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
touch /root/ipwhite.txt vim /root/ipwhitelist.sh ##下面是脚本内容 #!/bin/sh #读取历史外网IP oldip=$(cat /root/ipwhite.txt) #获取最新外网IP myip=$(host www.1987619.com|awk '{print $4}') if [ "${myip}" = "" ]; then exit; else if [ "${oldip}" = "${myip}" ]; then #历史最新IP一致退出 exit; else #记录最新外网IP echo ${myip} > /root/ipwhite.txt #请求更新解析记录 /usr/sbin/ipset add whitelist ${myip} fi fi |
然后加个crontab定时任务就好了.如果遇到域名多IP解析的话可以用Dnsmasq获取下域名对应的IP.