作为我工作的一部分,我需要了解我客户的公司网络中服务器的可用性。只是为了让我的生活变得艰难,他们的整个网络都隐藏在一对运行 FreeBSD 7.1-PRERELEASE 的网关机器后面(为此,我们可以假装只有一台机器)(不,我不知道他们为什么运行旧的、预发行版、版本)。
不幸的是,BSD 变体运行 PF 并且我的 PF 技能非常有限,所以我尝试在此处调整示例:http ://home.nuug.no/~peter/pf/en/rdr2servers.html 以适应我的情况并进行了以下操作规则:(
注意,NRPE 端口是 5666,IP 地址中的 X 只是为了隐藏真实 IP)
$ext_if inet proto tcp 上的 rdr 从 any 到 $ext_if 端口 5666 -> 192.168.XX
pass proto tcp from any 到 192.168 .XX 端口 5666 标志 S/SA 同步代理状态
尝试连接到 192.168.XX:5666 上的 NRPE 守护程序会产生超时。
我已经确认可以从网关机器(nmap -p5666 192.168.XX)访问端口 5666,并且至少有一些东西在那里(nc 192.168.XX 5666)。我还确认 NRPE 在受监控机器上正常工作(使用 nrpe_check -H localhost),并且所有主机都可以与 NRPE 守护进程对话(通过 nrpe.cfg)。
谁能帮我重写我的 PF 规则以使其正常工作?作为参考,他们的系统管理员编写了以下 PF 规则(这也不起作用):
rdr pass on $ext_if inet proto tcp from any to $ext_if port 5666 -> 192.168.XX
pass out on $int_if inet proto tcp from any to 192.168.XX 端口 5666