firewalld 防火墙

摘要:
防火墙防火墙实际上是一种隔离工具:它在主机或网络的边缘工作,根据预定义的网络规则来匹配和检测进出主机或网络中的数据包,可以处理规则匹配的消息的组件(该组件可以是硬件或软件):主机防火墙网络防火墙功能(也称为表)filter:filter,firewall nat:网络地址转换,网络地址转换
firewalld防火墙
 

firewalld简述

firewalld:防火墙,其实就是一个隔离工具:工作于主机或者网络的边缘
对于进出本主机或者网络的报文根据事先定义好的网络规则做匹配检测,
对于能够被规则所匹配的报文做出相应处理的组件(这个组件可以是硬件,也可以是软件):

  • 主机防火墙
  • 网络防火墙

firewalld 防火墙第1张

功能(也叫表)

filter:过滤,防火墙
nat:network address translation,网络地址转换
mangle:拆分报文,做出修改,在封装起来
raw:关闭nat表上启用的连接追踪功能

链(内置):

PREROUTING
INPUT
FORWARD
OUTPUT
POSTROUTING

数据报文的流向

流入:PREROUTING --> INPUT
流出:OUTPUT --> POSTROUTING
转发:PREROUTING --> FORWARD --> POSTROUTING

各功能可以在哪些链上实现

filter: INPUT,FORWARD,OUTPUT
nat:PREROUTING(DNAT),OUTPUT,INPUT,POSTROUTING(SNAT)
mangle: PREROUTING,INPUT,FORWARD,OUTPUT,POSTROUTING
raw:PREROUTING,OUTPUT

路由发生的时刻(PREROUTING,POSTROUTING)

报文进入本机后:
  判断目标主机
报文发出之前:
  判断经由哪个借口送往下一跳

添加规则时的考量点

(1)要实现什么功能:判断添加在哪张表上;
(2)报文流经的路径:判断添加在哪个链上;

firewalld优先级

策略应用优先级:raw, mangle, nat, filter
策略常用优先级:filter,nat,mangle,raw

链管理

-F: flush,清空规则链:省略链,表示清空指定表上的所有的链
-N: new,  创建新的自定义规则链:
-X: drop, 删除用户自定义的空的规则链-P: Policy, 为指定链这是默认策略,对filter表中的链而言,默认策略通常有ACCEPT,DROP,REJECT;

规则管理

-A:append,将新规则追加于指定链的尾部
-I:insert,将新规则插入至指定链的指定位置
-D:delete,删除指定链上的指定规则:

查看防火墙策略

-L:list, 列出指定链上的所有规则:
-n:number,以数字格式显示地址和端口号
-v:verbose,显示详细信息
  -vv,-vvv
--line-numbers:显示规则编号:

匹配条件

复制代码
-s, source:检查报文中源ip地址是否符合此处指定的地址范围
-d, destination:检查报文中ip地址是否符合此处指定的地址范围
-p, protocol(udp|tcp|icmp):检查报文中的协议
-i, input-interface:数据报文的流入接口:仅能用于PREROUTING,INPUT,FORWARD链上
-o, out-interface:数据报文的流出接口:仅能用于POSTROUTING,OUTPUT,FORWARD链上

 -j target:jump至指定的target
 ACCEPT:接受
 DROP:丢弃
 REJECT:拒绝
 RETURN:返回调用链
 REDIRECT:端口重定向
 LOG:记录日志
 MARK:做防火墙标记
 DNAT:目标地址转换
 SNAT:源地址转换
 MASQUERADE:地址伪装
 ....
 自定义链:由自定义链中的的规则进行匹配

复制代码

例子

filter表:

复制代码
清空所有策略:                                        iptables -F
清空自定义链:                                        iptables -X
自定义一个链                                         iptables -N old_forward
修改自定义链的名字                                    iptables -E old_forward new_forward
把filter中forward链的默认策略打成drop                  iptables -P FORWARD DROP                
查看filter表中的策略并且显示行数:                      iptables -L -n --line-number    
删除filter表中forward链中的第9条策略:                 iptables -t filter -D FORWARD 9



限制所有主机(0.0.0.0)拒绝ping本主机                    iptables -t filter -A INPUT -s 0.0.0.0 -d 192.168.254.24 -p icmp -j REJECT    
显示所有主机(0.0.0.0)拒绝通过ens33网卡ping本主机       iptables -t filter -A INPUT -d 192.168.254.24 -i ens33 -p icmp -j REJECT
复制代码

 nat表:

复制代码
    #源地址为192.168.250.0网段的ip地址经过防火墙都转换成192.168.31.100这个ip地址(SNAT:源地址转换)
    iptables -t nat -A POSTROUTING -s 192.168.250.0/24 ! -d 192.168.250.0/24 -j SNAT --to-source 192.168.31.100
    
    #访问目标地址为192.168.31.200这个机器并且是tcp协议80号端口的都转发给192.168.250.1(DNAT目标地址转换)
    iptables -t nat -A PREROUTING -d 192.168.31.200 -p tcp --dport 80 -j DNAT --to-destination 192.168.250.1:80

    #访问目标地址为192.168.31.200这个机器并且是tcp协议80号端口的都转发给192.168.31.100的9999号端口(DNAT目标端口地址转换)
    iptables -t nat -A PREROUTING -d 192.168.31.200 -p tcp --dport 80 -j DNAT --to-destination 192.168.31.100:9999
复制代码

免责声明:文章转载自《firewalld 防火墙》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Android provider中使用sqlite内存数据库java字符串比较是否都可直接使用==?下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

防火墙的核心技术及工作原理

防火墙的核心技术及工作原理防火墙是一种高级访问控制设备,置于不同网络安全域之间,它通过相关的安全策略来控制(允许、拒绝、监视、记录)进出网络的访问行为。防火墙的包含如下几种核心技术: 包过滤技术 包过滤技术是一种简单、有效的安全控制技术,它工作在网络层,通过在网络间相互连接的设备上加载允许、禁止来自某些特定的源地址、目的地址、TCP端口号等规则,对通过设...

(亲测)躺着破解IDM下载权限,治疗不用破解补丁的强迫症们

首先、如果触犯了某些规则权限,请原谅。 很早以前就做过这个的破解,挺实用的,我今天就把之前写的经验贴出来大家一起学习学习~~~ 今天利用这个方法破解了最新版,最终的效果如下所示:我不是来刷存在感的。只是好奇。为毛有的朋友不喜欢用破解补丁来破解的情况下,大神们缺不愿意分享下可行的办法? 开始了破解之旅: 简单说只用系统自带的防火墙不就解决战斗的事情,为毛还...

华为USG防火墙配置NAT映射回流解决内网通过公网映射访问内部服务器

标题有点绕,问题就是在公网出接口上配置了内网某台服务器的端口映射,内网的普通用户通过内网地址访问正常,但无法通过公网IP进行正常访问,拓扑图如下:   上图以出接口地址100.100.100.100:80映射为192.168.1.11:80为例,实际问题为192.168.1.100与192.168.1.110无法通过100.100.100.100:80进...

局域网无法访问vmware虚拟机WEB服务器解决办法

具体情况如下 : 环境:虚拟机服务器是centos,apache+php+mysql环境,但是局域网无法访问 1.本机能ping通虚拟机 2.虚拟机也能ping通本机 3.虚拟机能访问自己的web 4.本机无法访问虚拟己的web 后来发现是防火墙将80端口屏蔽了的缘故。 检查是不是服务器的80端口被防火墙堵了,可以通过命令: telnet {服务器ip}...

IPTABLES详解(10):IPTABLES自定义链

前提基础: 当主机收到一个数据包后,数据包先在内核空间中处理,若发现目的地址是自身,则传到用户空间中交给对应的应用程序处理,若发现目的不是自身,则会将包丢弃或进行转发。 iptables实现防火墙功能的原理是:在数据包经过内核的过程中有五处关键地方,分别是PREROUTING、INPUT、OUTPUT、FORWARD、POSTROUTING,称为钩子函数,...

Linux服务器防火墙白名单设置

 公司最近对网络安全抓的比较严,要求防火墙必须开启,但是项目的服务器有五六台,三台用于负载均衡,服务器之间必须要进行各种连接,那就只能通过添加白名单的方式。   登上服务器,编辑防火墙配置文件   vi /etc/sysconfig/iptables   把需要访问本台服务器的其他服务器ip地址,以及本台服务器需要开放的端口号添加上   如下: # F...