我有一个 VPS 盒子,上面有 4 个外部 IP,我需要为每个 IP 部分打开 udp 端口,但我似乎无法通过 IP 表做到这一点。这是我目前的规则:
iptables -I INPUT -d 98.158.xxx.86 -p udp --dport 34121 -j ACCEPT
我正在使用的程序需要通过 udp 连接到该 ip,但服务器不允许这样做。有什么想法吗?
答案1
您是否已完全关闭防火墙,以确认要执行的操作是否有效?如果没有防火墙,则至少您知道这是您的规则,如果没有防火墙,则可能是其他原因导致了问题。
答案2
如果您不需要限制目标 IP,您可以放心地删除 -d。但是,您需要使用“-m”匹配协议。因此您需要执行以下操作:
iptables -I INPUT 1 -m udp -p tcp --deport 32121 -j ACCEPT (for Red Hat / Centos 5)
或者
iptables -I INPUT 5 -m udp -p tcp --deport 32121 -j ACCEPT (for Red Hat / Centos 6)
无论如何,如果您仍然无法连接,请尝试在接口上运行 snoop 或 tcpdump 以验证您是否有双向流量。