Linux下的防火墙

Linux下防火墙简介
Linux下防火墙有两种分别是iptables和firewalld,在centos7之前centos用的防火墙是iptables,自从centos7过后防火墙的使用就从iptables变成了firewalld。防火墙的作用是根据系统管理员设定的规则来控制数据的包的进出,今天我们来重点介绍firewalld防火墙

相较于传统的防火墙管理工具,firewalld加入了zone(区域)的概念,区域对我来说就是他给你整理了几套模板,我们可以通过不同的场景从而进行不同的选择,实现了防火墙策略之间的快速切换

zone区域分类


         当我们创建一台Linux系统后,我们的默认firewalld防火墙的区域属于public区域,如果我们不做更改的话,后续所安装的服务将都在public区域

 

firewalld防火墙命令
firewalld防火墙简单命令用法
firewall-cmd --get-zones   //列出firewalld下的区域

 

firewall-cmd --set-default-zone=trusted  //设置默认区域为trusted

 

firewall-cmd --get-default-zone //查看当前默认区域

 

systemctl stop firewalld //临时关闭防火墙

 

systemctl start firewalld //启动防火墙

 

systemctl restart firewalld //重启防火墙

 

systemctl enable firewalld //设置firewalld防火墙开机自启

 

systemctl disable firewalld //永久关闭防火墙

 

firewall-cmd --add-service=http //临时放行服务,使其他人可以访问服务,当服务器重启过后此规则,则会没有,如果没有指定防火墙区域的话,此规则在默认区域

 

firewall-cmd --permanent --add-service=http //永久放行防火墙,但是需要重启一下防火墙,或者重新加载一下防护墙规则

 

firewall-cmd --reload //重载防火墙规则

 

firewall-cmd --add-port=8080/tcp //防火墙临时放行端口

 

firewall-cmd --permanent --add-port=8080/tcp //防火墙永久放行防火墙端口

 

firewall-cmd --remove-port=8080/tcp //防火墙移除放行端口规则

 

firewall-cmd --list-all //查看防火墙默认区域的放行规则

 

firewall-cmd --add-service=http --zone=trusted //指定防火墙放行服务区域

 

firewall-cmd --remove-interface=ens33 --zone=public //将网卡从默认区域中移除出来

 

firewall-cmd --add-interface=ens33 --zone=trusted //将网卡添加到指定的区域里面

 

firewall-cmd --zone=trusted --list-all //查看指定防火墙区域的放行规则防火墙富规则命令用法列子防火墙富规

 

firewall-cmd --direct --add-rule ipv4 filter INPUT 1 -s 192.168.10.20 -p tcp --dport 80 -j REJECT //拒绝IP为192.168.10.20的访问tcp的80端口 --direct 规则 --add-rule 添加规则 ipv4 filter 指定为ipv4的filter表 INPUT 链 -s 数据来源 -p采用的协议 --dport 目的地端口 -j 行为动作

 

客户端对这条富规则进行测试 

 

 防火墙下面的表和链

防火墙下四表五链介绍
防火墙下面有四个表和五个链他们分别用于防火墙处于各个地点和时间的用户

四表:filter表、nat表、mangle表、raw表

五链:PREROUTING链、INPUT链、OUTPUT链、FORWARD链、POSTROUTING链。

四个表的各个功能

filetr表负责过滤功能;

nat表负责网络地址转换;

mangle表负责拆解报文,作出修改,封装报文;

raw表负责关闭nat表上启用的连接追踪机制,确定是否对该数据包进行状态跟踪

五个链的各个功能

PREROUTING链用于数据包进入路由之前的数据;

INPUT链用于处理访问防火墙本机的数据;

OUTPUT链用于处理防火墙本机访问其他主机的数据;

FORWARD链用于处理需要经过防火墙转发的数据包,源地址,目标地址均不是防火墙本地的数据;POSTROUTING链用于处理确认路由后的数据

四表五链的对于关系
filter表中包含了三个规则链分别是:INPUT链、FORWARD链、OUTPUT链;

nat表中也是包含了三个规则链:PREROUTING链、POSTROUTING链、OUTPUT链;

mangle表中则是把五个规则链全包含了;

raw表中包含了两条规则链:OUTPUT链、PREROUTING链;

在处理各种数据包时,五个规则链的应用时间点

INPUT链:当接收到防火墙本机地址的数据包(入站)时,应用此链中的规则

OUTPUT链:当防火墙本机向外发送数据包(出战)时,应用此链中的规则

FORWARD链:当接收到需要通过防火墙发送给其他地址的数据包(转发)时,应用此链中的规则PREROUTING链:在对数据包作路由选择之前,应用此链中的规则

POSTROUTING链:在对数据包作路由选择之后,应用此链中的规则

四个表的优先级
当数据包到达防火墙时,数据会依次应用raw表、mangle表、nat表和filter表中对于的链内规则
————————————————
版权声明:本文为CSDN博主「不想上课。」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_61344379/article/details/127448891

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Linux上开启防火墙,可以按照以下步骤进行操作: 1. 使用命令`systemctl start firewalld`来启动防火墙服务。 2. 使用命令`firewall-cmd --zone=public --add-port=1935/tcp --permanent`来开放指定的端口。其中,`--zone`参数指定作用域,`--add-port`参数后面跟着端口号和通信协议,`--permanent`参数表示永久生效。 3. 使用命令`firewall-cmd --reload`来重新加载防火墙配置,使新的端口设置生效。 另外,你也可以使用命令`netstat -ntlp`来查看当前系统上所有已经打开的TCP端口。如果你只想查看特定端口(比如1935端口)的使用情况,可以使用命令`netstat -ntulp | grep 1935`。 这样,你就成功地在Linux上开通了防火墙。请注意,以上操作需要以root用户或具有sudo权限的用户身份执行。<span class="em">1</span><span class="em">2</span> #### 引用[.reference_title] - *1* [linux 开启防火墙](https://blog.csdn.net/qq_40711092/article/details/127098853)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [LINUX防火墙的研究与实现(详细配置)](https://download.csdn.net/download/yuanshiyin/2974899)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值