我有一个由运行dd-wrt的网关路由器/防火墙,运行OS X的机器(称为mac)和名为ssh-server的Debian主机组成的本地networking。 防火墙将端口22转发到ssh-server。
我想在本地networking之外使用Mac上的VNC,只有ssh-server上的SSH端口在WAN上打开。 换句话说,我不想configuration防火墙将端口转发到mac:5900或打开任何其他端口。 这可能吗? 怎么样?
我有一个远程访问解决scheme,但它需要打开另一个端口。 它使用ssh服务器和mac之间的SSH隧道(详情见下文)。 但是,我不喜欢这个解决scheme,因为我需要打开另一个端口到广域网,而且它不必要地在局域网上使用安全的协议。
我所做的是:ssh-server $ ssh -nNT -L *:12345:mac:5900 user @ mac
然后设置防火墙将端口12345转发到ssh-server:12345。
最后,从广域网我使用SSH端口转发连接到WAN:12345。
但是,我不喜欢这个解决scheme让端口12345在WAN上打开并转发给VNC。
关于什么
remote-client% ssh firewall-port22-which-goes-to-ssh-server -L 5900:mac:5900
其次是
remote-client% vncviewer localhost:5900