CentOS7 firewall-cmd 基础使用

firewall有几个分区(zone):

drop任何流入网络的包都被丢弃,不作出任何响应。只允许流出的网络连接。
block任何进入的网络连接都被拒绝,并返回 IPv4 的 icmp-host-prohibited 报文或者 IPv6 的 icmp6-adm-prohibited 报文。只允许由该系统初始化的网络连接。
public用以可以公开的部分。你认为网络中其他的计算机不可信并且可能伤害你的计算机。只允许选中的连接接入。
external用在路由器等启用伪装的外部网络。你认为网络中其他的计算机不可信并且可能伤害你的计算机。只允许选中的连接接入。
dmz用以允许隔离区(dmz)中的电脑有限地被外界网络访问。只接受被选中的连接。
work用在工作网络。你信任网络中的大多数计算机不会影响你的计算机。只接受被选中的连接。
home用在家庭网络。你信任网络中的大多数计算机不会影响你的计算机。只接受被选中的连接。
internal用在内部网络。你信任网络中的大多数计算机不会影响你的计算机。只接受被选中的连接。

然后就是简单地使用方法:

要使定义的协议永久生效,需要加一句 --permanent,--zone不写则使用默认区域

设置默认区域:

firewall-cmd --set-default-zone=public

查询默认区域:

firewall-cmd --get-default-zone


添加指定端口:

firewall-cmd --zone= --add-port=[-]/ [--timeout=]


允许外部连接接入,端口1234,TCP协议:

firewall-cmd --zone=public --add-port=1234/tcp

移除允许的端口:

 firewall-cmd [--zone=] --remove-port=[-]/


查询端口是否启用:

 firewall-cmd [--zone=] --query-port=[-]/


启用一项服务:

firewall-cmd --permanent [--zone=] --add-service=

禁用一项服务:

firewall-cmd --permanent [--zone=] --remove-service=

查询一项服务是否启用:

 firewall-cmd --permanent [--zone=] --query-service=

重新加载防火墙规则:

不用重启服务:

firewall-cmd --reload

会重启服务:

firewall-cmd --complete-reload
如果还不行,可以用用:

service firewalld restart

这么多差不多能简单的设置一下firewall,具体可以看:https://fedoraproject.org/wiki/FirewallD/zh-cn

感谢博客:http://www.cnblogs.com/knitmesh/p/5456852.html

你可能感兴趣的:(Linux)