iptables指令逻辑详解

前言:本文主要讲解iptables的基本概念,工作处理流程,配置指令

 

一、基本概念

iptables用以进行网络防火墙,具体概念由表(table)、链(Chain)、规则构成。一个iptables包含多个表,一个表包含多条链、一条链包含多条规则,每条规则包含一个匹配项和数据包处理动作。iptables包含filter、nat、mangle、raw四张表,其中filter表最常用,链一共有PREROUTING、INPUT、FORWARD、OUTPUT、POSTROUTING五条链(hook,即5个钩子函数),每个链上都有一些规则,一个规则定义了匹配模式和处理动作。具体每张表只能包含特定链,而一条链可以有多种规则,指定匹配模式和处理方式,如果一个数据包无法匹配链上的任何一条规则,则采取默认处理动作。

注:一共有4张表、5条链,但是每张表都只能包含特定的链,每条链可以包含不同的规则。具体关系如下图:

 

二、iptables处理流程

在得知iptables内部的静态结构后,需要进一步了解各个模块间的相互作用,如何实现防火墙,检测、修改、转发、重定向、丢弃数据包的。理解iptable如何工作关键是理解下图:

 

 

整个iptables的封包流向如上图所示:

 封包首先经过nat->PREROUTING,进行路由判断,本包数据是转发还是放行进入本机,是否需要进行网络地址转换。若果需要转发则走filter->FORWARD链,如果放行进本机,走filter->INPUT链。所以网络封包有两条线路:

1)转发线路:

nat-PREROUTING  ------------> filter-FORWARD-------------->nat-POSTROUTING

2)放行路线:

nat-PREROUTING------->filter-INPUT-------->local_process--------->nat-OUTPUT---------->filter-OUTPUT------->nat-POSTROUTING

更详细的流向:

三、iptables配置指令

指令基本模式如下:

iptables [-t table_name] -option [chain_name]
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值