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

参考屏蔽ip国家的ip段:

https://www.ipdeny.com/ipblocks/

http://ip.bczs.net/countrylist

1.查看下防火墙的状态:出现这个就是防火墙没开启

Stopping firewalld - dynamic firewall daemon

systemctl status firewalld

需要开启防火墙 systemctl start firewalld.service

1. 查看默认防火墙状态(关闭后显示notrunning,开启后显示running)
firewall-cmd --state
 
2. 查看防火墙规则(只显示/etc/firewalld/zones/public.xml中防火墙策略)
firewall-cmd --list-all
 
3. 查看所有的防火墙策略(即显示/etc/firewalld/zones/下的所有策略)
firewall-cmd --list-all-zones
 
4. 重新加载配置文件
firewall-cmd --reload

5.查看已经启动的服务列表
systemctl list-unit-files|grep enabled

允许192.168.1.10所有访问所有端口

firewall-cmd --zone=public --add-rich-rule 'rule family="ipv4" source address="192.168.1.10" accept' --permanent

移除192.168.1.10所有访问所有端口

firewall-cmd --zone=public --remove-rich-rule 'rule family="ipv4" source address="192.168.1.10" accept' --permanent

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

firewall-cmd --zone=public --add-rich-rule 'rule family="ipv4" source address="192.168.2.0/24" accept' --permanent

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

firewall-cmd --zone=public --add-rich-rule 'rule family="ipv4" source address="192.168.1.10" port port=22 protocol=tcp reject' --permanent

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

firewall-cmd --zone=public --remove-rich-rule 'rule family="ipv4" source address="192.168.1.10" port port=22 protocol=tcp reject' --permanent

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

firewall-cmd --reload

查看rich-rules(富规则)

firewall-cmd --list-rich-rules

查看防火墙服务规则

firewall-cmd --list-services

查看 防火墙所有规则

firewall-cmd --list-all

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

firewall-cmd --list-all-zones

查看默认区域

firewall-cmd --get-default-zone

查看网络接口使用区域

firewall-cmd --get-active-zones

查看默认的可用服务

firewall-cmd --get-services

要启用或禁用HTTP服务

firewall-cmd --zone=public --add-service=http --permanent
firewall-cmd --zone=public --remove-service=http --permanent 

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

--add-rich-rule 添加设置
--remove-rich-rule 移除设置
--permanent 永久生效, 需要重新载入后生效

其他参考

firewall-cmd --list-all-zones    #查看所有的zone信息
firewall-cmd --get-default-zone     #查看默认zone是哪一个
firewall-cmd --zone=internal --change-zone=p3p1  #临时修改接口p3p1所属的zone为internal
firewall-cmd --add-service=http    #暂时开放http
firewall-cmd --permanent --add-service=http  #永久开放http
firewall-cmd --zone=public --add-port=80/tcp --permanent  #在public中永久开放80端口
firewall-cmd --permanent --zone=public --remove-service=ssh   #从public zone中移除服务
firewall-cmd --reload   #重新加载配置
systemctl restart firewalld    #重启firewalld服务,使配置生效/可查

参考
http://blog.51cto.com/andyxu/2137046
https://linux.cn/article-8098-1.html
http://blog.51cto.com/jschu/1910654
http://blog.51cto.com/11638832/2092203
https://blog.csdn.net/ywd1992/article/details/80401630
http://blog.51cto.com/jschu/2063324

版权声明:
作者:wanghaha
链接:http://www.aiii.vip/461.html
来源:我的生活分享
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>