ابتدا فایل زیر را با نام rc.Firewall در مسیر /etc/rc.d ذخیره کنید و سپس در فایل rc.local آن را فراخوانی کنید.
#!/bin/sh
echo -e "\n\nLoading NAT script written by H.Zolghadri 1380/5/3 \n"
IPTABLES=/sbin/iptables
EXTIF="eth0"
INTIF="eth1"
echo " External Interface: $EXTIF"
echo " Internal Interface: $INTIF"
echo -en " loading modules: "
echo " - Verifying that all kernel modules are ok"
/sbin/depmod -a
echo -en "ip_tables, "
/sbin/insmod ip_tables
echo -en "ip_conntrack, "
/sbin/insmod ip_conntrack
echo -en "ip_conntrack_ftp, "
/sbin/insmod ip_conntrack_ftp
echo -en "ip_conntrack_irc, "
/sbin/insmod ip_conntrack_irc
echo -en "iptable_nat, "
/sbin/insmod iptable_nat
echo -en "ip_nat_ftp, "
/sbin/insmod ip_nat_ftp
echo ". Done loading modules."
echo " enabling forwarding.."
echo "1" > /proc/sys/net/ipv4/ip_forward
echo " enabling DynamicAddr.."
echo "1" > /proc/sys/net/ipv4/ip_dynaddr
echo " clearing any existing rules and setting default policy.."
$IPTABLES -P INPUT ACCEPT
$IPTABLES -F INPUT
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -F OUTPUT
$IPTABLES -P FORWARD DROP
$IPTABLES -F FORWARD
$IPTABLES -t nat -F
echo " FWD: Allow all connections OUT and only existing and related ones IN"
$IPTABLES -A FORWARD -i $EXTIF -o $INTIF -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -j ACCEPT
#$IPTABLES -A FORWARD -j LOG
echo " Enabling SNAT (MASQUERADE) functionality on $EXTIF"
#$IPTABLES -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE
$IPTABLES -t nat -A POSTROUTING -o $EXTIF --source 192.168.0.0/24 -j MASQUERADE
echo -e "\n H.Zolghadri NAT script done.\n"
توجه داشته باشید که نام های کارت شبکه را طبق توضیحات داده شده در متن تغییر دهید.
EXTIF به کارت شبکه ای که به اینترنت متصل است اشاره می کند و INTIF به کارت شبکه ای که به lan متصل است اشاره می کند و همچنین 192.168.0.0 را بایستی به تناسب شبکه خود تغییر دهید.
موفق باشید.