Прошу прощения, почтой выслать нет возможности поэтому публикую здесь.
В /etc/rc.conf добавлено:
firewall_enable="YES"
firewall_script="/etc/ipfw.rules"
natd_enable="NO"natd запускаются из /etc/rc.local:
/sbin/natd -f /etc/natd1.conf
/sbin/natd -f /etc/natd2.conf
В /etc/natd1.conf пишем:
use_sockets yes
same_ports yes
log_ipfw_denied yes
log_denied yes
log_facility daemon
alias_address 80.22.22.22
port 32001
В /etc/natd2.conf пишем:
use_sockets yes
same_ports yes
log_ipfw_denied yes
log_denied yes
log_facility daemon
alias_address 80.22.22.23
port 32002
В /etc/ipfw.rules пишем:
#!/bin/sh
fwcmd="/sbin/ipfw"
oif="rl0" # Внешний интерфейс.
iif="rl1" # Внутренний интерфейс.
wan1="80.22.22.22" # Внешний адрес N1.
wan2="80.22.22.23" # Внешний адрес N2.
base="10.0.0.0/24"
hosts1="{2-100}"
hosts2="{101-254}"
# Сбрасываем правила фаирвола.
$fwcmd -f flush
# Запрещаем спуфинг на внешнем интерфейсе.
$fwcmd add deny log all from any to any in via $oif not verrevpath
# Разрешаем траффик на внутреннем интерфейсе.
$fwcmd add allow all from any to any via ${iif}
#Заворачиваем пакеты, входящие с внешнего интерфейса, в диверт.
$fwcmd add divert 32001 all from any to ${wan1} in via ${oif}
$fwcmd add divert 32002 all from any to ${wan2} in via ${oif}
# Проверяем состояние динамических правил.
$fwcmd add check-state
# Разрешаем локальный траффик.
$fwcmd add allow all from any to any via lo0
$fwcmd add deny all from any to 127.0.0.0/8
$fwcmd add deny all from 127.0.0.0/8 to any
# Запоминаем состояние сессий относящихся к NAT.
$fwcmd add skipto 60000 all from ${base}${hosts1} to any out via ${oif} keep-state
$fwcmd add skipto 60000 all from ${base}${hosts2} to any out via ${oif} keep-state
# Разрешаем себе выход наружу.
$fwcmd add allow all from me to any via ${oif} keep-state
# Запрещаем всё по-умолчанию.
$fwcmd add deny log all from any to any
#Заворачиваем исходящие пакеты в диверт.
$fwcmd add 60000 divert 32001 all from ${base}${hosts1} to any out via ${oif}
$fwcmd add divert 32002 all from ${base}${hosts2} to any out via ${oif}
$fwcmd add allow all from any to any
PS: Всё это работает на FreeBSD 5.5-STABLE, но думаю что и на 6.1 проблем не будет.