|  | #!/bin/sh | 
|  | # | 
|  | # $Id: nat.sh,v 1.4 2009-12-09 08:45:37 steven Exp $ | 
|  | # | 
|  | # usage: nat.sh | 
|  | # | 
|  |  | 
|  | path_sh=`nv get path_sh` | 
|  | . $path_sh/global.sh | 
|  | echo "Info: nat.sh start " >> $test_log | 
|  |  | 
|  | ZTE_FORWARD_CHAIN=port_forward | 
|  | ZTE_DMZ_CHAIN=DMZ | 
|  | ZTE_MAPPING_CHAIN=port_mapping | 
|  |  | 
|  | iptables -P INPUT ACCEPT | 
|  | iptables -P OUTPUT ACCEPT | 
|  | iptables -P FORWARD ACCEPT | 
|  |  | 
|  | #clear nat | 
|  | iptables -t nat -F | 
|  | iptables -t nat -X $ZTE_FORWARD_CHAIN | 
|  | iptables -t nat -X $ZTE_DMZ_CHAIN | 
|  | iptables -t nat -X $ZTE_MAPPING_CHAIN | 
|  |  | 
|  |  | 
|  | #Make a new chain for nat | 
|  | iptables -t nat -N $ZTE_FORWARD_CHAIN | 
|  | iptables -t nat -N $ZTE_DMZ_CHAIN | 
|  | iptables -t nat -N $ZTE_MAPPING_CHAIN | 
|  |  | 
|  | iptables -t nat -I PREROUTING 1 -j $ZTE_FORWARD_CHAIN | 
|  | iptables -t nat -I PREROUTING 1 -j $ZTE_DMZ_CHAIN | 
|  | iptables -t nat -I PREROUTING 1 -j $ZTE_MAPPING_CHAIN | 
|  |  | 
|  | lan_en=`nv get LanEnable` | 
|  | nat_en=`nv get natenable` | 
|  | if [ "-$nat_en" != "-0" -a "-$lan_en" == "-2" ]; then | 
|  | iptables -t nat -A POSTROUTING -o ${defwan_rel%:*} -j MASQUERADE | 
|  | elif [ "-$nat_en" != "-0" -a "-$lan_en" != "-0" ]; then | 
|  | iptables -t nat -A POSTROUTING -o $defwan_rel -j MASQUERADE | 
|  | fi | 
|  |  | 
|  | clat46_en=1 | 
|  | if [ "-$clat46_en" = "-1" ]; then | 
|  | iptables -t nat -A POSTROUTING -o clat4 -j MASQUERADE | 
|  | fi | 
|  |  | 
|  |  |