| 本帖最后由 Shiba 于 2021-12-29 08:00 编辑 
 Debian11系统VPS,使用如下命令想要实现只暴露主机的22 80 443端口,其他的端口都封上
 
 复制代码# 
iptables -A INPUT -i lo -j ACCEPT
# 
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
# 
iptables -A INPUT -p icmp -s 0.0.0.0/0 -d 0.0.0.0/0 -j ACCEPT
#
iptables -A INPUT -j DROP
 运行着一个nginx-proxy-manager的容器,把域名test.com解析到了X.X.X.X主机地址,并在npm中设定了返代到10081端口。docker ps的状态如下
 
 复制代码5272ea7c8dc6   jc21/nginx-proxy-manager:latest   "/init"              15 minutes ago   Up 15 minutes             0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp, 0.0.0.0:10081->81/tcp, :::10081->81/tcp   nginx-proxy-manager_app_1
 理想的结果是: 22 80 443端口可以正常访问,直接使用ip地址X.X.X.X:10081会被禁止访问。
 目前的结果是: 22端口ssh连接正常,访问 X.X.X.X:80 443 10081都可以正常打开页面,但是访问域名test.com无法访问. 如果删除DROP那一条,域名就可以正常访问了。
 请教一下大佬,我的设置是哪里有问题么,为什么已经设定drop规则,还能够通过ip地址访问10081端口?
 
 iptables -L -v -n 的结果INPUT部分如下
 
 复制代码Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination
1       17   967 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0
2     1539  116K ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:22
3        0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:80
4        1    40 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:443
5       97  9160 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0
6    60023   10M DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0
 |