我需要让 mac 接收从一个端口进入的流量并将其发送到另一个但仍是本地的端口。
即流量从端口 1234 进入并传输到端口 5900 (vnc)
这是因为路由器不允许我设置源端口和目标端口不同的端口转发,而我需要连接到多台机器。
例如,在我的路由器中我已经设置:端口 1234 -> 192.168.0.2:1234 端口 1235 -> 192.168.0.3:1235 端口 1236 -> 192.168.0.4:1236
然后我需要 mac 接收传入端口并将其发送到本地端口 5900
答案1
我怀疑本地 SSH 隧道是不是最简单的解决方案,但可以转发1234
到5900
:
ssh -g -L 1234:localhost:5900 localhost
需要-g
允许远程主机连接到本地端口1234
。
要在后台运行它:
ssh -Nfg -L 1234:localhost:5900 localhost
您可以将选项包含在您的SSH 配置文件, 喜欢LocalForward 1234 localhost:5900
。
要在屏幕共享未运行时测试这一点,请运行内置的 Python Web 服务器:python -m SimpleHTTPServer 5900
,然后将浏览器指向http://localhost:1234
答案2
这篇文章Mac OS X 上的端口转发似乎已经有了答案。
以下是他们最后提供的示例:
以下示例将任何入站 443 流量转发到在本地主机 (127.0.0.1) 端口 4282 上运行的 PRO 服务器。
sudo ipfw add 1443 forward 127.0.0.1,4282 ip from any to any 443 in