使用PacketFilter透明地代理OS X中的数据包

时间:2014-09-16 15:55:18

标签: macos networking osx-mavericks firewall openbsd

有一个名为sshuttle的酷实用程序。它依赖于ipfw来转发过去的数据包。似乎ipfw在Mavericks中大部分被打破,建议现在就使用PacketFilter。

我大部分时间都在看PacketFilter,看来ipfw有一个PacketFilter不支持的功能(希望我对此有误)。

以下规则:

ipfw -q add 12300 fwd 127.0.0.1,12300 tcp from any to any not ipttl 42 keep-state setup

会将所有流量转发到127.0.0.1(localhost)端口12300.但是,它不会更改TCP数据包中的目标IP或端口。这对于s​​shuttle非常重要,因为它使用有关原始目标的信息将数据包转发到另一个网络。

我在PacketFilter世界中可以找到的最接近的规则是:

rdr pass proto tcp from any to any -> 127.0.0.1 port 12300

此规则会将流量发送到127.0.0.1(localhost)端口12300,但它也会将目标地址重写为127.0.0.1。

有关如何在OS X中获得sshuttle行为的任何想法吗?

0 个答案:

没有答案