# /sbin/iptables -nvL
上面的iptables命令的输出看起来像这样…
pkts bytes target prot opt in out source destination 0 0 ACCEPT tcp -- * * 192.168.101.101 0.0.0.0/0 tcp dpt:3306 state NEW,RELATED,ESTABLISHED 16810 1009K ACCEPT tcp -- * * 192.168.101.120 0.0.0.0/0 tcp dpt:3306
这两条线有什么区别? 第二个IP没有“状态新,…”。 这有什么区别? 我所要做的就是允许从默认端口3306上的这些IP访问mysql
它与iptables规则中的-m state匹配有关。 你可以使用iptables-save查看完整的规则。
state NEW,RELATED,ESTABLISHED意味着只有这三个将被接受。
iptables (或者更确切地说,netfilter)知道以下状态:
conntrack模块跟踪 至于你的问题:两条规则几乎没有区别。
不同的是你提到的源IP地址和状态标志。
至于为什么你的第一个IP没有连接或不能连接,当你在iptables中使用连接跟踪时,你通常会有一个规则:
接受所有 – 任何地方的任何地方状态RELATED,ESTABLISHED
作为catchall。
.101规则将只是新的。
接受tcp – 192.168.101.101任何地方新的tcp dpt:306