У меня есть следующая установка с тюрьмами FreeBSD и VNET, которая должна превратиться в установку основной сетевой лаборатории DNS. Хост и джейлы работают под управлением FreeBSD 12.1. Тюрьмы связаны между собой epair
интерфейсы. Тюрьма BRAS, которая должна действовать как граничный маршрутизатор сети, подключена к узлу тюрьмы посредством epair
интерфейсы. Jailhost использует NAT на основе pf.
Я без проблем могу связаться с хостами в WAN из тюрьмы BRAS. Проблема в том, что я ничего не могу достать за тюрьмой BRAS из DNS. Пересылка на BRAS включена, а правила pf для NAT достаточно широки, чтобы разрешить трафик из сети DNS.
Если я правильно понял, мне не нужно несколько выдумок на jailhost с использованием VNET, поправьте меня, если я ошибаюсь. Эта часть тюрем не слишком хорошо задокументирована.
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
Короче говоря, это вообще не было связано с тюрьмами или эпаром. Я просто забыл установить запись для обратного маршрута.