事实证明问题是我怀疑的:我的路由器实际上是在另一台路由器后面(这是我无法控制的)。
我通过运行traceroute到google.com了解到了这一点。这是我得到的输出(我的公共IP x出来):
pi@raspberrypi:~ $ traceroute google.com
traceroute to google.com (216.58.216.238), 30 hops max, 60 byte packets
1 192.168.1.1 (192.168.1.1) 5.234 ms 4.900 ms 4.603 ms
2 10.32.254.2 (10.32.254.2) 4.295 ms 4.006 ms 3.720 ms
3 rrcs-xx-xx-xxx-xxx.central.biz.rr.com (xx.xx.xxx.xxx) 3.432 ms 3.150 ms 2.863 ms
4 be24.clmkohpe01r.midwest.rr.com (65.189.140.162) 15.875 ms 15.545 ms 15.263 ms
5 bu-ether25.chctilwc00w-bcr00.tbone.rr.com (107.14.19.16) 23.651 ms 23.379 ms 23.101 ms
6 bu-ether11.chcgildt87w-bcr00.tbone.rr.com (66.109.6.20) 27.078 ms 49.076 ms 48.716 ms
7 216.3.52.41 (216.3.52.41) 48.317 ms 48.048 ms 47.777 ms
8 216.3.52.54 (216.3.52.54) 94.608 ms 94.334 ms 94.061 ms
9 216.239.42.136 (216.239.42.136) 115.270 ms 75.523 ms 75.069 ms
10 216.239.51.227 (216.239.51.227) 27.140 ms 26.871 ms 30.940 ms
11 ord31s22-in-f238.1e100.net (216.58.216.238) 35.000 ms 34.726 ms 24.944 ms
192.168.xx地址是我公寓里的路由器。由于下一跳是10.xxx(另一个常见的私有IP地址范围),我知道它必须是另一个路由器。
结果,似乎我将无法进行任何类型的传统端口转发。就我的目的而言,我认为唯一剩下的解决方案是使用我碰巧拥有的VPS的反向SSH隧道。
tracepath 8.8.8.8
吗?(记得掩盖你的公共IP虽然)并尝试从外部框测试nmap -p 9000 x.x.x.x
可能会有所帮助。