使用 iptables 允许一个 IP 地址在一个端口上进行流量传输

使用 iptables 允许一个 IP 地址在一个端口上进行流量传输

我正在使用以下 iptables 规则尝试允许从一个 IP 地址访问端口 8080:

iptables -A INPUT -s 12.34.56.78 -p tcp -m tcp --dport 8080 -j ACCEPT

但是,这条规则不起作用。如果我删除该-s 12.34.56.78部分,它就可以正常工作,但它允许任何人访问端口 8080(这不是我想要的)。

当我iptables -L应用上述规则后运行时,我得到以下结果(这让我很困惑 - 为什么它不只是显示源中的实际 IP?):

root@wso-solr:/etc# iptables -L
链输入(策略接受)
目标 保护 优化 源 目标         
接受所有 -- 任何地方 任何地方            
接受 tcp -- host-12-34-56-78.host.com 任何地方 tcp dpt:http-alt
接受 tcp -- 任何地方 任何地方 tcp dpt:ssh
接受所有 -- 任何地方任何地方状态 RELATED,ESTABLISHED
DROP all -- 任何地方            

链转发(策略接受)
目标 保护 优化 源 目标         

链输出(策略接受)
目标 保护 优化 源 目标

我想知道这是否可能是某种 DNS 异常,导致 iptables 看到我的特定服务器的错误 IP 地址/DNS 条目(它返回 host-ip.host.com 作为源而不是 IP 地址...)。

答案1

看来我使用了错误的 IP 地址。我的托管服务提供商确定了我的 VPS 所在服务器的真实 IP。我输入了该 IP,一切就都正常了!

相关内容