免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5970 | 回复: 2
打印 上一主题 下一主题

[OpenBSD] 新手求帮助 openbsd pf 方面 [复制链接]

论坛徽章:
0
1 [报告]
发表于 2014-07-21 16:40 |显示全部楼层
你的问题写得不清晰,应该整理一下思路先。把电脑都编上编号,把网卡也编上编号,有助于问题解决。

我看你的配置:3台服务器,1台主机(双网卡作为路由器),是吗?

3 台服务器是内网的,你想让外网访问这 3 台服务器中的一台,是这样吗?

pf 规则应该设置在路由器上。

论坛徽章:
0
2 [报告]
发表于 2014-07-21 22:21 |显示全部楼层
本帖最后由 vity 于 2014-07-21 22:22 编辑

网络拓扑情况还是不清楚呀,一般网关 g1 都是双网卡呀。

总之,现在 n1 能访问 10.0.0.6 的 80 端口吗?如果可以的话,就在 n1 上添加 rdr-to 规则:
pass in on em0 proto tcp from any to any port 80 rdr-to 10.0.0.6
将 em0 替换为外网的网卡名称,不能写为内网的网卡名称。

论坛徽章:
0
3 [报告]
发表于 2014-07-22 09:24 |显示全部楼层
典型的网络应该是下图的样子:

w1,w2,w3,g1,n1 的 eth0 都在一个子网中,n1 是网关,这样的话,在 n1 上配置 nat-to 和 rdr-to 即可,给出参考:
pass out on eth1 from eth0:network to any nat-to (eth1)
pass in on eth1 from any to any port 80 rdr-to 10.0.0.6

如果网络是下图的样子,其中有两个网关,g1 和 n1,就不能采用上述方法了。


其实,它的原理就是,内网主机没有公用 ip,所以外网 ip 不用直接访问内网的计算机,而内网的计算机披着网关的皮(借用网关的那个外网网卡的 ip)才得以访问外网,这就是 nat-to 规则的用途。
让网关登记一个端口,特别用于映射内网的指定主机的指定端口,当外网计算机访问网关的那个端口时,网关将请求转发给指定的主机的指定端口处理,,实现了内网主机协助网关处理数据的功能,这就是 rdr-to 规则的用途。又因为内网返回数据时利用 NAT 又披上了皮,所以外网的计算机只能看到它和网关的通信,并不知道网关让网关内部的计算机代理了通信。

如果要实现真正的外网和内网直接通信,需要开辟一条专用通道,叫 tunnel,请查看 ssh 相关手册中的 隧道 问题。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP