在 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
,所以我实际上是重定向到死胡同。我意识到我最初的问题确实提到了我本地运行的名称服务器,但忽略了提到它是通过另一个守护进程 (尾秤)...并且该守护进程的流量已被阻塞。