配置 iptables 以允许 ddcp 和 SCTP

配置 iptables 以允许 ddcp 和 SCTP

我需要帮助来配置iptables以阻止除几台允许的计算机之外的所有计算机。但是他们使用 ddcp 和 SCTP 进行通信,所以我真的不知道如何实现它。这是我的尝试(没有用):

#allow all ports for ip
#udp
iptables -A INPUT -s 8.8.8.8/32 -p udp -j ACCEPT
iptables -A OUTPUT -s 8.8.8.8/32 -p udp -j ACCEPT
#tcp
iptables -A INPUT -s 8.8.8.8/32 -p tcp -j ACCEPT
iptables -A OUTPUT -s 8.8.8.8/32 -p tcp -j ACCEPT

#ddcp 
iptables -A INPUT -s 8.8.8.8/32 -p ddcp -j ACCEPT
iptables -A OUTPUT -s 8.8.8.8/32 -p ddcp -j ACCEPT
#stcp 
iptables -A INPUT -s 8.8.8.8/32 -p SCTP -j ACCEPT
iptables -A OUTPUT -s 8.8.8.8/32 -p SCTP -j ACCEPT

#drop all
iptables -A INPUT -j REJECT --reject-with icmp-host-prohibited
iptables -A FORWARD -j REJECT --reject-with icmp-host-prohibited
iptables -A OUTPUT -j REJECT --reject-with icmp-host-prohibited

之后我检查了一下iptables -L -v -n,发现很多我需要的数据包都被阻止了。我是不是漏掉了什么?

答案1

您的配置明显有误。您正在考虑在和INPUT链中使用相同的 IP 作为源OUTPUT!您可能需要将其更改为类似以下内容:

iptables -A INPUT -s 8.8.8.8/32 -p udp -j ACCEPT
iptables -A OUTPUT -d 8.8.8.8/32 -p udp -j ACCEPT

此外,除了环回流量之外,您可能还需要通过接口允许本地运行的应用程序RELATED的流量。ESTABLISHEDlo

iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

相关内容