# 内容摘要
- iptables 相关概念介绍
- iptables 相关命令
- 常用命令解析
# 一、 iptables 相关概念介绍
- 
参考的博客链接 https://aimuke.github.io/linux/2019/05/28/iptables/ 
- 
功能简介 根据管理员定义的规则 rules对数据包进行过滤,在rules中可以指定数据包的源地址、目标地址、协议类型等,过滤操作包括ACCEPT、REJECT、DROP和LOG等等。
- 
Chain 针对数据包的不同流向,又设置了不同的关卡,术语为 Chain(链)。当数据包的目标主机为本机时使用INPUT,需要经过本机转发给其他服务器使用FORWORD,本机数据包发送出去使用OUTPUT。还有PREROUTING和POSTROUTING,下面这张图能够很好地说明几个链所处的位置,图片来源见水印![a]() 
- 
table 不同的规则会对数据包进行不同的操作,相同功能的规则会构成一个 table(表),iptables提供的表如下所示表名 功能 filter 过滤,防火墙 内核模块: iptables_filter nat 网络地址转换 内核模块: iptable_nat mangle 拆解报文,做出修改,并重新封装 内核模块: iptable_mangle raw 关闭 nat 表上启用的连接追踪功能 内核模块: iptable_raw 
- 
Chain 和 table 不同的链中包含不同的表,不同的表执行有优先级,具体可见下图(来源见水印) ![aa]()  
# 二、 相关命令
- 
基本命令 1 sudo iptables -L 列出目前 iptables中的规则,对于新建立的服务器,没有任何规则,结果如下1 
 2
 3
 4
 5
 6
 7
 8Chain INPUT (policy ACCEPT) 
 target prot opt source destination
 Chain FORWARD (policy ACCEPT)
 target prot opt source destination
 Chain OUTPUT (policy ACCEPT)
 target prot opt source destination
- 
命令参数 1 
 2
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 201. -A 添加规则到规则链 
 2. -L 列出当前的过滤规则
 3. -m conntrack 运行过滤规则根据连接状态进行匹配
 4. -p 连接的目标协议
 5. --dport 规则的目标端口
 6. -j 跳转的特定的目标,iptables一般允许4个目标
 - ACCEPT 接收数据包并停止本链规则匹配
 - REJECT 拒绝数据包并提醒发送者,停止规则继续匹配
 - DROP 静默扔掉数据包,停止规则继续匹配
 - LOG 记录数据包,继续运行本链中更多的规则
 7. --log-prefix 记录时,将文本放在日志信息前
 8. --log-level 日志使用的系统日志级别,默认为7
 9. -i 仅匹配来自特定接口的数据包
 10. -I 插入一条规则
 -I INPUT 5 插入INPUT链,使其成为第5条规则
 11. -v 在输出中显示更多信息
 12. -s --source - address[/mask] 指定源地址/掩码
 13. -d --destination - address[/mask] 指定目的地
# 三、常用命令解析
- 
参考博客: https://www.jianshu.com/p/3382735286e0 https://www.cnblogs.com/frankb/p/7427944.html 
- 
样例 1 1 iptables -I INPUT -d xx.xx.xx.x -p tcp -m multiport --dports 22,80 -j ACCEPT 结果 1 
 2
 3
 4
 5
 6
 7
 8
 9Chain INPUT (policy ACCEPT) 
 target prot opt source destination
 ACCEPT tcp -- anywhere xx.xx.xx.x.vultr.com multiport dports ssh,http
 Chain FORWARD (policy ACCEPT)
 target prot opt source destination
 Chain OUTPUT (policy ACCEPT)
 target prot opt source destination分析 向 INPUT链中添加了一条规则,接收目标地址为本机地址,端口为 22/80 的数据包,源地址没有指定
- 
持久化保存规则 https://www.cnblogs.com/kaishirenshi/p/11227663.html 
我们的问题不在于电视为我们展示具有娱乐性的内容,而在于所有的内容都以娱乐的方式表现出来,这就完全是另外一回事了。
——《娱乐至死》

 
