Июн 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

Простейший способ реализовать nat с помощью rinetd

  One Response to “freebsd ipfw natd”

  1. Я только начинаю свои шаги изучения *nix. Ваш пример мне помог спасибо.

 Leave a Reply

(required)

(required)

39 Запросов к базе. 0,304 Генерации страницы, 36MB Использование памяти.
Вы зашли с IP: 23.20.7.34