通过NAT和PF的FreeBSD Jail访问专用网络
时间:2020-01-09 10:44:02 来源:igfitidea点击:
我的FreeBSD 7.x服务器被配置为三个 Jail,分别运行邮件,Web和MySQL服务。
我的FreeBSD服务器有两个网络接口。
首先,接口连接到LAN,其他接口通过公共IP直接连接到Internet。
我的DNS服务器托管在专用网络(LAN)上。
FreeBSD 7.x Jail只支持一个接口和一个IP地址。
如何配置 Jail(FreeBSD vps)使用PF防火墙访问局域网中托管的DNS服务器?
NAT是您问题的答案。
您可以使用BSD PF或者FreeBSD防火墙来设置NAT。
使用NAT将所有专用流量路由到LAN。
这个简单的pf规则非常明确地说明了它将执行的操作。
我将源指定为我的公共IP子网,并将目标指定为10.0.0.0/8。
这使NAT成为可能,但针对此非常特定的需求。
打开/etc/pf.conf文件,执行:
# vi /etc/pf.conf
追加代码如下:
lan_if="em0" lan_if_subnet="10.0.0.0/8" lan_if_ip="10.28.11.10" jail_vps_server_ip="192.54.2.3" nat on $lan_if inet proto { tcp, udp, icmp } from $jail_vps_server_ip to $lan_if_subnet -> $lan_if_ip
保存并关闭文件。
重新加载新规则:
# /etc/rc.d/pf reload
其中:
lan_if = em0:服务器的真实接口名称。这已连接到局域网。
lan_if_subnet = 10.0.0.0/8
:添加LAN子网。lan_if_ip = 10.28.11.10:em0 IP地址
jail_vps_server_ip = 192.54.2.3
: Jail服务器的公共IP地址。如果您为 Jail分配了5-6个公共IP地址(例如192.54.2.3/29),则可以使用子网。