我有以下设置,包括 FreeBSD jail 和 VNET,它们应该发展成为 DNS 核心网络实验室设置。jailhost 和 jail 运行 FreeBSD 12.1。jail 通过epair
接口连接。BRAS jail 应该充当网络的边缘路由器,它通过epair
接口连接到 jail 主机。jailhost 运行基于 pf 的 NAT
我可以从 BRAS jail 毫无问题地访问 WAN 中的主机。问题是我无法从 DNS 访问 BRAS jail 后面的任何东西。BRAS 上的转发已启用,NAT 的 pf 规则足够宽泛,可以允许来自 DNS 网络的流量。
如果我理解正确的话,我不需要使用 VNET 在 jailhost 上进行多次 fib,如果我错了,请纠正我。jails 的这一部分记录得不太好。
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
答案1
长话短说,这与监狱或 epair 完全无关。我只是忘了设置返回路线的条目。