SHARE
TWEET

wan_start.sh

boubou62 Jul 13th, 2018 71 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #!/bin/sh
  2.  
  3. PROFILE_CFG=/userfs/profile.cfg
  4. if [ -f $PROFILE_CFG ] ; then
  5.     . $PROFILE_CFG
  6. fi
  7.  
  8. if [ "$TCSUPPORT_UNIQUEMAC" != "" ] ;then
  9.         if [ $# -gt 3 ] ; then
  10.                 echo "usage: $0 [PVCn] [UniqueMac Flag] [Unique Mac]"
  11.                 exit 0
  12.         fi
  13. else
  14.         if [ "$TCSUPPORT_MULTISERVICE_ON_WAN" != "" ] && [ "$TCSUPPORT_WAN_PTM" != "" -o "$TCSUPPORT_WAN_ETHER" != "" ] ;then
  15.                 if [ $# != 2 ]; then
  16.                         echo "usage: $0 [PVCn] [Service_Num]"
  17.                         exit 0
  18.                 fi
  19.         else    
  20.                 if [ $# != 1 ] ; then
  21.                         echo "usage: $0 [PVCn]"
  22.                         exit 0
  23.                 fi
  24.         fi
  25. fi
  26.  
  27. i=$1
  28. k=$1
  29. if [ "$i" = "8" ] || [ "$i" = "9" ] || [ "$i" = "10" ] ; then
  30.         isPTMETHER=1
  31. else
  32.         isPTMETHER=0
  33. fi      
  34. if [ "$TCSUPPORT_MULTISERVICE_ON_WAN" != "" ] && [ "$TCSUPPORT_WAN_PTM" != "" -o "$TCSUPPORT_WAN_ETHER" != "" ] ;then
  35.         if [ "$isPTMETHER" = "1" ] ; then
  36.                 org_i=$i
  37.                 serv_num=$2
  38.                 i="$i"_"$serv_num"
  39.                 k="$org_i""$serv_num"
  40.         fi      
  41.         ifconfig nas$org_i up
  42. fi
  43.  
  44. if [ "$TCSUPPORT_UNIQUEMAC" != "" ] ;then
  45.         UNIQUEMAC_FLAG=$2
  46.         UNIQUE_MAC=$3
  47. fi
  48.  
  49. CONFFILE=/etc/isp$i.conf
  50. #echo $CONFFILE
  51.  
  52. if [ -f $CONFFILE ] ; then
  53.         chmod 777 $CONFFILE
  54.         . $CONFFILE
  55. else
  56.         exit 0
  57. fi
  58.  
  59. MAC_CONFFILE=/etc/mac.conf
  60. if [ -f $MAC_CONFFILE ]; then
  61.         chmod 777 $MAC_CONFFILE
  62.         . $MAC_CONFFILE
  63. fi
  64.                
  65. if [ "$Active" != "Yes" ] ; then
  66.         exit 0
  67. fi
  68. if [ $ISP = "0" ] ; then
  69. if [ "$TCSUPPORT_WAN_GPON" != "" ] || [ "$TCSUPPORT_WAN_EPON" != "" ]; then
  70.                 if [ "$BridgeInterface" = "Yes" ] ; then
  71.                         /usr/bin/smuxctl add ipoe_bi pon nas$i
  72.                 else
  73.         /usr/bin/smuxctl add ipoe pon nas$i          
  74.                 fi
  75. else
  76.         if [ "$TCSUPPORT_MULTISERVICE_ON_WAN" != "" ] && [ "$TCSUPPORT_WAN_PTM" != "" -o "$TCSUPPORT_WAN_ETHER" != "" ] && [ "$isPTMETHER" = "1" ]; then
  77.                 if [ "$BridgeInterface" = "Yes" ] ; then
  78.                         /usr/bin/smuxctl add ipoe_bi nas$org_i nas$i
  79.                 else
  80.                         /usr/bin/smuxctl add ipoe nas$org_i nas$i
  81.                 fi
  82.         fi      
  83.  
  84.         if [ "$QOS" = "ubr" ] ; then
  85.                 PCR_V="-p $PCR"
  86.         elif [ "$QOS" = "cbr" ] || [ "$QOS" = "rt-vbr" ] || [ "$QOS" = "nrt-vbr" ] ; then
  87.                 PCR_V="-p $PCR -q $SCR -m $MBS"
  88.         fi
  89.        
  90.         if [ "$ENCAP" = "1483 Bridged IP LLC" ] ; then
  91.                 ENCAP_T="-e 0"
  92.         elif [ "$ENCAP" = "1483 Bridged IP VC-Mux" ] ; then
  93.                 ENCAP_T="-e 1"
  94.         elif [ "$ENCAP" = "1483 Routed IP LLC(IPoA)" ] ; then
  95.                 ENCAP_T="-e 2"
  96.         elif [ "$ENCAP" = "1483 Routed IP VC-Mux" ] ; then
  97.                 ENCAP_T="-e 3"
  98.         fi
  99.        
  100.         if [ "$TCSUPPORT_WAN_ATM" != "" -o "$TCSUPPORT_WAN_PTM" != "" -o "$TCSUPPORT_WAN_ETHER" != "" ]; then
  101.                 #ATM only
  102.                 if [ "$isPTMETHER" = "0" ] ; then
  103.                         br2684ctl -c $i $ENCAP_T -t $QOS $PCR_V -a 0.$VPI.$VCI &
  104.                         echo $! > /var/run/nas$i.pid
  105.                         sleep 1
  106.                 fi
  107.         else
  108.                 br2684ctl -c $i $ENCAP_T -t $QOS $PCR_V -a 0.$VPI.$VCI &
  109.                 echo $! > /var/run/nas$i.pid
  110.                 sleep 1
  111.         fi
  112.  
  113. if [ "$TCSUPPORT_UNIQUEMAC" != "" ] ;then
  114.         if [ "$UNIQUEMAC_FLAG" = "1" ]; then
  115.                 /sbin/ifconfig nas$i hw ether $UNIQUE_MAC
  116.         else    
  117.                 if [ "$WAN_MAC" != "" ]; then
  118.                 /sbin/ifconfig nas$i hw ether $WAN_MAC
  119.                 fi
  120.         fi
  121. else
  122.         if [ "$TCSUPPORT_MULTISERVICE_ON_WAN" = "" ] || [ "$TCSUPPORT_WAN_PTM" = "" -a "$TCSUPPORT_WAN_ETHER" = "" ] || [ "$isPTMETHER" != "1" ] ;then
  123.         if [ "$WAN_MAC" != "" ]; then
  124.                  /sbin/ifconfig nas$i hw ether $WAN_MAC
  125.         fi
  126. fi
  127. fi
  128. fi
  129.         /sbin/ifconfig nas$i 0.0.0.0
  130.         if [ "$MTU" = "0" ] || [ "$MTU" = "" ] ; then
  131.                 /sbin/ifconfig nas$i mtu 1500
  132.                 iptables -A FORWARD -o nas$i -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
  133.         else
  134.                 /sbin/ifconfig nas$i mtu $MTU
  135.                 iptables -A FORWARD -o nas$i -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
  136.         fi
  137.  
  138.         if [ "$TCSUPPORT_UNIQUEMAC" != "" ] ;then
  139.                 if [ "$UNIQUEMAC_FLAG" = "1" ]; then
  140.                         if [ "$DEFAULTROUTE" = "Yes" ] ; then
  141.                                 /sbin/udhcpc -i nas$i -s /usr/script/udhcpc.sh -p /var/run/udhcpc-nas$i.pid -m $UNIQUE_MAC &
  142.                         else
  143.                                 /sbin/udhcpc -i nas$i -s /usr/script/udhcpc_nodef.sh -p /var/run/udhcpc-nas$i.pid -m $UNIQUE_MAC &
  144.                         fi
  145.                 else    
  146.                         if [ "$WAN_MAC" != "" ]; then
  147.                                 if [ "$DEFAULTROUTE" = "Yes" ] ; then
  148.                                         /sbin/udhcpc -i nas$i -s /usr/script/udhcpc.sh -p /var/run/udhcpc-nas$i.pid -m $WAN_MAC &
  149.                                 else    
  150.                                         /sbin/udhcpc -i nas$i -s /usr/script/udhcpc_nodef.sh -p /var/run/udhcpc-nas$i.pid -m $WAN_MAC &
  151.                                 fi
  152.                         fi
  153.                 fi
  154.         else
  155.                 if [ "$TCSUPPORT_WPA_SUPPLICANT" = "" ] && [ "$802_1X_STATUS" != "Enable" ];then
  156.                         if [ "$WAN_MAC" != "" ]; then
  157.                                 if [ "$DEFAULTROUTE" = "Yes" ] ; then
  158.                                         /sbin/udhcpc -i nas$i -s /usr/script/udhcpc.sh -p /var/run/udhcpc-nas$i.pid -m $WAN_MAC &
  159.                                 else    
  160.                                         /sbin/udhcpc -i nas$i -s /usr/script/udhcpc_nodef.sh -p /var/run/udhcpc-nas$i.pid -m $WAN_MAC &
  161.                                 fi
  162.                         fi
  163.                 fi
  164.         fi
  165.  
  166.        
  167.         if [ "$NATENABLE" = "Enable" ] ; then
  168. #               iptables -t nat -A POSTROUTING -j ADDRMAP_POS$i
  169.         if [ "$TCSUPPORT_MULTI_NAT" != "" ] ;then
  170.                 iptables -t nat -A ADDRMAP_POS -j ADDRMAP_POS$i
  171.         fi      
  172.                 iptables -t nat -A POSTROUTING -o nas$i -j MASQUERADE
  173.                 iptables -t nat -A PREROUTING -j VS_PRE$i
  174.                 iptables -t nat -A PREROUTING -j DMZ_PRE$i
  175. #               iptables -t nat -A PREROUTING -j ADDRMAP_PRE$i
  176.         if [ "$TCSUPPORT_MULTI_NAT" != "" ] ;then
  177.                 iptables -t filter -A ADDRMAP_FORWARD -j ADDRMAP_FORWARD$i      
  178.         fi
  179. if [ "$TCSUPPORT_PORT_TRIGGER" != "" ] ;then
  180.                 iptables -t nat -A PREROUTING -i nas$i -j PREROUTING_WAN
  181.                 iptables -t filter -A FORWARD -i nas$i -j FORWARD_WAN
  182. fi
  183.         fi
  184.         WAN_IF=nas$i
  185. elif [ $ISP = "1" ] ; then
  186. if [ "$TCSUPPORT_WAN_GPON" != "" ] || [ "$TCSUPPORT_WAN_EPON" != "" ]; then
  187.                 if [ "$BridgeInterface" = "Yes" ] ; then
  188.                         /usr/bin/smuxctl add ipoe_bi pon nas$i
  189.                 else
  190.         /usr/bin/smuxctl add ipoe pon nas$i
  191.                 fi
  192. else
  193.  
  194.         if [ "$TCSUPPORT_MULTISERVICE_ON_WAN" != "" ] && [ "$TCSUPPORT_WAN_PTM" != "" -o "$TCSUPPORT_WAN_ETHER" != "" ] && [ "$isPTMETHER" = "1" ]; then
  195.                 if [ "$BridgeInterface" = "Yes" ] ; then
  196.                         /usr/bin/smuxctl add ipoe_bi nas$org_i nas$i
  197.                 else
  198.                         /usr/bin/smuxctl add ipoe nas$org_i nas$i
  199.                 fi
  200.         fi      
  201.         if [ "$QOS" = "ubr" ] ; then
  202.                 PCR_V="-p $PCR"
  203.         elif [ "$QOS" = "cbr" ] || [ "$QOS" = "rt-vbr" ] || [ "$QOS" = "nrt-vbr" ] ; then
  204.                 PCR_V="-p $PCR -q $SCR -m $MBS"
  205.         fi
  206.        
  207.         if [ "$ENCAP" = "1483 Bridged IP LLC" ] ; then
  208.                 ENCAP_T="-e 0"
  209.         elif [ "$ENCAP" = "1483 Bridged IP VC-Mux" ] ; then
  210.                 ENCAP_T="-e 1"
  211.         elif [ "$ENCAP" = "1483 Routed IP LLC(IPoA)" ] ; then
  212.                 ENCAP_T="-e 2"
  213.         elif [ "$ENCAP" = "1483 Routed IP VC-Mux" ] ; then
  214.                 ENCAP_T="-e 3"
  215.         fi
  216.        
  217.         if [ "$TCSUPPORT_WAN_ATM" != "" -o "$TCSUPPORT_WAN_PTM" != "" -o "$TCSUPPORT_WAN_ETHER" != "" ]; then
  218.         #ATM only
  219.         if [ "$isPTMETHER" = "0" ] ; then
  220.                 br2684ctl -c $i $ENCAP_T -t $QOS $PCR_V -a 0.$VPI.$VCI &
  221.                 echo $! > /var/run/nas$i.pid
  222.                 sleep 1
  223.         fi
  224.         else
  225.                 br2684ctl -c $i $ENCAP_T -t $QOS $PCR_V -a 0.$VPI.$VCI &
  226.                 echo $! > /var/run/nas$i.pid
  227.                 sleep 1
  228.         fi
  229.  
  230. if [ "$TCSUPPORT_UNIQUEMAC" != "" ] ;then
  231.         if [ "$UNIQUEMAC_FLAG" = "1" ]; then
  232.                 /sbin/ifconfig nas$i hw ether $UNIQUE_MAC
  233.         else    
  234.                 if [ "$WAN_MAC" != "" ]; then
  235.                 /sbin/ifconfig nas$i hw ether $WAN_MAC
  236.                 fi
  237.         fi
  238. else
  239.         if [ "$TCSUPPORT_MULTISERVICE_ON_WAN" = "" ] || [ "$TCSUPPORT_WAN_PTM" = "" -a "$TCSUPPORT_WAN_ETHER" = "" ] || [ "$isPTMETHER" != "1" ] ;then
  240.         if [ "$WAN_MAC" != "" ]; then
  241.                  /sbin/ifconfig nas$i hw ether $WAN_MAC
  242.         fi
  243. fi
  244. fi
  245. fi
  246.         /sbin/ifconfig nas$i $IPADDR netmask $NETMASK up
  247.         if [ "$MTU" = "0" ] || [ "$MTU" = "" ] ; then
  248.                 /sbin/ifconfig nas$i mtu 1500
  249.                 iptables -A FORWARD -o nas$i -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
  250.         else
  251.                 /sbin/ifconfig nas$i mtu $MTU
  252.                 iptables -A FORWARD -o nas$i -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
  253.         fi
  254.         if [ "$DEFAULTROUTE" = "Yes" ] ; then
  255.                 route add default gw $GATEWAY dev nas$i
  256.         fi
  257.         if [ "$NATENABLE" = "Enable" ] ; then
  258. #               iptables -t nat -A POSTROUTING -j ADDRMAP_POS$i
  259.         if [ "$TCSUPPORT_MULTI_NAT" != "" ] ;then      
  260.                 iptables -t nat -A ADDRMAP_POS -j ADDRMAP_POS$i
  261.         fi      
  262.                 iptables -t nat -A POSTROUTING -o nas$i -j MASQUERADE
  263.                 iptables -t nat -A PREROUTING -j VS_PRE$i
  264.                 iptables -t nat -A PREROUTING -j DMZ_PRE$i
  265. #               iptables -t nat -A PREROUTING -j ADDRMAP_PRE$i
  266.         if [ "$TCSUPPORT_MULTI_NAT" != "" ] ;then
  267.                 iptables -t filter -A ADDRMAP_FORWARD -j ADDRMAP_FORWARD$i      
  268.         fi
  269. if [ "$TCSUPPORT_PORT_TRIGGER" != "" ] ;then
  270.                 iptables -t nat -A PREROUTING -i nas$i -j PREROUTING_WAN
  271.                 iptables -t filter -A FORWARD -i nas$i -j FORWARD_WAN
  272. fi
  273.         fi
  274.         WAN_IF=nas$i
  275. elif [ $ISP = "2" ] ; then
  276. if [ "$TCSUPPORT_WAN_GPON" != "" ] || [ "$TCSUPPORT_WAN_EPON" != "" ]; then
  277.                 if [ "$BridgeInterface" = "Yes" ] ; then
  278.                         /usr/bin/smuxctl add pppoe_bi pon nas$i
  279.                 else
  280.         /usr/bin/smuxctl add pppoe pon nas$i
  281.                 fi
  282.  
  283. else
  284.         if [ "$TCSUPPORT_MULTISERVICE_ON_WAN" != "" ] && [ "$TCSUPPORT_WAN_PTM" != "" -o "$TCSUPPORT_WAN_ETHER" != "" ] && [ "$isPTMETHER" = "1" ]; then
  285.                 if [ "$BridgeInterface" = "Yes" ] ; then
  286.                         /usr/bin/smuxctl add pppoe_bi nas$org_i nas$i
  287.                 else
  288.                         /usr/bin/smuxctl add pppoe nas$org_i nas$i
  289.                 fi
  290.         fi
  291. fi
  292. if [ "$CONNECTION" != "Connect_Manually" ] ; then
  293.   #make sure the LCP echo will take no effect about ppp
  294. if [ "$TCSUPPORT_CZ_GENERAL" != "" ] ;then
  295. #yanbing: lcp-echo-failure from 60 to 5
  296.         PPP_PARAM="unit $i user $USERNAME password $PASSWORD nodetach holdoff 4 maxfail 0 usepeerdns lcp-echo-interval 10 lcp-echo-failure 5"
  297. else
  298.         PPP_PARAM="unit $k user $USERNAME password $PASSWORD nodetach holdoff 4 maxfail 0 usepeerdns lcp-echo-interval 1 lcp-echo-failure 60"
  299. fi
  300.         if [ "$TCSUPPORT_WAN_ATM" != "" -o "$TCSUPPORT_WAN_PTM" != "" -o "$TCSUPPORT_WAN_ETHER" != "" ]; then
  301.                 if [ "$isPTMETHER" = "1" ] ; then
  302.                         PPP_PARAM="$PPP_PARAM plugin libpppoe.so nas$i"
  303.                         if [ "$SRVNAME" != "" ] ; then
  304.                                 PPP_PARAM="$PPP_PARAM rp_pppoe_service $SRVNAME"
  305.                         fi
  306.                         ENCAP=""
  307.                 fi
  308.         fi
  309. if [ "$TCSUPPORT_WAN_GPON" != "" ] || [ "$TCSUPPORT_WAN_EPON" != "" ]; then
  310.         PPP_PARAM="$PPP_PARAM plugin libpppoe.so nas$i"
  311.         if [ "$SRVNAME" != "" ] ; then
  312.                 PPP_PARAM="$PPP_PARAM rp_pppoe_service $SRVNAME"
  313.         fi
  314.         if [ "$AUTHEN" = "CHAP" ] ; then
  315.                  PPP_PARAM="$PPP_PARAM -pap"
  316.     elif [ "$AUTHEN" = "PAP" ] ; then
  317.                  PPP_PARAM="$PPP_PARAM -chap -mschap -mschap-v2"
  318.         fi
  319.         /sbin/ifconfig nas$i 0.0.0.0
  320. else
  321.  
  322.     if [ "$ENCAP" = "PPPoE LLC" ] || [ "$ENCAP" = "PPPoE VC-Mux" ] ; then
  323.         PPP_PARAM="$PPP_PARAM plugin libpppoe.so"
  324.         if [ "$SRVNAME" != "" ] ; then
  325.                 PPP_PARAM="$PPP_PARAM rp_pppoe_service $SRVNAME"
  326.         fi
  327.         PPP_PARAM="$PPP_PARAM nas$i"
  328.     elif [ "$ENCAP" = "PPPoA LLC" ] ; then
  329.         PPP_PARAM="$PPP_PARAM plugin libpppoatm.so llc-encaps $VPI.$VCI"
  330.     elif [ "$ENCAP" = "PPPoA VC-Mux" ] ; then
  331.         PPP_PARAM="$PPP_PARAM plugin libpppoatm.so vc-encaps $VPI.$VCI"
  332.     fi
  333.  
  334.         if [ "$TCSUPPORT_WAN_ATM" != "" -o "$TCSUPPORT_WAN_PTM" != "" -o "$TCSUPPORT_WAN_ETHER" != "" ]; then
  335.                 if [ "$isPTMETHER" = "1" ] ; then
  336.                         if [ "$AUTHEN" = "CHAP" ] ; then
  337.                                 PPP_PARAM="$PPP_PARAM -pap"
  338.                         elif [ "$AUTHEN" = "PAP" ] ; then
  339.                                 PPP_PARAM="$PPP_PARAM -chap -mschap -mschap-v2"
  340.                         fi
  341. if [ "$TCSUPPORT_UNIQUEMAC" != "" ] ;then
  342.         if [ "$UNIQUEMAC_FLAG" = "1" ]; then
  343.                 /sbin/ifconfig nas$i hw ether $UNIQUE_MAC
  344.         else    
  345.                 if [ "$WAN_MAC" != "" ]; then
  346.                 /sbin/ifconfig nas$i hw ether $WAN_MAC
  347.                 fi
  348.         fi
  349. else
  350.         if [ "$TCSUPPORT_MULTISERVICE_ON_WAN" = "" ] || [ "$TCSUPPORT_WAN_PTM" = "" -a "$TCSUPPORT_WAN_ETHER" = "" ] || [ "$isPTMETHER" != "1" ] ;then
  351.         if [ "$WAN_MAC" != "" ]; then
  352.                  /sbin/ifconfig nas$i hw ether $WAN_MAC
  353.         fi
  354. fi
  355. fi
  356.                         /sbin/ifconfig nas$i 0.0.0.0
  357.                         ENCAP=""
  358.                         AUTHEN=""      
  359.                 fi
  360.         fi
  361.  
  362.     # PPPoE
  363.     if [ "$ENCAP" = "PPPoE LLC" ] || [ "$ENCAP" = "PPPoE VC-Mux" ] ; then
  364.         if [ "$AUTHEN" = "CHAP" ] ; then
  365.                 PPP_PARAM="$PPP_PARAM -pap"
  366.         elif [ "$AUTHEN" = "PAP" ] ; then
  367.                 PPP_PARAM="$PPP_PARAM -chap -mschap -mschap-v2"
  368.         fi
  369.  
  370.         if [ "$QOS" = "ubr" ] ; then
  371.                 PCR_V="-p $PCR"
  372.         elif [ "$QOS" = "cbr" ] || [ "$QOS" = "rt-vbr" ] || [ "$QOS" = "nrt-vbr" ] ; then
  373.                 PCR_V="-p $PCR -q $SCR -m $MBS"
  374.         fi
  375.         if [ "$ENCAP" = "PPPoE LLC" ] ; then
  376.                 ENCAP_T="-e 0"
  377.         elif [ "$ENCAP" = "PPPoE VC-Mux" ] ; then
  378.                 ENCAP_T="-e 1"
  379.         fi
  380.         br2684ctl -c $i $ENCAP_T -t $QOS $PCR_V -a 0.$VPI.$VCI &
  381.         echo $! > /var/run/nas$i.pid
  382.         sleep 1
  383. if [ "$TCSUPPORT_UNIQUEMAC" != "" ] ;then
  384.         if [ "$UNIQUEMAC_FLAG" = "1" ]; then
  385.                 /sbin/ifconfig nas$i hw ether $UNIQUE_MAC
  386.         else    
  387.                 if [ "$WAN_MAC" != "" ]; then
  388.                 /sbin/ifconfig nas$i hw ether $WAN_MAC
  389.                 fi
  390.         fi
  391. else
  392.         if [ "$TCSUPPORT_MULTISERVICE_ON_WAN" = "" ] || [ "$TCSUPPORT_WAN_PTM" = "" -a "$TCSUPPORT_WAN_ETHER" = "" ] || [ "$isPTMETHER" != "1" ] ;then
  393.         if [ "$WAN_MAC" != "" ]; then
  394.                  /sbin/ifconfig nas$i hw ether $WAN_MAC
  395.         fi
  396. fi
  397. fi
  398.         /sbin/ifconfig nas$i 0.0.0.0
  399.         /sbin/ifconfig nas$i -arp      
  400.     # PPPoA
  401.     else
  402.         if [ "$AUTHEN" = "CHAP" ] ; then
  403.                 PPP_PARAM="$PPP_PARAM -pap"
  404.         elif [ "$AUTHEN" = "PAP" ] ; then
  405.                 PPP_PARAM="$PPP_PARAM -chap -mschap -mschap-v2"
  406.         fi
  407.  
  408.         PCR_V=""
  409.         if [ "$QOS" = "ubr" ] ; then
  410.                 PCR_V="qos UBR qos_pcr $PCR"
  411.         elif [ "$QOS" = "cbr" ] || [ "$QOS" = "rt-vbr" ] || [ "$QOS" = "nrt-vbr" ] ; then
  412.                 if [ "$QOS" = "cbr" ] ; then
  413.                         PCR_V="qos CBR"
  414.                 elif [ "$QOS" = "rt-vbr" ] ; then
  415.                         PCR_V="qos VBR"
  416.                 elif [ "$QOS" = "nrt-vbr" ] ; then
  417.                         PCR_V="qos NRTVBR"
  418.                 fi
  419.                 PCR_V="$PCR_V qos_pcr $PCR qos_scr $SCR qos_mbs $MBS"
  420.         fi
  421.         if [ "$TCSUPPORT_WAN_ATM" != "" -o "$TCSUPPORT_WAN_PTM" != "" -o "$TCSUPPORT_WAN_ETHER" != "" ]; then
  422.                 if [ "$isPTMETHER" = "1" ] ; then
  423.                         PCR_V=""
  424.                 fi
  425.         fi
  426.         PPP_PARAM="$PPP_PARAM $PCR_V"
  427.     fi
  428. fi
  429.         if [ "$DEFAULTROUTE" = "Yes" ] ; then
  430.                 PPP_PARAM="$PPP_PARAM defaultroute"
  431.         fi
  432.         if [ "$PPPGETIP" = "Dynamic" ] ; then
  433.                 PPP_PARAM="$PPP_PARAM noipdefault"
  434.         else
  435.                 PPP_PARAM="$PPP_PARAM $IPADDR:$GATEWAY"
  436.         fi
  437.         if [ "$NETMASK" != "" ] ; then
  438.                 PPP_PARAM="$PPP_PARAM netmask $NETMASK"
  439.         fi
  440.         if [ "$CONNECTION" = "Connect_on_Demand" ] ; then
  441.                 # transform minute to second. shnwind 2008.4.17
  442.                 IDLETIME=$(expr $CLOSEIFIDLE \* 60)
  443.                 PPP_PARAM="$PPP_PARAM demand idle $IDLETIME"
  444.         else
  445.                 PPP_PARAM="$PPP_PARAM persist"
  446.         fi
  447.         if [ "$MTU" != "0" ] && [ "$MTU" != "" ] ; then
  448.                 PPP_PARAM="$PPP_PARAM mtu $MTU mru $MTU"
  449.         else
  450.                 PPP_PARAM="$PPP_PARAM mtu 1492 mru 1492"
  451.         fi
  452.  
  453.         pppd $PPP_PARAM &
  454.         echo $! > /var/run/ppp$k.pid
  455.         echo "pppd $PPP_PARAM &" > /var/tmp/ppp$k.conf
  456.         #       if [ "$LASTmss" != "0" ] ; then
  457.         if [ "$LASTmss" != "0" ] && [ "$LASTmss" != "" ] ; then
  458.                 iptables -D FORWARD -o ppp$k -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss $LASTmss
  459.         fi
  460.        
  461.         if [ "$MSS" = "0" ] || [ "$MSS" = "" ] ; then
  462.                 if [ "$TCSUPPORT_FON_V2" != "" ] ; then
  463.                         iptables -I FORWARD -o ppp$k -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
  464.                 else
  465.                 iptables -A FORWARD -o ppp$k -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
  466.                 fi
  467.         else
  468.                 if [ "$TCSUPPORT_FON_V2" != "" ] ; then
  469.                         iptables -I FORWARD -o ppp$k -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss $MSS
  470.         else
  471.                 iptables -A FORWARD -o ppp$k -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss $MSS
  472.         fi
  473.         fi
  474.         if [ "$NATENABLE" = "Enable" ] ; then
  475. #               iptables -t nat -A POSTROUTING -j ADDRMAP_POS$i
  476.         if [ "$TCSUPPORT_MULTI_NAT" != "" ] ;then      
  477.                 iptables -t nat -A ADDRMAP_POS -j ADDRMAP_POS$i
  478.         fi      
  479.                 iptables -t nat -A POSTROUTING -o ppp$k -j MASQUERADE
  480.                 iptables -t nat -A PREROUTING -j VS_PRE$i
  481.                 iptables -t nat -A PREROUTING -j DMZ_PRE$i
  482. #               iptables -t nat -A PREROUTING -j ADDRMAP_PRE$i
  483.         if [ "$TCSUPPORT_MULTI_NAT" != "" ] ;then
  484.                 iptables -t filter -A ADDRMAP_FORWARD -j ADDRMAP_FORWARD$i      
  485.         fi
  486. if [ "$TCSUPPORT_PORT_TRIGGER" != "" ] ;then
  487.                 iptables -t nat -A PREROUTING -i ppp$k -j PREROUTING_WAN
  488.                 iptables -t filter -A FORWARD -i ppp$k -j FORWARD_WAN
  489. fi
  490.         fi
  491.  
  492.                 WAN_IF=ppp$k
  493. fi
  494. elif [ $ISP = "3" ] ; then
  495. if [ "$TCSUPPORT_WAN_GPON" != "" ] || [ "$TCSUPPORT_WAN_EPON" != "" ]; then
  496.          /usr/bin/smuxctl add bridge pon nas$i
  497. #       echo "Not execute smuxctl"
  498. else
  499.         if [ "$TCSUPPORT_MULTISERVICE_ON_WAN" != "" ] && [ "$TCSUPPORT_WAN_PTM" != "" -o "$TCSUPPORT_WAN_ETHER" != "" ] && [ "$isPTMETHER" = "1" ]; then
  500.                 /usr/bin/smuxctl add bridge nas$org_i nas$i
  501.         fi      
  502.  
  503.         if [ "$QOS" = "ubr" ] ; then
  504.                 PCR_V="-p $PCR"
  505.         elif [ "$QOS" = "cbr" ] || [ "$QOS" = "rt-vbr" ] || [ "$QOS" = "nrt-vbr" ] ; then
  506.                 PCR_V="-p $PCR -q $SCR -m $MBS"
  507.         fi
  508.        
  509.         if [ "$ENCAP" = "1483 Bridged Only LLC" ] ; then
  510.                 ENCAP_T="-e 0"
  511.         elif [ "$ENCAP" = "1483 Bridged Only VC-Mux" ] ; then
  512.                 ENCAP_T="-e 1"
  513.         fi
  514.        
  515.         if [ "$TCSUPPORT_WAN_ATM" != "" -o "$TCSUPPORT_WAN_PTM" != "" -o "$TCSUPPORT_WAN_ETHER" != "" ]; then
  516.                 #ATM only
  517.                 if [ "$isPTMETHER" = "0" ] ; then
  518.                         br2684ctl -c $i $ENCAP_T -t $QOS $PCR_V -a 0.$VPI.$VCI &
  519.                         echo $! > /var/run/nas$i.pid
  520.                         sleep 1
  521.                 fi
  522.         else
  523.                 br2684ctl -c $i $ENCAP_T -t $QOS $PCR_V -a 0.$VPI.$VCI &
  524.                 echo $! > /var/run/nas$i.pid
  525.                 sleep 1
  526.         fi
  527.  
  528.        
  529. if [ "$TCSUPPORT_UNIQUEMAC" != "" ] ;then
  530.         if [ "$UNIQUEMAC_FLAG" = "1" ]; then
  531.                 if [ "$LAN_MAC" != "" ]; then
  532.                 /sbin/ifconfig nas$i hw ether $LAN_MAC
  533.                 fi
  534.         else    
  535.                 if [ "$WAN_MAC" != "" ]; then
  536.                 /sbin/ifconfig nas$i hw ether $WAN_MAC
  537.                 fi
  538.         fi
  539. else
  540.         if [ "$TCSUPPORT_MULTISERVICE_ON_WAN" = "" ] || [ "$TCSUPPORT_WAN_PTM" = "" -a "$TCSUPPORT_WAN_ETHER" = "" ] || [ "$isPTMETHER" != "1" ] ;then
  541.                 if [ "$WAN_MAC" != "" ]; then
  542.                          /sbin/ifconfig nas$i hw ether $WAN_MAC
  543.                 fi
  544.         fi
  545. fi
  546. fi
  547.         /sbin/ifconfig nas$i 0.0.0.0
  548.         brctl addif br0 nas$i
  549.         WAN_IF=nas$i
  550.         #ebtables -t filter -A INPUT -i nas$i -p IPv4 --ip-proto 17 --ip-dport 67 -j DROP
  551. fi
  552.  
  553. /usr/script/ether_mac.sh
  554.  
  555. if [ $ISP != "3" ] ; then
  556.         if ! [ "$ISP" = "2" -a "$CONNECTION" = "Connect_Manually" ] ; then
  557.                 if [ "$BridgeInterface" = "Yes" ] ; then
  558.                         /userfs/bin/pppoe-relay -C br0 -S nas$i &
  559.                 fi
  560.         fi
  561. fi
  562. #/usr/bin/qoscmd dev add nas$i
  563. #FW_CONF=/etc/firewall.conf
  564. #if [ -f $FW_CONF ]; then
  565. #       chmod +x $FW_CONF
  566. #       . $FW_CONF
  567. #       if [ "$spi_status" = "1" ]; then
  568. #        echo spi status
  569. #               /usr/bin/iptables -A SPI_FW -i $WAN_IF -m state --state NEW,INVALID -j DROP
  570. #        echo spi status2
  571. #               /usr/bin/iptables -A SPI_FW -i $WAN_IF -p icmp --icmp-type echo-request -j DROP                
  572. #       fi
  573. #fi
  574.  
  575. #/usr/script/ipfilter_start.sh #wtw add
  576. #if [ "$TCSUPPORT_CZ_OTE" != "" ] ;then
  577. #       if [ $ISP != "3" ] ; then
  578. #               iptables -t filter -A DNS_chain -i $WAN_IF -p udp --dport 53 -j DROP
  579. #       fi
  580. #fi
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top