|
本帖最后由 Shiba 于 2021-12-29 08:00 编辑
Debian11系统VPS,使用如下命令想要实现只暴露主机的22 80 443端口,其他的端口都封上
[ol]# iptables -A INPUT -i lo -j ACCEPT# iptables -A INPUT -p tcp --dport 22 -j ACCEPTiptables -A INPUT -p tcp --dport 80 -j ACCEPTiptables -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[/ol]复制代码
运行着一个nginx-proxy-manager的容器,把域名test.com解析到了X.X.X.X主机地址,并在npm中设定了返代到10081端口。docker ps的状态如下
[ol]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[/ol]复制代码
理想的结果是: 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部分如下
[ol]Chain INPUT (policy ACCEPT 0 packets, 0 bytes)num pkts bytes target prot opt in out source destination1 17 967 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/02 1539 116K ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:223 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:804 1 40 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:4435 97 9160 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/06 60023 10M DROP all -- * * 0.0.0.0/0 0.0.0.0/0[/ol]复制代码
|
|