标签:iptables笔记
1、数据包的流向
数据包在主机上有三个流向:
a、发往本机:从本机的内核空间流向用户空间(应用程序)
b、本机发出:从本机的用户空间流向内核空间,在经过网卡流出
c、转发:从本机的一个网卡进来,从另外一个网卡出去
2、数据链(内置):
iptables有5条链来对数据报文进行规则控制
PREROUTING:刚到达本机,在进行路由之前的报文
INPUT:进入到本机的报文
FORWARD:由本机转发的报文
OUTPUT:从本机发出的报文
POSTROUTING:进行路由之后,要离开本机的报文
3、防火墙功能表
上面提到了防火墙有5条链可以配置规则来对数据报文进行控制,那么防火墙都有哪些功能呢?
filter:报文过滤,是否允许报文通过
nat:网络地址转换,用于修改源IP或者目标IP,也可以改端口
mangle:拆解报文,做出修改并重新封装报文。
raw:关闭nat表上启用的连接追踪功能,基本上用不着。
上面4个功能实际上是4个表。以下是各个表包含的链
mangle表包含以下链
PREROUTING
INPUT
OUTPUT
POSTROUTING
总之该表不常用,几乎不用。
nat表主要用于来源地与目的地的ip或port转换,与linux本机无关主要于内网计算机有关。包含以下链
PREROUTING:在进行路由之前进行规则(DNAT/REDIRECT)
POSTROUTING:在进行路由判断后执行规则(SNAT/MASQUERADE)
OUTPUT:与发送出去的数据包有关
关于POSTROUTING,固定ip的时候选择SNAT,非固定IP比如拨号上网的时候选择MASQUERADE链,修改目的ip地址的DNAT操作PREROUTING链
filter表主要跟linux本机有关,是默认的table,也是最重要的表。包含以下链
INPUT:主要与数据包想要进入Linux主机有关
OUTPUT:主要于Linux本机所要送出的数据包有关
FORWARD:与Linux本机没有关系,他可以将数据包转发到后段的计算机中,于nat这个table相关性很高
防火墙功能和链的对应关系:
注意下图中的这些功能有优先级的关系。上面的优先级别下面高,例如在PREROUTING链上,
raw > mangle > nat
数据包传输过程中经过的链和表
4、报文流向和链的对应关系
流入本机:PREROUTING ==> INPUT
由本机流出:OUTPUT ==> POSTROUTING
转发:PREROUTING ==> FORWARD ==> POSTROUTING
练习:如果要求拒绝192.168.1.100这台主机访问本机的web服务,该在哪条链上设置什么功能?
首先拒绝访问本机的web服务用到的是filter功能,而只有INPUT、FORWARD、OUTPUT链能做过滤功能,由于是访问本机的web服务,所以应该是在INPUT链上设置防火墙规则。
本文出自 “zengestudy” 博客,请务必保留此出处http://zengestudy.blog.51cto.com/1702365/1840392
标签:iptables笔记
原文地址:http://zengestudy.blog.51cto.com/1702365/1840392