Advertisement
boubou62

wan_start.sh

Jul 13th, 2018
214
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 23.08 KB | None | 0 0
  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
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement