开发者社区> stevelu666> 正文

Linux之iptables防火墙概述及相关规则(一)

简介: Linux之iptables防火墙概述及相关规则(一)
+关注继续查看

前言


保障数据的安全性是继保障数据的可用性之后最为重要的一项工作。防火墙作为公网与内网之间的保护屏障,在保障数据的安全性方面起着至关重要的作用。

iptables

centos 5/6  系统默认防火墙

firewalld

centos 7/8  系统默认防火墙

iptables用的较多

在7和8上也是有的,现在流行的k8s就是基于iptables


一、iptables防火墙基础


硬件防火墙:性能好,用图形化 管理,一般公司用硬件(华为E9000)

软件防火墙:做辅助,做在服务器上,用命令管理

Linux系统的防火墙:IP信息包过滤系统,它实际上由两个组件netfilter和iptables组成


主要工作在网络层,针对IP数据包,体现在对包内的IP地址、端口、协议等信息的处理上


1.1 netfilter和iptables关系

Linux中称为包过滤防火墙,iptables和firewalld都有两个组件netfilter和iptables,这两种称呼都可以表示Linux防火墙。


注意:与netfilter相提并论的iptables是iptables防火墙的组件,可以认为是iptables防火墙的分支,但是名字一样


netfilter

1.位于Linux内核中的包过滤功能体系

2.称为Linux防火墙的“内核态”(又称内核空间)

iptables

1.位于/sbin/iptables,用来管理防火墙规则的工具

2.称为Linux防火墙的“用户态”(又称用户空间)

netfilter/iptables后期简称为iptables, iptables是基于内核的防火墙,其中内置了raw、mangle、nat和filter四个规则表。


表中所有规则配置后,立即生效,不需要重启服务。


image


1.2 iptables的四表五链

规则表的作用

容纳各种规则链

规则链的作用

容纳各种防火墙规则

总结

表中有链,链中有规则

1.2.1 四表

含义

包含的规则链

raw表

确定是否对该数据包进行状态跟踪

OUTPUT、PREROUTING

mangle表

修改数据包内容,用来做流量整形的,给数据包设置标记

INPUT、OUTPUT、FORWARD、PREROUTING、POSTROUING

nat表

负责网络地址转换,用来修改数据包中的源、目标IP地址或端口

OUTPUT、PREROUTING、POSTROUING

filter表

负责过滤数据包,确定是否放行该数据包(过滤)

INPUT、FORWARD、OUTPUT

在iptables的四个规则表中, mangle表和raw表的应用相对较少


filter表是防火墙的默认表


image


1.2.2 五链

作用

INPUT链

处理入站数据包,匹配目标IP为本机的数据包

OUTPUT链

处理出站数据包,一般不在此链上做配置

FORWARD链

处理转发数据包,匹配流经本机的数据包

PREROUTING链

在进行路由选择前处理数据包,用来修改目的地址,用来做DNAT。相当于把内网服务器的IP和端口映射到路由器的外网IP和端口上

POSTROUING链

在进行路由选择后处理数据包,用来修改源地址,用来做SNAT。相当于内网通过路由器NAT转换功能实现内网主机通过一个公网IP地址上网

规则链之间的匹配顺序:


主机型防火墙:


入站数据(来自外界的数据包,且目标地址是防火墙本机):PREROUTING --> INPUT -->本机的应用程序


出站数据(从防火墙本机向外部地址发送的数据包) :本机的应用程序--> OUTPUT --> POSTROUTING


网络型防火墙:


转发数据(需要经过防火墙转发的数据包) : PREROUTING --> FORWARD --> POSTROUTING


规则链内的匹配顺序:


自上向下按顺序依次进行检查,找到相匹配的规则即停止(LOG策略例外,表示记录相关日志)


若在该链内找不到相匹配的规则,则按该链的默认策略处理(未修改的状况下,默认策略为允许)


1.3 数据包控制的匹配流程

image


标红的代表该链的规则通常在这个表上配置


1.3.1 入站

入站数据包从A网络发到B网络,首先发到防火墙,先后顺序经过有PREROUTING链的三个表(raw、mangle、nat),如果都是放通状态的会经过路由选择,然后根据目的地址一层一层往上送,经过有INPUT的两个表(mangle、filter),一直送到应用程序


1.3.2 转发

目的地不是本机,数据包先从A网络过滤,经过PREROUTING链,看是否是自己的目的地址,如果是外网到内网需要用nat转换成内网IP,找到内网用户,经过FORWARD链进行过滤,允许放通的到达POSTROUING链,再把内网地址转换成公网,这样数据包才能回去;如果是内网往外网发顺序就是反过来


1.3.3 出站    

从本机的应用程序发出来, 经过路由选择,让路由知道从哪里发,先后顺序经过有OUTPUT链的四个表(raw、mangle、nat、filter),都放通后到达POSTROUING链的两个表(mangle、nat),如果没有什么转换地址,就出站

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Linux (centos8)关闭防火墙命令
查看防火墙状态 命令: systemctl status firewalld.service 下图现在为活跃状态
171 0
Linux服务器防火墙是什么?有什么作用呢?如何开启防火墙?
Linux服务器防火墙是什么?有什么作用呢?如何开启防火墙?
136 0
Linux Commnad iptables 防火墙
Linux Commnad iptables 防火墙
38 0
【Unix/Linux 系统管理】iptables 防火墙设置
【Unix/Linux 系统管理】iptables 防火墙设置
48 0
Linux之iptables防火墙(下)
所谓防火墙也称之为防护墙,它是一种位于内部网络与外部网络之间的网络安全系统。一项信息安全的防护系统。按照给定的规则,允许或者限制网络报文通过。 硬件防⽕墙:通过硬件和软件的组合,基于硬件的防⽕墙保护整个内部网络安全。(例如 华为E9000) 软件防⽕墙:通过纯软件,单独使⽤软件系统来完成防⽕墙功能,保护安装它的系统。 大型公司都是以硬件防火墙为主,软件防火墙为辅。软件防火墙根据情况来决定是否开启,如果服务器性能不够,可能会关闭软件防火墙。
130 0
Linux之iptables防火墙(上)
所谓防火墙也称之为防护墙,它是一种位于内部网络与外部网络之间的网络安全系统。一项信息安全的防护系统。按照给定的规则,允许或者限制网络报文通过。 硬件防⽕墙:通过硬件和软件的组合,基于硬件的防⽕墙保护整个内部网络安全。(例如 华为E9000) 软件防⽕墙:通过纯软件,单独使⽤软件系统来完成防⽕墙功能,保护安装它的系统。 大型公司都是以硬件防火墙为主,软件防火墙为辅。软件防火墙根据情况来决定是否开启,如果服务器性能不够,可能会关闭软件防火墙。
61 0
Linux 防火墙,阿里云安全组(下)|学习笔记
快速学习 Linux 防火墙,阿里云安全组(下)
68 0
Linux之iptables防火墙概述及相关规则(三)
Linux之iptables防火墙概述及相关规则(三)
71 0
Linux之iptables防火墙概述及相关规则(二)
Linux之iptables防火墙概述及相关规则(二)
39 0
Linux巩固篇008-Linux 防火墙
纸上得来终觉浅,绝知此事要躬行
87 0
+关注
stevelu666
才华撑起野心
文章
问答
文章排行榜
最热
最新
相关电子书
更多
Decian GNU/Linux安全合规之路
立即下载
从 Linux 系统内核层面来解决实际问题的实战经验
立即下载
冬季实战营第二期:Linux操作系统实战入门
立即下载