Вобщем есть 2 интерфейса, скажем em0 и tun0
em0 смотрит в сетку, tun0 смотрит в инет
em0 имеет 2 ip, скажем 10.10.0.41 и 10.10.0.42
на 42 сидит jail с чем-то.
как разграничивать доступ этого jail-a куда-то,если подсеть 10.10.0.0/24 используется еще несколькими другими серверами/десктопами?
вот так не пашет:
nat on tun0 from 10.10.0.0/24 to any -> tun0
pass out quick proto tcp from 10.10.0.42 to any port 53 flags S/SA modulate state
block quick log-all allв итоге блочатся все пакеты, тк правило pass out.. не действует.
пакеты валят не от 10.10.0.42, а от ip,который присвоен tun0 :(
если убрать правило nat, тогда пакеты валят корректно от 10.10.0.42.
от других машин в подсети 10.10.0.0/24 пакеты тоже валят корректно, хоть с натом, хоть без.
как это обойти?
на ipfw+natd все работает отлично:
ipfw add divert natd from any to any via tun0
ipfw add pass tcp from 10.10.0.42 to any 53
ipfw add pass tcp from any 53 to 10.10.0.42 established
ipfw add deny log from any to any
получилось только с помощью nat,no nat
но это ж не дело.
надо block.
так впадло переходить назад на ipfw :((