Июн 122011
Собираем ядро
options IPFIREWALL options IPFIREWALL_VERBOSE options IPFIREWALL_DEFAULT_TO_ACCEPT options IPDIVERT options IPFIREWALL_FORWARD options DUMMYNET options IPFIREWALL_NAT options LIBALIAS
Пересобирем ядро.И добавим такие строки в наш скрипт ipfw.
cat /etc/natd.conf same_ports yes use_sockets yes unregistered_only yes
cat /etc/rc.conf natd_enable="YES" natd_interface="rl0" natd_flags="-f /etc/natd.conf"
#!/bin/sh fw='/sbin/ipfw -q' LAN_IF="re0" NET=10.15.5.0/24" IP_OUT="10.15.5.254" PORT="21,80" # ${fw} add divert natd ip from ${NET} to any out via ${LAN_IF} ${fw} add divert natd ip from any to ${IP_OUT} in via ${LAN_IF} # натим порты ftp #${fw} add divert natd from ${NET} to any ${PORT} out via ${LAN_IF} #${fw} add divert natd from any ${PORT} to ${IP_OUT} in via ${LAN_IF} #${fw} add allow tcp from any to any established #${fw} add allow tcp from any to any setup
Пример
если нам нужно пробросит порт 20,21, можно сделать так
в файле /etc/natd.conf:
redirect_port tcp 10.15.7.217:20 20
Я только начинаю свои шаги изучения *nix. Ваш пример мне помог спасибо.