iptables有两部分组成一个是位于内核空间的netfilter框架,还有一个是位于用户层面的iptables的命令。

需要记忆的有在iptables有四表五链:

[四表]:raw mangle nat filter(默认是filter过滤表),raw表和mangle表用的较少,重点研究nat表和filter表。

[五链]:INPUT FORWARD OUTPUT PREROUTING POSTROUTING

(input:进来的 forward:出去的 output:穿过我的,拿我当路由器用的  prerouting: 进入路由器之前postrouting:进入路由器之后)在配置防火墙规则的时候,通常会把默认的规则设置为拒绝,然后去配置开放相关的规则。

访问防火墙自己的通常把规则设置在input里,output通常不会设置任何规则,forward规则通常应用与内部跨机器跨网段的策略问题。

对于nat表来说,通常应用iptables解决带公网环境的问题时,就要使用nat表。

nat表中有两种地址转换模式,一种为SNAT,一种为DNAT,这两种地址转换方案应用与在网络部分学过的静态转换和easy ip,easy ip应用与内部的网络多用户共享上网,在iptables中用的是SNAT,把客户机的私网地址转换成出口处的公网地址,用到的是地址伪装。

而DNAT很像在网络部分所学的静态映射(只不过在ensp中配置路由器地址转换是ip层面),在iptables中,所做的目标地址转换主要实现的方式是端口的映射,如将内部服务器的端口映射到出口处的一个端口上面。