网络工具-iptables允许主动发起连接

Posted by 周思进 on August 29, 2021

前文 网络工具-iptables常用命令 有提到过滤策略一般就两种,允许或者禁止。

如果考虑设备本身会有很多服务需要与外部通信,允许策略会比禁止策略麻烦很多。

因为需要考虑设备各功能通信的地址都添加到允许列表里面,如果是让用户自己去一个个配置这些允许地址,这对用户而言是很麻烦的。

那有什么办法在配置允许策略的情况下,对于设备端配置了的服务器地址,默认就允许通信呢?

可以通过 state 匹配模块来完成实现。具体命令如下:

iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

–state 后面跟随的是连接的状态,有 NEW、RELATED、ESTABLISHED、INVALID,下面简单说明

state 说明
NEW 连接的第一个包,如 TCP 连接的第一个 SYN 包
ESTABLISHED 发送请求后,收到的应答包开始即认为是 ESTABLISHED
RELATED <div style="width: 300pt">这个连接是由 ESTABLISHED 连接所产生的新连接,如 FTP 先建立控制连接,再在此基础上建立数据
INVALID 无法识别属于哪个连接,无法明确连接状态的


前面好像都没提到 iptables 仅支持IPV4,如果需要针对 ipv6 地址设置过滤规则,需要使用 ip6tables 工具。