我的iptables.conf
看起来大致是这样的:
-A INPUT -p tcp --dport 65000 -j ACCEPT
-A INPUT -j DROP
我的sshd_config
看起来像这样:
Port 22
Port 65000
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::
我的目标是仅向外界开放端口 65000,而我向 LAN 开放端口 22。
我使用测试了这个设置canyouseeme.org在端口上65000
,我根本无法连接到我的机器,除非我添加以下规则:
-A INPUT -p tcp --dport 22 -j ACCEPT
然后我可以在端口 65000 进行连接。
到底是怎么回事?为什么我必须打开端口 22 才能连接端口 65000?
根据要求,这是我的完整配置:
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 DROP all -- * * 5.10.83.0/25 0.0.0.0/0
1040 146K ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:25
1 60 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:110
11 640 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
1 40 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:443
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpts:60000:60020
0 0 ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpts:60000:60020
3 180 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:65000
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:65001
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:65011
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:8888 state NEW,ESTABLISHED
0 0 ACCEPT all -- * * 127.0.0.1 0.0.0.0/0
735 67148 ACCEPT all -- * * 192.168.0.0/24 0.0.0.0/0
0 0 ACCEPT all -- * * 192.168.1.0/24 0.0.0.0/0
0 0 ACCEPT all -- * * 46.238.126.0/23 0.0.0.0/0
0 0 ACCEPT all -- * * 78.10.202.145 0.0.0.0/0
0 0 ACCEPT all -- * * 109.173.223.100 0.0.0.0/0
1274 166K DROP all -- * * 0.0.0.0/0 0.0.0.0/0
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
1409 219K ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp spt:8888 state ESTABLISHED
网络地址转换:
Chain PREROUTING (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
答案1
事实证明,我的路由器被设置为将一些高端口转发到内部 SSH 端口 - 所以基本上问题是由一些古老的配置遗留问题引起的。
多么愚蠢啊。