在介绍原理之前,首先需要知道Linux内核设置的5个相关hook点。如下图:
image.png
说明:
- 1.数据包从网卡进来,会进入到PREROUTING. 在PREROUTING阶段,会去检查raw,mangle,nat这几个表是否会有相关的规则。有则会执行相关的规则
- 2.然后进行路由选择判断,如果是发往本机的,就会进入到INPUT阶段。如果不是则进入FORWARD,匹配相关的规则表后,进入到POSTROUTING阶段。
- 3.进入到INPUT后,就会进入到上层应用程序。
- 4.如果是应用程序发出去的包,就会进入OUTPUT->POSTROUTING.
1.iptables基本语法(表和链配合使用)
image.png上图可以这么理解,iptables 的某个表(table),对应的是那一条链(chain),对这条链上的什么内容(Parameter Xmatch)进行什么样的操作(target).
command:
-A:表示的是追加一个什么规则。
-D:表示的是删除一个规则。
-L:表示列出所有的规则。
-F:表示清空对应的规则。‘
-P:设置默认规则。
-I:插入第一行,最为第一个规则。
-R:替换。
-n:把对应的域名转换成ip地址。
网友评论