Очередной вопрос по rdrИмеется машина на FreeBSD являющаяся шлюзом. На ней включен форвардинг и стоит pf. На основе pf поднят NAT. За NAT'ом имеются две машины. Внимание задача: при обращении на порт 8000 машины запрос должен перенаправляться на одну из машин в сети на порт 22 (ssh). Собственно вот правила pf:
ext_if="re0"
int_if="rl0"
rm_c="{ x.x.226.151 }"
work_c="{ 192.168.102.148, 192.168.102.70 }"
nat on $ext_if from $work_c to any -> $ext_if
rdr on $ext_if proto tcp from any to y.y.247.33 port 8000 -> 192.168.102.70 port 22
block in on $ext_if all
pass in on $ext_if proto icmp from any
pass in on $ext_if proto tcp from any to $ext_if port 80
pass in on $ext_if proto tcp from $rm_c to $ext_if port 22
pass in on $ext_if proto tcp from any to any port 8000
pass in on $ext_if proto udp from any to any
pass on $int_if all
pass out on $ext_if proto tcp all modulate state
pass out on $ext_if proto { udp, icmp } all keep state
И теперь вопрос - почему может не работать rdr?