我试图限制 Debian 上特定用户对特定端口的访问。
假设用户的 ID 是 1000,我想要阻止的端口是 5000。
我尝试通过以下命令使用 iptables:
iptables -I OUTPUT -o lo -p tcp --dport 5000 --match owner --uid-owner 1000 -j DROP
如果用户执行curl 127.0.0.1:5000
或执行,则它有效,curl <machine_ip>:5000
但如果用户执行,则无效curl localhost:5000
。
我不明白为什么它不起作用。我虽然localhost
被转换为127.0.0.1
.有什么不同 ?
在我的 /etc/hosts 文件中,我有
127.0.0.1 localhost
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
答案1
对 IPv6 执行相同操作... localhost 解析为 IPv4 和 IPv6 地址,并且首选 v6。
编辑1:
ip6tables -I OUTPUT -o lo -p tcp --dport 5000 --match owner --uid-owner 1000 -j DROP