首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >pf (Mac )规则将所有流量重定向到特定的ip/端口

pf (Mac )规则将所有流量重定向到特定的ip/端口
EN

Server Fault用户
提问于 2015-07-29 12:43:07
回答 1查看 8.4K关注 0票数 5

我正在尝试用pf重新创建这个iptables安装程序(来自https://github.com/darkk/redsocks):

代码语言:javascript
运行
复制
iptables -t nat -A REDSOCKS -p tcp -d 10.0.0.0/8 -j REDIRECT --to-ports 12345
iptables -t nat -A OUTPUT -p tcp -j REDSOCKS

我希望将所有连接重定向到10.0.0.0/8 (无论哪个端口)到本地端口12345。在linux中,这在上面指定的规则中非常有用。现在我试图在Mac上重新创建它。

代码语言:javascript
运行
复制
rdr inet proto tcp from any to 10.0.0.0/8 port 0:65535 -> 127.0.0.1 port 12345

我设置了sysctl net.inet.ip.forwarding=1

我不确定rdr规则是否等同于iptables nat。Redsocks需要连接来保持目标ip/端口,以便通过代理进行正确的转发。因此,我认为包中的目的地不应该更改/重写为127.0.0.1:12345。

EN

回答 1

Server Fault用户

回答已采纳

发布于 2016-01-05 23:42:20

因此,我可能会误解,但我认为你可能是混淆了iptables,TPROXY和重定向目标-但我认为这并不重要。忽略这一点,你可能还能实现你的目标。

您对rdr pf规则的失望之处在于,它只适用于传入数据包。根据2005年的FreeBSD-pf邮件列表,你可以通过一条路线来规避这个限制。我从来没有使用过pf,但如果我理解语法和链接的电子邮件,下面的规则与您的rdr规则可能是正确的?

代码语言:javascript
运行
复制
rdr inet proto tcp from any to 10.0.0.0/8 -> 127.0.0.1 port 12345
pass out route-to (lo0 127.0.0.1) from any to 10.0.0.0/8

我意识到我很难成为这里的任何专家,但是,我希望我的评论能帮助你找到一个解决方案。

关于你在问题结尾时的评论,你写的是:

我不确定rdr规则是否等同于iptables nat。Redsocks需要连接来保持目标ip/端口,以便通过代理进行正确的转发。因此,我认为包中的目的地不应该更改/重写为127.0.0.1:12345。

根据iptables扩展(8),重定向目标:

“它通过将目标IP更改为传入接口的主地址,将数据包重定向到机器本身.”

而且,TPROXY保留了原来的目的地地址:

“它将数据包重定向到本地套接字,而不以任何方式更改数据包报头。”

我不知道pf是否支持特定于linux的TPROXY操作。

票数 4
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/709369

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档