centos7 Firewalld操作集合

===============================================

 2019/4/15_第1次修改                       ccb_warlock

 

===============================================

由于一直使用centos7的环境,所以接触的防火墙比较多的是firewalld而不是iptable,之前一直没有好好总结过firewalld的用法,这次做个整理。

我将firewall-cmd命令的操作分成了2部分:常用和其他。其中常用是我在最近几年使用centos7时用的次数较多的操作。

 


一、常用操作

1)重新加载配置

firewall-cmd --reload

 

2)查看所有配置

firewall-cmd --list-all

 

3)查看当前开放的端口(允许任意IP访问)

firewall-cmd --zone=public --list-ports

 

4)开放指定端口(允许任意IP访问)

以开放80端口为例

firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload

PS. --permanent为永久生效,没有此参数centos重启后该配置将失效

 

5)移除端口(允许任意IP访问的端口)

以撤销80端口的开放为例

firewall-cmd --zone=public --remove-port=80/tcp --permanent
firewall-cmd --reload

PS. --permanent为永久生效,没有此参数centos重启后该配置将失效

 

6)查看允许指定IP访问端口的规则

firewall-cmd --zone=public --list-rich-rules

 

7)开放指定端口(只允许指定IP访问)

以“只允许192.168.1.1的主机连接3306端口”为例

firewall-cmd --add-rich-rule="rule family="ipv4" source address="192.168.1.1" port protocol="tcp" port="3306" accept" --permanent
firewall-cmd --reload

PS. --permanent为永久生效,没有此参数centos重启后该配置将失效

 

8)移除规则(只允许指定IP访问的端口)

以“移除只允许192.168.1.1的主机连接3306端口”为例

firewall-cmd --remove-rich-rule="rule family="ipv4" source address="192.168.1.1" port protocol="tcp" port="3306" accept" --permanent
firewall-cmd --reload

PS. --permanent为永久生效,没有此参数centos重启后该配置将失效

 

9)移除默认的ssh服务

移除默认的ssh服务前,先确认是否已经额外开放了22端口,否则会导致无法使用ssh远程连接。

firewall-cmd --remove-service=ssh --permanent
firewall-cmd --reload

PS. --permanent为永久生效,没有此参数centos重启后该配置将失效 

 

10)查看某个端口是否开放

以检查80端口为例(yes:开放;no:未开放)

firewall-cmd --zone=public --query-port=80/tcp

 

11)TCP端口转发 

# 允许防火墙伪装IP

firewall-cmd --add-masquerade

 

# 将本地80端口的流量转发到192.168.1.1的80端口

firewall-cmd --add-forward-port=port=80:proto=tcp:toaddr=192.168.1.1:toport=80 --permanent

PS. --permanent为永久生效,没有此参数centos重启后该配置将失效

 


二、其它操作

查看版本:firewall-cmd --version

查看帮助: firewall-cmd --help

查看状态: firewall-cmd --state

查看区域信息: firewall-cmd --get-active-zones

查看指定接口所属区域: firewall-cmd --get-zone-of-interface=eth0

拒绝所有包:firewall-cmd --panic-on

取消拒绝状态: firewall-cmd --panic-off

查看是否拒绝: firewall-cmd --query-panic

 


参考资料:

1.https://www.cnblogs.com/moxiaoan/p/5683743.html

2.https://blog.csdn.net/qguanri/article/details/51673845

 

posted @ 2019-04-15 23:59  粽先生  阅读(7183)  评论(0编辑  收藏  举报