IPtables 阻止端口 8080,但不阻止本地主机

IPtables 阻止端口 8080,但不阻止本地主机

目前我有一个在 8080 上运行的应用程序,由 mod_proxy 前端运行。

    <Location /hudson>
            Order allow,deny
            Allow from all
            ProxyPass http://localhost:8080/hudson
            ProxyPassReverse http://localhost:8080/hudson
    </Location>

我需要阻止 TCP 8080,但不需要阻止本地主机,如何使用 IPtables 来完成此操作?

答案1

您可以尝试以下操作:

// accept all tcp on port 8080 from localhost  
iptables -I INPUT 1 -i lo -p tcp --dport 8080 -j ACCEPT  

[...] all your other rules  
// drop all other packets  
iptables -A INPUT -j DROP  

如果您还想允许 1 个(或更多)外部/其他 IP,您可以使用以下命令:

// accept tcp on port 8080 from allowed_ip  
iptables -I INPUT 3 -i eth0 -p tcp --dport 8080 -s allowed_ip -j ACCEPT

让我知道事情的后续 :)

答案2

这会起作用:

iptables -A INPUT ! -s 127.0.0.1 -p tcp -m tcp --dport 8080 -j DROP

答案3

另一种方法:在服务器监听 8080 时,仅绑定到本地主机:对于 apache,它如下所示:

Listen 127.0.0.1:8080
<VirtualHost 127.0.0.1:8080>
...
</VirtualHost>

相关内容