链
iptables把用于处理和过滤流量的策略,称之为规则,多条规则就组成了一个规则链,并且规则链还有默认的动作。规则链根据数据包所处的不同位置进行不同的分类
Linux默认的5个规则链
- 路由选择前处理数据包:prerouting 链
- 处理流入的数据包:input 链
- 处理流出的数据包:output 链
- 处理转发的数据包:forward 链
- 进行路由选择后处理数据包:postrouting 链
主要使用的都是input链,因为服务器发出的流量都是相对安全的,互联网发送的流量危险性较大
动作
- accept:允许数据包通过
- reject:拒绝数据包通过,还会给客户端一个响应,告知它被拒绝
- log:在linux系统的日志目录下 /var/log/message 中记录防火墙日志,再进行下一个数据包处理
- drop:直接丢弃数据包,不给客户端任何的回应,客户端会认为自己的请求丢尽了大海,直到请求报错结束
- SNAT:源地址转换,解决内网用户用同一个公网的问题,用于forward链
- DNAT:目标地址转换
- redirect:在本机做端口映射