本地未发现远程启动的反向ssh隧道的断开连接

时间:2019-02-19 18:23:28

标签: ssh-tunnel

在远程VPS上,我正在启动到家庭服务器的反向隧道。它用于代理本地Firefox浏览器。

远程VPS启动时,它会发出以下两个命令

autossh -f -C2qTnN -D 0.0.0.0:3000 user@localhost
autossh -f -N -R 0.0.0.0:2000:localhost:3000 user@home.dynamic.example.com

在家庭网络中,调制解调器/路由器/网关具有端口22的端口转发到IP 192.168.1.123上的服务器的服务器,然后该服务器开始侦听端口2000(远程创建的反向隧道)。

Firefox已将192.168.1.123:2000配置为SOCKS v5代理服务器,并且可以正常工作。

问题是当与VPS的连接断开时,由于某种原因,192.168.1.123上的端口2000未被释放。

我发出

sudo lsof -n -i :2000| grep -P 'IPv4.+LISTEN' | sed -e 's/sshd\ +\(\d+\)\ /\1/p'

在该服务器上,我得到

sshd    1781   user   11u  IPv4 16700854      0t0  TCP *:2000 (LISTEN)

,并且我必须发出kill 1781才能释放端口,以便重新建立反向隧道(autossh会在VPS上进行处理,因为它不断尝试但失败了,因为端口不是免费的)

是什么原因导致当连接断开时端口没有在192.168.1.123上自动释放?那是正常的吗?我认为这种情况并非总是会发生,因为有时我确实会短暂断开连接,但隧道不会受到影响。

0 个答案:

没有答案