3.4.1 简介 {#341-简介}
- iptables 是 4表伍链
- 4表: filter 表 nat表 raw表 mangle表
- 5链: PREROUTING, INPUT OUTPUT ,POSTROUTING, FORWARD
3.4.2 每个表说明 {#342-每个表说明}
1) filter表 {#1-filter表}
- 防火墙: 屏蔽或准许 端口 ip
| filter**表** | 强调:主要和主机自身相关,真正负责主机防火墙功能的(过滤流入流出主机的数据包) filter表示iptables默认使用的表,这个表定义了三个链(chains) 企业工作场景:主机防火墙 | |---------------------|---------------------------------------------------------------------------------------------------| | INPUT | 负责过滤所有目标地址是本机地址的数据包 通俗来说:就是过滤进入主机的数据包 | | FORWARD | 负责转发流经主机的数据包。起转发的作用,和NAT关系很大,后面会详细介绍 LVS NAT模式,net.ipv4.ip_forward=0 | | OUTPUT | 处理所有源地址是本机地址的数据包 通俗的讲:就是处理从主机发出去的数据包 |
2) nat表 {#2--nat表}
- 实现nat功能
- 实现共享上网(内网服务器上外网)
- 端口映射和ip映射
| nat | 负责网络地址转换的,即来源与目的IP地址和port的转换。 应用:和主机本身无关,一般用于局域网共享上网或者特殊的端口转换服务相关。 工作场景: 1. 用于企业路由(zebra)或网关(iptables),共享上网 (POSTROUTING ) 2. 做内部外部IP地址一对一映射(dmz),硬件防火墙映射IP到内部服务器,ftp服务(PREROUTING ) 3. WEB,单个端口的映射,直接映射80端口(PREROUTING) 这个表定义了3个链,nat功能相当于网络的acl控制。和网络交换机acl类似。 | |-----------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | OUTPUT | 和主机放出去的数据包有关,改变主机发出数据包的目的地址。 | | PREROUTING | 在数据包到达防火墙时,进行路由判断之前执行的规则,作用是改变数据包的目的地址、目的端口等 就是收信时,根据规则重写收件人的地址。 例如:把公网IP:xxx.xxx.xxx.xxx映射到局域网的xx.xx.xx.xx服务器上。 如果是web服务,可以报80转换为局域网的服务器9000端口上 10.0.0.61 8080(目标端口) ----nat---à 10.0.0.7 22 | | POSTROUTING | 在数据包离开防火墙时进行路由判断之后执行的规则,作用改变数据包的源地址,源端口等。 写好发件人的地址,要让家人回信时能够有地址可回。 例如。默认笔记本和虚拟机都是局域网地址,在出网的时候被路由器将源地址改为了公网地址。 生产应用:局域网共享上网。 |