![与 tftp 一起发布的 iptables 规则](https://linux22.com/image/34803/%E4%B8%8E%20tftp%20%E4%B8%80%E8%B5%B7%E5%8F%91%E5%B8%83%E7%9A%84%20iptables%20%E8%A7%84%E5%88%99.png)
我的要求是添加 iptables 规则,以允许 tftp 流量(作为客户端)并删除其他所有内容。事实上,使用 C 代码以编程方式使用 iptc 库。首先,我尝试使用命令行,在以下参考文献的帮助下似乎工作正常:
./iptables -I INPUT 2 -i eth0 -p udp -m udp --dport 69 -j ACCEPT
./iptables -I OUTPUT 2 -i eth0 -p udp -m udp --dport 69 -j ACCEPT
./iptables -I INPUT 3 -p udp --sport 1024: --dport 1024: -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
./iptables -I INPUT 4 -j DROP
./iptables -I OUTPUT 3 -j DROP
我的查询是
除非我在上面指定“NEW”和“ESTABLISHED”,否则相关 tftp 似乎无法正常工作。但在该网站提出的一些问题中,我看到提到“已建立”、“相关”就足够了。我在这里缺少什么? NEW 的主要目的是什么?它会为新发行打开大门吗?
另外对于这个规则,iptc库的实现是如何的?在提交之前要向规则添加哪些扩展?
./iptables -I INPUT 3 -p udp --sport 1024: --dport 1024: -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT