我使用以下命令将我的笔记本电脑变成路由器,将流量从 eth0 路由到 wlan0 以及反之亦然。
$ echo 1 > /proc/sys/net/ipv4/ip_forward
$ sudo iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
$ sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
$ sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT
有人能告诉我第三个命令中 -m 的含义吗?iptables 手册页的描述说,-m 指定要使用的匹配项。这是否意味着“state”就是匹配项?如果是这样,我如何知道 state 的值?这是一个可以配置的变量的常量吗?谢谢。
答案1
这-m
是一个标志,表示可加载模块即将被实现。
它后面总是紧跟着可加载模块的名称;在你的情况下,是一个叫做 的弃用模块state
。由于该state
模块已被弃用,请考虑学习和使用替代它的名为 的模块conntrack
。