900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > IP白名单(iptables + ipset :允许国内ip + 自定义ip 访问系统udp端口)

IP白名单(iptables + ipset :允许国内ip + 自定义ip 访问系统udp端口)

时间:2019-02-05 22:29:31

相关推荐

IP白名单(iptables + ipset :允许国内ip + 自定义ip 访问系统udp端口)

##########################

## IP白名单(iptables + ipset :允许国内ip + 自定义ip 访问系统udp端口)

##########################

1、安装 ipset

yum install ipset

#创建china 国内ip集

ipset create china hash:net hashsize 10000 maxelem 1000000

#查看china 国内ip集

ipset list china

2、

添加国内ip集合

mkdir /var/ipset/#创建目录

touch /var/ipset/callcenter.zone #创建callcenter.zone(自定义ip集存放文件)

#上传本地国内ipset集合china.zone

#上传脚本文件

ipset_china.sh #更新加载国内ip集

#!/bin/bashPATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bincd /var/uncall/ipset/#加载内部ipsetfor i in `cat china.zone`doipset add china $idone#更新国内ip集合rm cn.zone -f wget /ipblocks/data/countries/cn.zonefor i in `cat cn.zone`doipset add china $idone

upIpsetFornSql.php #加载callcenter数据库数据到callcenter.zone

check_callcenter_ipset.sh #加载callcenter数据库数据到callcenter.zone(调用upIpsetFornSql.php),并同步callcenter.zone 到callcenter的ip集

#!/bin/bash#####同步数据库的ip集到/var/uncall/ipset/callcenter.zone;更新ipset中callcenter的ip集####PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/binpackage=/var/uncall/ipset/callcenter.zone# 检测的文件是否变化# 记录 md5值的文件md5=package_md5# 创建新的md5信息package_md5_new=$(md5sum -b $package | awk '{print $1}'|sed 's/ //g')# 创建md5的函数function creatmd5(){echo $package_md5_new > $md5}#同步callcenter数据库中的ip集到 /var/uncall/ipset/callcenter.zone/var/uncall/ipset/upIpsetFornSql.php# 判断文件是否存在if [ ! -f $md5 ] ; thenecho "md5file is not exsit,create md5file......."creatmd5exitfi# 读取旧的md5信息package_md5_old=$(cat $md5|sed 's/ //g')echo $package_md5_newecho $package_md5_old# 判断callcenter.zone是否变化,变化则更新callcenter的ip集if [ "$package_md5_new" == "$package_md5_old" ];thenecho "md5 is not changed"elseecho "md5 is changed"creatmd5ipset destroy callcenter ipset create callcenter hash:net hashsize 10000 maxelem 1000000for i in `cat /var/uncall/ipset/callcenter.zone`doipset add callcenter $idonefi

#修改执行权限

chmod +xipset_china.sh upIpsetFornSql.php check_callcenter_ipset.sh

3、

开机启动:开机加载china 国内ip集

/var/ipset/ipset_china.sh > /dev/null &

定时脚本: 同步呼叫中心ip集(每分钟同步一次);联网更新国内ip集(每天23:59更新)

* * * * * root /var/ipset/check_callcenter_ipset.sh > /dev/null &

59 23 * * * root /var/ipset/ipset_china.sh > /dev/null &

4、创建基本iptables规则

vim /etc/sysconfig/iptables

*filter

-A INPUT -p udp -m set --match-set china src -j ACCEPT

-A INPUT -p udp -m set --match-set callcenter src -j ACCEPT

-A INPUT -p udp -j DROP

COMMIT

5、导入表iptables_white.sql;上传web文件;配置菜单

6、重启iptables 、 crond

service iptables restart

service crond restart

参考链接:

/qq_38344855/article/details/109446260

/diyiday/article/details/93077288

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。