Mожет такой скрипт поможет?
здесь нужно указать правильный путь к модулям.
......insmod /lib/modules/2.2.16-SMP/ipv4/ip_masq_ftp.o
......insmod /lib/.....
....
#####################################################
#!/bin/sh
# Starting up the firewall
echo
echo Stand by while starting up the firewall...
echo
# Starting IP forwarding
echo Starting IP forwarding
echo 1 > /proc/sys/net/ipv4/ip_forward
# IP Forward mu? vorher aktiviert werden.
# Unter SuSE sollte der Befehl in der rc.config aktiviert werden.
# Bei Masquerading mu? zus?tzlich noch IP_DYNIP in der
# rc.config aktiviert sein.
echo Start RP filter for anti spoofing shield
echo 1 > /proc/sys/net/ipv4/conf/all/rp_filter
# Anti Spoofing Schutz wird aktiviert.
# Deleting all chains
echo Deleting all existing chains...
ipchains -F
# Alle existierenden Regeln werden gel?scht
# Default policy
echo Setting up default policy...
ipchains -P input DENY
ipchains -P forward DENY
ipchains -P output DENY
# Die Default Policy wird auf DENY gesetzt
# Somit haben Sie jetzt eine ultimative Firewall
# Variables
echo Setting up all defined variables...
DEV_LNET=eth0
IP_LNET=192.168.0.1
DEV_INET=ppp0
LNET=192.168.0.0/24
GLOBAL=0.0.0.0/0
# Alle n?tigen Variabeln werden jetzt definiert
# Loopback
echo Setting up loopback interface...
ipchains -A input -i lo -j ACCEPT
ipchains -A output -i lo -j ACCEPT
# Zugriff auf den Loopback Device
# Intranet connections
echo Setting up intranet connections...
ipchains -A input -i eth0 -s $LNET -j ACCEPT
ipchains -A output -i eth0 -d $LNET -j ACCEPT
# Das maskierte Netz hat Zugriff auf das Netzwerk Device ETH0
# Internet connections
echo Setting up internet syn connections...
ipchains -A input -s $LNET 1024: -p tcp -i $DEV_LNET -j ACCEPT
# Alles was aus dem LAN ?ber dem Port 1023 auf ETH0 ankommt
# und TCP verwendet wird akzeptiert und an die forward chain ?bergeben
ipchains -A forward -s $LNET 1024: -p tcp -i $DEV_INET -j MASQ
# Alles was aus dem LAN ?ber dem Port 1023 und TCP verwendet
# wird maskiert, an das IPPP0 weitergeleitet (geroutet)
# und somit an die output chain ?bergeben
ipchains -A output -s $GLOBAL 1024: -p tcp -i $DEV_INET -j ACCEPT
# Alles was von ?berall ($GLOBAL) ?ber das IPPP0 Device nach
# drau?en m?chte und TCP verwendet wird akzeptiert.
# Jetzt folgt nochmal genau das selbe nur mit dem UDP Protokoll.
# Dieses ist zum Beispiel notwendig f?r Nameserveranfragen.
ipchains -A input -s $LNET 1024: -p udp -i $DEV_LNET -j ACCEPT
ipchains -A forward -s $LNET 1024: -p udp -i $DEV_INET -j MASQ
ipchains -A output -s $GLOBAL 1024: -p udp -i $DEV_INET -j ACCEPT
# Internet answers
echo Setting up internet ack connections...
ipchains -A input --sport 20 -d $GLOBAL 1024: -p tcp -i $DEV_INET -j ACCEPT
ipchains -A output --sport 20 -d $LNET 1024: -p tcp -i $DEV_LNET -j ACCEPT
# Diese beiden Regeln sind daf?r zust?ndig, da? aktives FTP funktioniert.
# Ich erlaube also einen Zugriff auf einen privilegierten Port (Ger?t PPP0).
# Allerdings kann niemand auf den Port eine Verbindung aufbauen da
# er daf?r den Kontrollport 21 braucht, der allerdings von au?en gesperrt ist.
ipchains -A input -d $GLOBAL 1024: -p tcp -i $DEV_INET -j ACCEPT ! -y
# Alles was ?ber dem Port 1023 mit dem Protokoll TCP auf dem IPPP0 Device
# ankommt wird akzeptiert, wenn keine Verbindung zu ihm aufgebaut wurde.
ipchains -A output -d $LNET 1024: -p tcp -i $DEV_LNET -j ACCEPT ! -y
# Alles ?ber dem Port 1023 mit dem Protokoll TCP und dem LAN als
# Ziel wird akzeptiert, wenn keine Verbindung zu ihm aufgebaut wurde.
ipchains -A input -d $GLOBAL 1024: -p udp -i $DEV_INET -j ACCEPT
ipchains -A output -d $LNET 1024: -p udp -i $DEV_LNET -j ACCEPT
# icmp-acc
echo Setting up icmp defined restrictions...
ipchains -N icmp-acc
# Benutzerdefinierte Chain wird erstellt.
ipchains -A icmp-acc -p icmp --icmp-type echo-reply -j ACCEPT
ipchains -A icmp-acc -p icmp --icmp-type echo-request -j ACCEPT
ipchains -A icmp-acc -p icmp --icmp-type destination-unreachable -j ACCEPT
ipchains -A icmp-acc -p icmp --icmp-type source-quench -j ACCEPT
ipchains -A icmp-acc -p icmp --icmp-type time-exceeded -j ACCEPT
ipchains -A icmp-acc -p icmp --icmp-type parameter-problem -j ACCEPT
# ICMP Pakete (echo-reply, echo-request , destination-unreachable, source-quench
# time-exceeded, parameter-problem) werden akzeptiert.
# icmp
echo Setting up icmp major restrictions...
ipchains -A input -p icmp -j icmp-acc
# Alle eingehenden Pakete werden an die benutzerdefinierte Regel icmp-acc weitergeleitet.
ipchains -A forward -p icmp -j MASQ
# Alle Pakete die zwischen den Netzwerk Devices geroutet und maskiert.
ipchains -A output -p icmp -j icmp-acc
# Alle ausgehende Pakete werden an die benutzerdefinierte Regel icmp-acc weitergeleitet.
# Masquerading
echo Loading modules for masquerading...
# Module f?r Masquerading werden geladen
insmod /lib/modules/2.2.16-SMP/ipv4/ip_masq_ftp.o
insmod /lib/modules/2.2.16-SMP/ipv4/ip_masq_irc.o
insmod /lib/modules/2.2.16-SMP/ipv4/ip_masq_quake.o
insmod /lib/modules/2.2.16-SMP/ipv4/ip_masq_raudio.o
insmod /lib/modules/2.2.16-SMP/ipv4/ip_masq_vdolive.o
insmod /lib/modules/2.2.16-SMP/ipv4/ip_masq_cuseeme.o
echo
echo Firewall active
echo
###################################################