
Есть такая ситуевина: роутер (дестктоп с фряхой и PF), на котором помимо инета от прова, так же есть коннект до сервера openvpn, через который необходимо локальные хосты пускать на некоторые сайты из некоторого списка, вопрос всей этой реализации.
Изначально моя задумка была следующей: создать у pf файл-таблицу куда складывать домены необходимых ресурсов, скоре оказалось, что это неосуществимо, т.к. мне либо прийдется переписывать дефолтный маршрут провайдера дефолтным маршрутом впн иначе трафик не идет.
Код: Выделить всё
int_if="em0"
ext_if="em1"
work_vpn = "tun0"
vps_if="tun5"
whoer="162.159.247.58"
whoer2="162.159.246.58"
# to inet #
nat on $ext_if from $int_if:network to { !$work_local, !$whoer } -> ($ext_if)
# from openvpn #
nat on $work_vpn from $int_if:network to $work_local -> ($work_vpn)
# for blocked sites #
nat on $vps_if from any to $whoer -> ($vps_if)
Так же поглядывал в сторону FIB, но как работать с ним в связке с PF, я найти не смог. Вскоре после FIB докатился до "PF: Address Pools and Load Balancing", но на обычное правило "match out on $ext_if from $int_if:network nat-to ($ext_if)" pfctl -nf говорит, что у меня ошибка в данной строке, без каких либо подробностей... В общем беда))))))
Подскажите, как бы поступить?
P.S. Общая инфа:
FreeBSD 10.2-RELEASE-p7 amd64
Отправлено спустя 1 час 5 минут 31 секунду:
А ну и ещё как вариант прозрачный проксик поставить на серваке с vpn, но чегото мне тоже както не по душе эта затея, но как вариант...