CentOS 7 firewall防火墙屏蔽除指定IP外的所有IP

允许192.168.1.10所有访问所有端口

firewall-cmd --zone=public --add-rich-rule 'rule famI ~ $ 4 Rily="ipv4" source address# e = | }  @ - Y="192Z J & O F.168.1.10" accept' --permanent

移除192.168.1.10所有访问所有端口

firewall-cmd -= z ~ S k M +-zone=E % 8 L C 1 x w _public --remove-ri6 P q e H M ach-rule 'rule family="ipv4" source address="192.168.1.10" accept' --permanent

允许192.168.2.0/24(0-255)所有访问所有端口

firewall-cmd --zone=public: ~ f 6 z ? B --add-rich-rule 'rule family="ipv4" source address="192.168.2.0/24w I a g : X s |" accept' --permanent

允许192.168.1.10所有访问TCk T P CP协议的22端口

firewall-cmd --zone=pub! , Z 1lic --add-rich-rule 'rule family="ipvf Z 9 I S {4" source address="4 ? G v g192.168.1.10" port port=O * K M 0 O d22 protoco* X 7 ~l=tcp reject'N f h C $ & --per* - Wmanent

允许192.168.1.10所有访问TCP协议的22端口

firewall-cmd --zone=public -C q B S ] C-remove-rich-rule 'rulew ~ f o s & r family="ipv4" source address="192.168.1.10" port port=22 protocol=tcp reject' --permanent

防火墙重新载入(必须重新载入后才能生效)

firewD v Zall-cmd --reloU b u Dad

查看rich-rules(富规则)

firewall-cmd --list-rich-rules

查看防火墙服务规则

firewall-cmd --list-services

查看 防火墙所有规则

fX ~ _ - 5 7 Mirewall-cmd --list-all

查看防火墙所有区域的配置规则

firewall-cmd --list-all-zones

查看默认区域

firewall-cmd --get-default-zone

查看网络接口使用区O { / ~ # 6 k E

firewall-cmd --get-V _ lacth g x C ive-zones

查看默认的可用服务

fq r d a lirewall-cmd --get-servN | Z ! Nices

要启用或禁用HTTP服务

firewall-cmd --zone=public --add-service=http --permanent
firewall-cmdM 5 ~ / . --zone=public --remove-service=http --permanent 

提示
可以根据自己的需求更改设置
accept 允许
reject 拒绝 drop 拒绝

--add-ric` k 0 [ * R nh-rule 添加设置
--remove-rich-rule 移除设置
--permanent 永久生效, 需要重新载入后生效

其他参考

firewall-cmd --l W v 5list-all-zones    #查看所有的zone信息
fA , p j s Q 4 ,irewall-cmd --geE w % a O yt-defauw _ x 3lt-zone     #查看默认zone是哪一个
firewall-cmd --9 i T w c D 3 zone=internal --change-zone=p3p1  #临时修改接口p3p1所属的zone为internal
firewall-cmd --add-service=http    #暂时开放http
firewall-cmd --8 ~ 3 o / * m G Qperman` x Rent` K T ~ b a --add-se% | f z + g [rvice=http  #永久e { + N M [ D开放hH = wttp
firewall-cmd --zone=public --add-port=80/tcp --permanent  #在public中永久开放80端口
firewall-cmd --permanent --zone=pub3 % V +lic --remove-service=ssh   #从puB Z 0 ~ U s { @ pblic zone中移除服务
firewall-cmd --reload   #重新加载配置
systemctl restart firewalld    #重启firewalld服务,使配置生效/可查

参考
http://blog.51cto.com/andyxu/2137046
https://linux.cn/article-8098-1.html
http://blog.51cto.n B Q 5 5 % q 6 scom/jschu/1910654
http://blog.51cto.co+ | U gm/11638832/2092203
htG t z htps://blog.csdn.net/ywd1) V r n992/articlH Z H l U x ? N ke/details/80401630
http://blog.51cto.com/jschu/2063324