我正在尝试在OpenBSD 5.0上configurationpf端口转发
防火墙机器有两个nics:
em0:192.168.200.3 vic0:192.65.214.136
我想转发所有数据包到192.168.200.3:104到192.65.214.131:104。 另外我需要仍然有权访问端口22,为SSH。
到目前为止,我设置的规则是这样的:
set skip on lo pass in log on em0 proto tcp from any to any port 104 rdr-to 192.65.214.131 # By default, do not permit remote connections to X11 block in on ! lo0 proto tcp to port 6000:6010
通过使用tcpdump -n -e -ttt -r / var / log / pflog读取日志,我发现规则0是匹配的,但调用的应用程序没有收到它期望的确认。
我做错了什么?
BTW。 我可以ping和telnet到192.65.214.131。
编辑:这是新的/etc/pf.conf,现在它工作。 感谢猎鹰。
set skip on lo pass in log on em0 proto tcp from any to any port 104 rdr-to 192.65.214.131 pass out on vic0 from em0:network to any nat-to vic0 # By default, do not permit remote connections to X11 block in on ! lo0 proto tcp to port 6000:6010
编辑:嗯,自然规则只适用于数据包从192.168.200.x发送,但有些数据包从192.168.7.xxx发送,我怎么能允许这些呢?
先谢了,莱昂纳多。
确保客户端接口能够ping通192.65.214.131以及运行pf的服务器,并且192.65.214.131能够ping客户端计算机(或者由于某些原因禁用ping,只要确保他们有路由这样可行)。 这些设置的一个真正常见的问题是,数据包可以通过NAT的帮助到达主机,但是如果NAT只改变了目的地址而不是源地址,或者只打算redirect,但是路由表不会,显示回来的path,数据包只能走一条路,而且你有一个不对称的路由失败。