CentOS7开启防火墙及特定端口

平常测试都是直接把本机防火墙关闭,在外网防火墙进行管理。由于最近攻击比较频繁,LD要求本机防火墙必须开启。那就不得不好好学习下本机防火墙知识。
防火墙守护 firewalld 服务引入了一个信任级别的概念来管理与之相关联的连接与接口。它支持 ipv4 与 ipv6,并支持网桥,采用 firewall-cmd (command) 或 firewall-config (gui) 来动态的管理 kernel netfilter 的临时或永久的接口规则,并实时生效而无需重启服务。

1, 首先查看防火墙状态:

firewall-cmd --state
systemctl status firewalld.service

2, 开启防火墙,

systemctl start firewalld.service
#设置开机自启:
systemctl enable firewalld.service

3, 重启防火墙:

systemctl restart firewalld.service

4, 查看防火墙设置开机自启是否成功:

systemctl is-enabled firewalld.service;echo $?

以上就是开启防火墙相关步骤

FireWall 域的概念

在进行firewalld配置之前,我想来讨论一下区域(zones)这个概念。默认情况就有一些有效的区域。我们需要网络接口分配区域。区域规定了区域是网络接口信任或者不信任网络连接的标准。区域(zone)包含服务和端口。接下来让我们讨论Firewalld中那些有用的区域(zones)。

zone
drop: 丢弃所有进入的包,而不给出任何响应
block: 拒绝所有外部发起的连接,允许内部发起的连接
public: 允许指定的进入连接
external: 同上,对伪装的进入连接,一般用于路由转发
dmz: 允许受限制的进入连接
work: 允许受信任的计算机被限制的进入连接,类似 workgroup
home: 同上,类似 homegroup
internal: 同上,范围针对所有互联网用户
trusted: 信任所有连接
过滤规则

source: 根据源地址过滤
interface: 根据网卡过滤
service: 根据服务名过滤
port: 根据端口过滤
icmp-block: icmp 报文过滤,按照 icmp 类型配置
masquerade: ip 地址伪装
forward-port: 端口转发
rule: 自定义规则
其中,过滤规则的优先级遵循如下顺序

1.source
2.interface
3.firewalld.conf

开启特定端口

在开启防火墙之后,我们有些服务就会访问不到,是因为服务的相关端口没有打开。
在此以打开80端口为例
命令:

开端口命令:firewall-cmd --zone=public --add-port=80/tcp --permanent
重启防火墙:systemctl restart firewalld.service

命令含义:
 
--zone #作用域
 
--add-port=80/tcp  #添加端口,格式为:端口/通讯协议
 
--permanent   #永久生效,没有此参数重启后失效
#查看端口是否生效
netstat -ntlp
或:firewall-cmd --list-ports

你可能感兴趣的:(CentOS7开启防火墙及特定端口)