如何在 macOS 上将端口上的传入流量重定向到不同的 IP 和端口?

How to Redirect Incoming Traffic on Port to a Diff IP and Port on macOS?

我一直在寻找这个,但我很难找到我想要的东西。

我的 iMac 上的 DHCP 服务器 运行 后面有一个 Raspberry Pi(iMac 是 192.168.2.1 到 pi,pi 是 192.168.2.21 ).我希望进入 Mac(地址 10.5.6.4)的传入流量重定向到 pi(比如 Mac 上的端口 8086 将重定向到 pi 端口 22)。

我尝试将 "nat on en0 from any to any port 8086 -> 192.168.2.21 port 22" 添加到 pf.conf 文件并重新加载服务,但这似乎没有完成任何事情。我对 NAT 和 PF 的了解非常有限,因此我们将不胜感激。

这样做的目的是让网络上的其他人可以使用我的 Mac 的 IP 和我指定的任何端口连接到 Pi(最终还有其他服务器)。我知道有办法做到;我只是不知道具体如何。

最适合我的解决方案是使用反向 SSH 隧道。

这真的很容易用一个简单的命令完成。

ssh -R <port to use on server>:localhost:<port to forward> <ip addr of server>

所以在我的情况下,它会沿着(来自 pi)的路线

ssh -R 8086:localhost:22 jesse@10.5.6.4

我再次不知道为什么我的 post 被否决了,但我很高兴我至少找到了适合我的解决方案。顺便说一下,ssh 确实使用了一些 cpu 并增加了一些开销,因为它是一个安全协议并且加密流量。如果您想覆盖它(如果您的系统支持它)并且不使用加密,请在 -R 之前使用“-c none”标志。同样对于要转发的多个端口,只需使用多个 -R 标志。

ssh -c none -R 8086:localhost:22 -R 8080:localhost:80 jesse@10.5.6.4

我希望这对某人有所帮助。