# 内容摘要
- 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
,下面这张图能够很好地说明几个链所处的位置,图片来源见水印 -
table
不同的规则会对数据包进行不同的操作,相同功能的规则会构成一个
table(表)
,iptables
提供的表如下所示表名 功能 filter 过滤,防火墙 内核模块: iptables_filter nat 网络地址转换 内核模块: iptable_nat mangle 拆解报文,做出修改,并重新封装 内核模块: iptable_mangle raw 关闭 nat 表上启用的连接追踪功能 内核模块: iptable_raw -
Chain 和 table
不同的链中包含不同的表,不同的表执行有优先级,具体可见下图(来源见水印)
# 二、 相关命令
-
基本命令
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
我们的问题不在于电视为我们展示具有娱乐性的内容,而在于所有的内容都以娱乐的方式表现出来,这就完全是另外一回事了。
——《娱乐至死》