Ale*_*766 2 iptables networking ip-forward
这个命令的每一部分是什么意思?
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Run Code Online (Sandbox Code Playgroud)
从手册页iptables(8)
:
iptables
:
iptables 和 ip6tables 用于在 Linux 内核中设置、维护和检查 IPv4 和 IPv6 包过滤规则的表。可以定义几个不同的表。每个表都包含许多内置链,也可能包含用户定义的链。
-t nat
:
iptables 和 ip6tables 用于在 Linux 内核中设置、维护和检查 IPv4 和 IPv6 包过滤规则的表。可以定义几个不同的表。每个表都包含许多内置链,也可能包含用户定义的链。
当遇到创建新连接的数据包时,会查阅此表。它由三个内置程序组成:PREROUTING(用于在数据包进入时立即对其进行更改)、OUTPUT(用于在路由之前更改本地生成的数据包)和 POSTROUTING(用于在数据包即将离开时对其进行更改)。IPv6 NAT 支持从内核 3.7 开始可用。
-A POSTROUTING
:
将一个或多个规则附加到所选链的末尾。当源和/或目标名称解析为多个地址时,将为每个可能的地址组合添加规则。
-o eth0
:(eth0 是:)
将通过其发送数据包的接口的名称(用于进入 FORWARD、OUTPUT 和 POSTROUTING 链的数据包)。当。。。的时候 ”!” 在接口名称之前使用参数,意义相反。如果接口名称以“+”结尾,则以该名称开头的任何接口都将匹配。如果省略此选项,则任何接口名称都将匹配。
-j MASQUERADE
:
这指定了规则的目标;即,如果数据包匹配它该怎么办。目标可以是用户定义的链(除了此规则所在的链),可以立即决定数据包命运的特殊内置目标之一,或者是扩展(参见下面的扩展)。如果在规则中省略此选项(并且不使用 -g),则匹配规则对数据包的命运没有影响,但规则上的计数器将增加。
sudo
:它代表“超级用户做!” 作为 Linux 系统管理员或高级用户,这是最重要的命令之一。
iptables
:用于Linux内核中IP包过滤规则表的设置、维护和检查。
-t
:此选项指定命令应操作的数据包匹配表。
nat
:当遇到创建新连接的数据包时,会查阅此表。
-A
:将一个或多个规则附加到所选链的末尾。
POSTROUTING
: nat 的三个内置函数之一,用于在数据包即将发出时对其进行更改。
-o eth0
:将通过其发送数据包的接口的名称。
-j MASQUERADE
:这指定了规则的目标;即,如果数据包匹配它该怎么办。