Firewalld基本配置

创建国家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"

你可能感兴趣的:(Firewalld基本配置)