在Mac OS 10.9上使用pf进行端口转发

我必须在Mac OS 10.9上设置端口转发。 Mac连接到一个OpenVPN,我需要访问另一台机器的私人networking的MAC通过该VPN。 显然,Mac OS使用OpenBSD 4.3中的pf,所以我尝试了这样的规则:

rdr on tun0 inet proto tcp from any to 10.8.0.10 port 8007 – > 192.168.0.158 port 80

当我从服务器连接到10.8.0.10:8007我得到一个超时。 我尝试了相同的规则,用en0replacetun0,用ipreplacevpn ip,并尝试从同一个专用networking上的计算机访问端口,并使用wireshark和tcpdump,我可以看到数据包被正确地转发到192.168.0.158但该设备直接响应我的电脑,而不是mac。 所以我想我需要一些规则来取代源IP与MAC IP,但我不知道如何写这个。

我尝试使用icefloor,但出于某种原因,它想要启用互联网共享应用nat规则,这不是我想要的,但仍然无法正常工作。

谢谢

毕竟自己find了解决办法。 我的一位同事在服务器上添加了防火墙规则,但没有告诉我,所以我正在寻找解决scheme来解决问题。 无论如何,在删除OpenVPN服务器上的规则后,这是我在Mac OSX客户端上转发的最终规则:

en从10.8.0.1到192.168.0.158 – > en0

rdr on tun0 proto tcp从任何端口8007 – > 192.168.0.158端口80

10.8.0.1是来自服务器的请求来的服务器,192.168.0.158是我想要的来自服务器的IP。

问题解决了 ! 🙂