Mac OS X Lion-将端口22上的所有连接转发到外部ip [关闭]


8

我需要将到任何地址端口22的所有连接转发到另一个网关(即没有默认设置)。首先,我想用ipfw做到这一点:

sudo ipfw add 5 fwd $EXTERNAL_IP,22 tcp from any to any 22 keep-state

但是对于Mac OS X Lion来说似乎不起作用。无论如何,在查看ipfw文档时,我发现它已被弃用,应该使用pfctl。

所以我修改了/etc/pf.conf文件:

rdr proto tcp from $internal_ip to any port 22 -> $external_ip port 22

但是没有运气。

有谁知道如何将本地应用程序生成的所有连接转换或转发到除端口22之外的任何地址到其他网关/ ip地址?

更新资料

遵循Jake的建议,我尝试仅指定目标IP,因此我将rdr规则转换为mac os x语法:

rdr proto tcp from any to any port 22 -> $external_ip port 22

即使在这种情况下,我也没有得到预期的结果,即我可以通过ssh连接到服务器,但可以通过默认网关连接。


你知道了吗?我正在尝试在本地主机和外部服务之间的本地主机上插入透明代理,但没有运气。我的猜测是OS X在这方面刚刚加入Windows,不再在系统防火墙级别提供NAT支持,但我仍然希望可以做到这一点。
foxx1337

2
不,我放弃了Linux。
freedev

实际上,正是我所做的;感谢您的更新
foxx1337

Answers:


0
rdr pass on $internal_ip inet proto tcp from any to any port 22

无论如何都不是专家,认为应该这样做。自从我使用iptables以外的其他东西已经很长时间了 :)


感谢Jake的初步帮助,很遗憾,此语法不受支持,即使尝试更正rdr规则也无法获得预期的结果。我已根据您的建议更新了我的问题。
freedev 2012年

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.