diff --git a/images/iptables-chains.jpg b/images/iptables-chains.jpg new file mode 100644 index 000000000..b71341627 Binary files /dev/null and b/images/iptables-chains.jpg differ diff --git a/usecases/understand-sidecar-injection-and-traffic-hijack-in-istio-service-mesh.md b/usecases/understand-sidecar-injection-and-traffic-hijack-in-istio-service-mesh.md index 325cfc01e..4e2559ca5 100644 --- a/usecases/understand-sidecar-injection-and-traffic-hijack-in-istio-service-mesh.md +++ b/usecases/understand-sidecar-injection-and-traffic-hijack-in-istio-service-mesh.md @@ -195,6 +195,8 @@ Init 容器中使用的的 iptables 版本是 `v1.6.0`,共包含 5 张表: 下图是 iptables 的调用链顺序。 +![IPtables 调用链顺序](../images/iptables-chains.jpg) + ### iptables 命令 `iptables` 命令的主要用途是修改这些表中的规则。`iptables` 命令格式如下: @@ -237,8 +239,6 @@ Chain OUTPUT (policy ACCEPT 18M packets, 1916M bytes) 还有一列没有表头,显示在最后,表示规则的选项,作为规则的扩展匹配条件,用来补充前面的几列中的配置。`prot`、`opt`、`in`、`out`、`source` 和 `destination` 和显示在 `destination` 后面的没有表头的一列扩展条件共同组成匹配规则。当流量匹配这些规则后就会执行 `target`。 -关于 iptables 规则请参考[常见 iptables 使用规则场景整理](https://www.aliang.org/Linux/iptables.html)。 - **target 支持的类型** `target` 类型包括 ACCEPT`、REJECT`、`DROP`、`LOG` 、`SNAT`、`MASQUERADE`、`DNAT`、`REDIRECT`、`RETURN` 或者跳转到其他规则等。只要执行到某一条链中只有按照顺序有一条规则匹配后就可以确定报文的去向了,除了 `RETURN` 类型,类似编程语言中的 `return` 语句,返回到它的调用点,继续执行下一条规则。`target` 支持的配置详解请参考 [iptables 详解(1):iptables 概念](http://www.zsythink.net/archives/1199)。