configurationiptables以允许ddcp和SCTP

我需要帮助来configurationiptables来阻止除了几个允许的计算机之外的所有东西。 但是他们使用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并且我需要的很多数据包都被封锁了。 我错过了什么?

您的configuration有明显的错误。 您正在考虑在INPUTOUTPUT链中使用与IP源相同的IP! 您可能需要将其更改为如下所示:

 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 

此外,除了通过本地运行的应用程序的lo接口回送stream量之外,还可能需要允许RELATEDESTABLISHEDstream量。

 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