linux防火墙firewall详细讲解

本文详细介绍了CentOS7中默认的防火墙工具firewalld,包括它与iptables的区别,如动态策略更新和便捷性。firewalld提供了不同的安全区域,如public、trusted等,用于设定不同级别的网络访问权限。此外,还阐述了如何进行服务、端口和端口转发的管理,以及firewalld的安装、启动和状态检查等基本操作。
摘要由CSDN通过智能技术生成

防火墙(firewall)

what

1、简介

1、Centos7 默认的防火墙是 firewall,替代了以前的 iptables

2、firewall 使用更加方便、功能也更加强大一些

3、Firewalld与iptables对比

​ - firewalld 是 iptables 的前端控制器

​ - iptables 静态防火墙 任一策略变更需要reload所有策略,丢失现有链接

​ - firewalld 动态防火墙 任一策略变更不需要reload所有策略 将变更部分保存到iptables,不丢失现有链接

​ - firewalld 提供一个daemon和service 底层使用iptables

​ - 基于内核的Netfilter

2、基本概念

2.1 Zone
  • 区域如同进入主机的安全门,每个区域都具有不同限制程度的规则
  • 网络连接的可信等级,一对多,一个区域对应多个连接
  • 默认情况下,public区域是默认区域,包含所有接口(网卡)
drop 	拒绝所有的连接
block	拒绝所有的连接
public	 只允许指定的连接 (默认区域)
external	 只允许指定的连接
dmz		 只允许指定的连接
work	 只允许指定的连接
home	 只允许指定的连接
internal	 只允许指定的连接
trusted	 允许所有的连接

2.2 运行时配置和永久配置
–-permanent    永久配置 //需要--reload 重启才能生效
–-runtime     运行时配置(默认)

how

1、安装

centos 默认自带firewall,如果没有则需要自行安装

#yum -y install firewalld firewall-config

2、服务使用

systemctl 选项 firewalld

选项:
    stop:关闭
    start:开启
    restart:重启
    status:状态
    is-enabled:查看是否开机自启
    enable:  开机自启
	disable: 关闭开机自启

3、命令的使用(firewalld-cmd)

firewall 可以看成整个防火墙服务,而 firewall-cmd 可以看成是其中的一个功能,可用来管理端口

3.1 域操作
--get-zones 				查看所有可用区域
--get-default-zone					显示网络接口的默认区域
--set-default-zone				设置网络接口的默认区域
--get-active-zones					显示已激活的所有区域
--get-zone-of-interface		显示指定接口绑定的区域

[–-zone=区域类型] --add-interface=接口(网卡)		为指定接口绑定区域
[–-zone=区域类型] --change-interface=接口(网卡)		为指定的区域更改绑定的网络接口
[–-zone=区域类型] --remove-interface=接口(网卡)		为指定的区域删除绑定的网络接口

–query-interface=接口(网卡)							查询区域中是否包含某接口
--list-all-zones										显示所有区域及其规则

[–-zone=区域类型] --list-all							显示所有指定区域的所有规则

eg:

#为指定接口绑定区域(为ens33绑定work区域)
firewall-cmd --zone=work --add-interface=ens33
3.2 服务操作
[–-zone=区域类型] --list-services			显示指定区域内允许访问的所有服务
[–-zone=区域类型] --add-service			为指定区域设置允许访问的某项服务
[–-zone=区域类型] --remove-service	删除指定区域已设置的允许访问的某项服务
[–-zone=区域类型] --query-service			查询指定区域中是否启用了某项服务


eg:

要启用或禁用 HTTP 服务:
firewall-cmd --zone=public --add-service=http --permanent
firewall-cmd --zone=public --remove-service=http --permanent
firewall-cmd --reload

注意:开启服务等同于开放服务的端口,两者可选其一

3.3 端口/协议 操作
--list-ports       显示指定区域内允许访问的所有端口

--add-port        为指定区域设置允许访问的端口号
--remove-port     删除指定区域已设置的允许访问端口号

eg:

允许或者禁用 12345 端口的 TCP 流量。
firewall-cmd --zone=public --add-port=12345/tcp --permanent
firewall-cmd --zone=public --remove-port=12345/tcp --permanent
firewall-cmd --reload
3.4 端口转发
--query-masquerade     检查是否允许 NAT 转发
--add-masquerade       开启 NAT 转发
--remove-masquerade    禁止防火墙 NAT 转发 

--add-forward-port     增加nat端口转发规则
--remove-forward-port  删除nat端口转发规则\

语法:
port=portid : proto=protocol : toport=portid : [toaddr=address[/mask]]

eg:

#将本机80端口转发到192.168.1.1的8080端口上
firewall-cmd --add-forward-port=port=80:proto=tcp:toport=8080:toaddr=192.168.1.1 --permanent
  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值