作为我工作的一部分,我需要了解客户公司网络中服务器的可用性。为了让我的生活变得艰难,他们的整个网络隐藏在一对网关机器(为此,我们可以假装只有一台机器)运行FreeBSD 7.1-PRERELEASE(不,我不知道为什么他们运行旧的,预发布,版本)。
不幸的是,BSD变种运行PF并且我的PF技能非常有限,所以我试图在这里修改示例:http://home.nuug.no/~peter/pf/en/rdr2servers.html我的情况并制定了以下规则:
(注意,NRPE端口是5666,IP地址中的X只是隐藏真实的IP)
rdr on $ ext_if inet proto tcp from any to $ ext_if port 5666 - > 192.168.X.X
将proto tcp从any传递到192.168.X.X端口5666标志S / SA synproxy状态
尝试连接到192.168.X.X:5666上的NRPE守护程序会产生超时。
我已经确认可以从网关机器(nmap -p5666 192.168.X.X)访问端口5666,并且至少有一些东西存在(nc 192.168.X.X 5666)。我还确认NRPE在被监视的计算机上正常工作(使用nrpe_check -H localhost),并允许所有主机与NRPE守护进程通信(通过nrpe.cfg)。
任何人都可以帮我改写我的PF规则以使其发挥作用吗?作为参考,他们的系统管理员编写了以下PF规则(也没有用):
rdr从$ ext_if inet proto tcp传递到$ ext_if端口5666 - > 192.168.X.X
将$ int_if inet proto tcp从任何一个传递到192.168.X.X端口5666
答案 0 :(得分:0)
只是为了澄清您正在尝试从监控机器连接到外部接口的IP,而不是192.168.X.X地址,对吗?
如果是这样,你可以在防火墙盒子上做一个tcpdump,看看究竟是什么通过?就像是: sudo tcpdump -i host 192.168.X.X AND port 5666
让我们知道从外面发起连接时你看到了什么?