Ниже описано как в разрыв между внешним миром и локальной сетью поставить машину на базе OpenBSD,
на которой будет в прозрачном режиме отсеиваться спам через spamd.fxp2 - внешний интерфейс
fxp0 - интерфейс локальной сети
Поднимаем бридж:
ifconfig fxp0 up
ifconfig fxp2 inet 172.16.5.111 netmask 255.255.255.0 up
route add default 172.16.5.1
ifconfig bridge0 create
brconfig bridge0 add fxp0 add fxp2 up
Проверяем включен ли форвадинг пакетов между интерфейсами и загружаем правила пакетного фильтра pf:
sysctl net.inet.ip.forwarding=1
pfctl -ef /etc/pf.conf
где /etc/pf.conf:
ext_if="fxp2"
table <spamd> persist
table <spamd-white> persist
rdr on $ext_if inet proto tcp from <spamd> to port smtp \
-> 127.0.0.1 port spamd
rdr on $ext_if inet proto tcp from !<spamd-white> to port smtp \
-> 127.0.0.1 port spamd
# "log" so you can watch the connections getting trapped
pass in log on $ext_if route-to lo0 inet proto tcp to 127.0.0.1 port spamd
URL: http://undeadly.org/cgi?action=article&sid=20061108134508
Обсуждается: http://www.opennet.dev/tips/info/1331.shtml