FreeBSD – проброс портов через NATD
FreeBSD – проброс портов через NATD
Собственно вот содержимое конфиг-файлов для реализации. Взято из офизиальной документации, см.ниже. Работает либо alias (-a), либо interface (-n) – выбор за вами. Т.е. в конфиге мы указываем либо алиас-адрес, либо интерфейс.
rc.conf
natd_enable="YES" natd_interface="rl0" natd_flags="-f /etc/natd.conf"
natd.conf
interface rl0 same_ports use_sockets unregistered_only redirect_port tcp 192.168.0.10:25 25 # редирект идет на 192.168.0.10 с 25го порта на 25й.
rc.firewall
# Я решил не изменять дефолтный:
# Main devert for ALL
case ${natd_enable} in
[Yy][Ee][Ss])
if [ -n “${natd_interface}” ]; then
${fwcmd} add divert natd all from any to any via ${natd_interface}
fi
;;
esac# Allow SMTP – обратите внимание – разрешение идет после диверта
${fwcmd} add allow tcp from any to 192.168.2.197 25 via ${oif}
Для запуска 2х инстансов NATD либо так:
rc.firewall
#First NAT
natd -m -u -a ${oip1} -p 8668
${fwcmd} add divert 8668 all from any to any via ${oif2}# Second NAT
natd -m -u -a ${oip2} -p 8778
${fwcmd} add divert 8778 all from any to any via ${oif2}
либо через natd.conf
# default instance port 8668 alias_address 158.152.17.1 # second instance instance dsl1 port 8778 alias_address 192.168.0.1
Сам NATD для перезапуска можно кильнуть: killall natd или kill PID(NATD), а затем запустить /etc/rc.d/natd -f /etc/natd.conf
Либо: /etc/rc.d/natd restart
Важное замечание: разрешающее правило для прохождения пакета должно стоять после диверта, а до этого никких РАЗРЕШАЮЩИХ (запрещающих) правил. Проверено, если стоит разрешающее правило перед дивертом и после диверта тоже разрешающее, то до второго пакет не доходит, даже несмотря на net.inet.ip.fw.one_pass=0
http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/network-natd.html
Настройка почты только для отправки Backup in Exchange 2007 SP2 – Consistency check for component …