Назад | Перейти на главную страницу

Проблема с маршрутизацией jail в FreeBSD

У меня есть следующая установка с тюрьмами 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

Короче говоря, это вообще не было связано с тюрьмами или эпаром. Я просто забыл установить запись для обратного маршрута.