创建国家IPSET
# 定义国家代码
GEOIP=cn
# 下载国家IP列表
wget -P /tmp http://www.ipdeny.com/ipblocks/data/countries/$GEOIP.zone
# GEPIP代码查看地址:http://www.ipdeny.com/ipblocks/data/countries/
# 创建规则
firewall-cmd --permanent --zone=public --new-ipset=$GEOIP --type=hash:net`
# 添加IP列表到IPSET中
for i in $(cat /tmp/$GEOIP.zone ); do
res=`firewall-cmd --permanent --zone=public --ipset=$GEOIP --add-entry=$i`
echo -e "添加IP($i)到IPSET($GEOIP)$res!"
done
# 删除IP列表文件
rm -f /tmp/$GEOIP.zone
开放服务
firewall-cmd --permanent --add-service=ssh
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
开放端口
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source ipset="cn" port port="3306" protocol="tcp" accept"
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source ipset="cn" port port="1000-2000" protocol="tcp" accept"
开放UDP
firewall-cmd --permanent --zone=public --add-port=1-65535/udp
服务器IP白名单
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="10.20.10.20" accept"
腾讯云内网IP白名单
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="10.0.0.0/8" accept"
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="172.16.0.0/12" accept"
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.0.0/16" accept"
常用命令
重载防火墙
firewall-cmd --reload
查询防火墙规则
firewall-cmd --list-all
新增IPSET
firewall-cmd --permanent --zone=public --new-ipset=ips --type=hash:net
删除IPSET
firewall-cmd --permanent --zone=public --delete-ipset=ips
查询IPSET
firewall-cmd --permanent --get-ipsets
修改IPSET(添加IP)
firewall-cmd --permanent --zone=public --ipset=ips --add-entry=10.20.10.20
添加富规则
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source ipset="cn" port port="1000" protocol="tcp" accept"
family: 协议类型
source: 源地址
ipset: 使用IPSET地址
address: 使用IP地址
port: 开放端口
protocol: 协议
accept: 接受
reject: 拒绝
删除富规则
firewall-cmd --permanent --remove-rich-rule="rule family="ipv4" source ipset="cn" port port="1000" protocol="tcp" accept"
网友评论