IPtables 阻止端口 8080 但不适用于本地主机

Joe*_*uts 5 mod-proxy hudson

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

    <Location /hudson>
            Order allow,deny
            Allow from all
            ProxyPass http://localhost:8080/hudson
            ProxyPassReverse http://localhost:8080/hudson
    </Location>
Run Code Online (Sandbox Code Playgroud)

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

Pra*_*min 15

这会起作用:

iptables -A INPUT ! -s 127.0.0.1 -p tcp -m tcp --dport 8080 -j DROP
Run Code Online (Sandbox Code Playgroud)


Jos*_*ton 6

您可以尝试以下操作:

// 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  
Run Code Online (Sandbox Code Playgroud)

如果您还想允许 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
Run Code Online (Sandbox Code Playgroud)

让我知道事情的后续 :)