openbsd (1:1 mapping) 如果还有内网其他主机要上网怎么办?

OpenBSD的安装、升级、更新等日常问题。

版主: chenjun天地乾坤

回复
openbsdsir008
铁 Fe
帖子: 80
注册时间: 2014-03-20 16:19

openbsd (1:1 mapping) 如果还有内网其他主机要上网怎么办?

帖子 openbsdsir008 » 2014-06-20 17:26

双向映射(1:1映射)

双向映射可以通过 binat-to 参数建立。 binat-to 规则在内部IP地址和外部IP 地址之间建立一对一的映射。这很有用处, 例如: 用路由器自己外部的IP地址在内部网络上提供一个web服务器。 来自Internet到外部IP地址的连接将被转发到内部地址,而来自web服务器的连接(例如DNS请求)将被转换为外部地址。 TCP和UDP端口永远不会被 binat-to 修改,因为它们随着nat规则走。

例子:

web_serv_int = "192.168.1.100"
web_serv_ext = "24.5.0.6"


pass on tl0 from $web_serv_int to any binat-to $web_serv_ext


这样做完了就成功地Bidirectional Mapping (1:1 mapping),那如果内网还有一台电脑也要求上互联网,该怎么办?
使用了binat-to使内网的一台主机可以上互联网了,那如果内网还有另一台电脑也要上网怎么办,还可以再使用nat-to吗?

头像
acheng
锌 Zn
帖子: 581
注册时间: 2011-07-07 21:52

Re: openbsd (1:1 mapping) 如果还有内网其他主机要上网怎么办?

帖子 acheng » 2014-06-20 23:14

没用过这个功能,读了一下FAQ中队binat-to的介绍,它的主要功能应该是(据我的理解 )用于这样的情形:

1. 一台PF/OpenBSD服务器连接互联网,作为网关,有自己的公网IP
2. 同时,内网中有台web服务器,需要对外提供WEB服务,但是又想使用一个独立的、不同于OpenBSD网关的公网IP
3. 但是管理员又不想把这个web服务器直接连接到互联网上,因此在openBSD网关上使用binat-to把web服务器的公网IP和它的内网IP做一个1对1的映射。

这里的关键是有两个公网IP。OpenBSD网关有一个,web服务器使用另外一个。对于其他内网机器,它们要上网依然要使用NAT,但在PF中是NAT-TO到OpenBSD自己的那个公网IP。

openbsdsir008
铁 Fe
帖子: 80
注册时间: 2014-03-20 16:19

Re: openbsd (1:1 mapping) 如果还有内网其他主机要上网怎么办?

帖子 openbsdsir008 » 2014-06-21 10:20

哦 ???!

例如 我公司申请了专线 可以使用 131.38.5.32/29这个网段的公网地址,其中131.38.5.33是isp提供的网关地址。

使用openbsd做为本公司的网关,连接isp机房 ,和内网。


其中内网有一台web服务器。

这样的网络环境 可以使用 1:1 mapping 吗?
是否可以这样理解?

头像
acheng
锌 Zn
帖子: 581
注册时间: 2011-07-07 21:52

Re: openbsd (1:1 mapping) 如果还有内网其他主机要上网怎么办?

帖子 acheng » 2014-06-21 12:55

这种情形可以使用。你有5个可用的IP地址,你可以给OpenBSD网关一个,给你的web服务器一个。
但是,另外的那个IP地址是给web服务器用的,但是也要配置到OpenBSD上(也就是说,OpenBSD上要有两个网卡,或者在一个网卡上绑定两个IP),不然公网上的主机无法找到这个IP.

openbsdsir008
铁 Fe
帖子: 80
注册时间: 2014-03-20 16:19

Re: openbsd (1:1 mapping) 如果还有内网其他主机要上网怎么办?

帖子 openbsdsir008 » 2014-06-23 8:50

openbsd 一块网卡上绑定同一网段的多个ip地址?那实际发送数据包的时候是使用的哪个ip发送的?
例如 本公司申请专线,获得 公网ip 131.38.5.32/29 中的ip地址,如何将131.38.5.34/29和131.38.5.35/29这两个同网段的两个ip地址 ,绑定到同一块网卡上?
如何配置hostname.if 文件?

头像
bsdplus
铁 Fe
帖子: 77
注册时间: 2013-08-16 12:02

Re: openbsd (1:1 mapping) 如果还有内网其他主机要上网怎么办?

帖子 bsdplus » 2014-06-23 13:52

hostname.if配置:

inet 131.38.5.34 255.255.255.248 131.38.5.39 NONE
inet alias 131.38.5.35 255.255.255.255 131.38.5.39

参考man hostname.if

发送数据包时系统会根据目的地IP自动选择。如果有PF相关规则,则使用规则中指定的IP地址。实际使用这种配置方式的话要测试一下。
可以试试route -n get ${目的IP}
=acheng

回复

在线用户

正浏览此版面之用户: Bing [Bot] 和 5 访客