centos7 禁止ip访问_shell脚本代码如何屏蔽IP访问网站centos7

首先想要屏蔽ip地址访问我们的网站,要找到错误文件文件日志。找出ip,本教程是apache服务器为代表。

1.用到的技术是centos7 firewall的命令

2.cat,grep,awk的用法

好了,不多说了直接代码解释,下面就是shell代码屏蔽加入防火墙的代码。

#!/bin/sh

#找到ip访问网站的错误日志

filepath=/var/log/httpd/error_log

#读取符号规则IP地址

for i in cat ${filepath}|grep -w "http://你的服务器IP地址"|sed -e 's/.*\[client\s\(.*\)\:[0-9]\{1,\}\].*/\1/g'|sort|uniq -c|sort -rn|awk '/\s/{print $2}'

do

#判断是否为自己ip地址

if [[ ${i} = “127.190.132.18” ]]

then

#自己的ip不屏蔽

continue

else

#屏蔽ip查询

FIREIP=”/usr/bin/firewall-cmd --list-all”

checkip=$(echo ${FIREIP} 2>/dev/null |grep -nw ${i}|awk -F “:” ‘{print $1}’)

#得出IP地址,如果ip地址不存在则要加入防火墙。

if [[ ${checkip} == “” ]]

then

#加入防火墙,大功告成。

firewall-cmd –add-rich-rule “rule family=ipv4 source address=${i} reject”

fi

fi

done

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值