我有以下带有 FreeBSD 监狱和 VNET 的设置,它应该成长为 DNS 核心网络实验室设置。jailhost 和 jails 运行的是 FreeBSD 12.1。监狱通过epair
接口连接。作为网络边缘路由器的 BRAS 监狱通过epair
接口连接到监狱主机。监狱主机运行基于 pf 的 NAT
我可以毫无问题地从 BRAS 监狱访问 WAN 中的主机。问题是我无法从 DNS 访问 BRAS 监狱后面的任何内容。BRAS 上的转发已启用,并且 NAT 的 pf 规则足够广泛,可以允许来自 DNS 网络的流量。
如果我理解正确,我不需要在使用 VNET 的 jailhost 上进行多个 fib,如果我错了,请纠正我。监狱的那部分没有很好的记录。
root@bras:/ # netstat -r
Routing tables
Internet:
Destination Gateway Flags Netif Expire
default 172.16.3.1 UGS epair8b
localhost link#1 UH lo0
172.16.1.0/30 link#4 U epair7a
172.16.1.1 link#4 UHS lo0
172.16.3.0/30 link#5 U epair8b
172.16.3.2 link#5 UHS lo0
root@dns:/ # netstat -r
Routing tables
Internet:
Destination Gateway Flags Netif Expire
default 172.16.1.1 UGS epair7b
localhost link#1 UH lo0
172.16.1.0/30 link#2 U epair7b
172.16.1.2 link#2 UHS lo0
# pf.conf jailhost
ext_if="vtnet0"
jail_if="epair8a"
IP_PUB="redacted"
IP_JAIL="172.16.3.1"
NET_JAIL="172.16.0.0/16"
scrub in all
nat pass on $ext_if from $NET_JAIL to any -> $IP_PUB
长话短说,它根本与监狱或配对无关。我只是忘记为返回路线设置一个条目。