CentOS7开启防火墙及特定端口
2019-06-24 本文已影响0人
Kandy
平常测试都是直接把本机防火墙关闭,在外网防火墙进行管理。由于最近攻击比较频繁,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