使用 pf 进行端口转发 DNS

使用 pf 进行端口转发 DNS

在 OpenBSD 上,我可以使用以下命令成功且透明地将端口 80 和 443 转发到在自定义非特权端口上运行的服务/etc/pf.conf

tcp_pass = "{ 22 80 123 443 }"

block all
pass out log on egress proto tcp to any port $tcp_pass keep state

pass in log on egress proto tcp from any to any port 80 rdr-to 127.0.0.1 port 3080 keep state
pass in log on egress proto tcp from any to any port 443 rdr-to 127.0.0.1 port 3443 keep state

我通过加载绑定到的静态文件服务器来测试这一点3080,然后从另一台机器对服务器执行 cURL 调用,如下所示:

curl -v 192.168.1.xxx

...我得到了 200 状态代码和我期望的 HTML 内容。

答案1

我想我解决了它!

据我所知,我的问题的关键在于,我的初始规则适用于 ,53但我没有允许进出 的流量的规则5353,所以我实际上是重定向到死胡同。我意识到我最初的问题确实提到了我本地运行的名称服务器,但忽略了提到它是通过另一个守护进程 (尾秤)...并且该守护进程的流量已被阻塞。

相关内容