我需要帮助来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有明显的错误。 您正在考虑在INPUT
和OUTPUT
链中使用与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量之外,还可能需要允许RELATED
, ESTABLISHED
stream量。
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