วางระบบ ร้านเน็ต, รับวางระบบ ร้านเกมส์, รับทำ server, ระบบ เก็บแพทช์, ระบบ ครี/จอย ดอทเอ & etc, รับสอน และอบรม การทำระบบเซิร์ฟเวอร์ by zealzonecafe


   

• การติดตั้ง "คู่มือสอนการทำเซิร์ฟเวอร์ระบบร้านอินเตอร์เน็ต และเกมส์ออนไลน์" ตั้งแต่ 2 - 6 สาย ง่าย รวดเร็ว

• สรุป ปัญหาที่พบบ่อยในการใ้ช้งาน และการแก้ปัญหา

• วิธีการแก้ไข กรณีที่โหลดแพทช์เกมไม่ผ่าน (โดยเฉพาะเกมค่าย AsiaSoft)

• วิธีการกำหนดเกม Hero Of NewEarth ให้ออกเส้น GAME

• ระบบแ้จ้งเตือนสถานะเซิร์ฟเวอร์ ผ่านมือถือ รู้ทันปัญหา แก้ไขได้ทันท่วงที! ว้าว...ว!!!

• แนะนำวิธีการใช้งาน ZealzoneCafe Utilities คลิ๊กเลย!!!

• การสร้าง Flash Drive สำหรับ Ghost

• กว่าจะมาเป็น WWW.ZEALZONECAFE.COM

• ช่องทางในการติดต่อสื่อสารกับ Webmaster


 
*
ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน กรกฎาคม 21, 2018, 08:09:38 AM


เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น


หน้า: [1] 2 3 ... 7
  พิมพ์  
| | ผู้เขียน หัวข้อ: โค๊ดแยกเน็ต+เกมส์+LoadBalance อัตโนมัติไม่จำกัดจำนวนสายบน ClarkConnect  (อ่าน 110890 ครั้ง)
0 สมาชิก และ 2 บุคคลทั่วไป กำลังดูหัวข้อนี้
Mr.Alexa
Administrator
Hero Member
*****

การ์ม่า: 21
กระทู้: 2,445


ซื่อกินไม่หมด คดกินไม่นาน


ดูรายละเอียด เว็บไซต์ อีเมล์
« เมื่อ: กันยายน 30, 2008, 05:07:10 AM »

เพิ่มเติม วิธีการสลับด้านของโค๊ดไม่จำกัดจำนวนสาย  จากเดิม PPP0 => บวกไปเรื่อย ๆ ไปหา PPPN
ให้เป็น PPPN => ลดไปเรื่อย ๆ ไปหา PPP0 (ท่านที่ไม่เข้าใจวิธีการทำงานของโค๊ดตัวเก่า ลองอ่านด้านล่างก่อนนะครับ)

วิธีการสลับ
=======

- ให้นำโค๊ด while loop นี้ไปแทนที่ของเก่า

โค๊ด:
while [ $n -lt $LineNumber ]
do
tmp=$((LineNumber-n))
pppMark[$n]=$fwmark$tmp
pppName[$n]=$pName$tmp
status=`/sbin/ifconfig | grep "${pppName[$n]}"`
if [ -n "$status" ]; then
pppStatus[$n]=1
upLinkCount=$((upLinkCount+1))
allUpLink[$nnn]=$n
if [ $upLinkCount -eq 1 ]; then
startUpLink=$n
else
otherUpLink[$nn]=$n
nn=$((nn+1))
fi
nnn=$((nnn+1))
else
pppStatus[$n]=0
fi
pppAddr[$n]=`ifconfig | grep -A1 ${pppName[$n]} | tail -1 | cut -d : -f 2 | cut -f 1 -d " "`
pppGW[$n]=`ip route | grep ${pppName[$n]} | head -1 | cut -f 1 -d " "`
n=$((n+1))
done

เรียบร้อยครับ  เพียงเท่านี้  โค๊ดก็จะทำการเปลี่ยนวิธีการคิด จากเดิม ที่เริ่มใช้ PPP0 ในการทำเป็นเส้นเกมส์ก่อน
จะกลายเป็น นำ PPPN (PPP สูงสุด) มาทำเส้นเกมส์ก่อน แล้วค่อย ๆ ลดลงไปเรื่อย ๆ จนถึง PPP0

เมื่อกำหนดให้เส้นเกมส์หมดแล้ว  ที่เหลือก็จะนำไปทำ Load Balance สำหรับเส้นเน็ตให้โดยอัตโนมัติครับ  Wink


เอ้า!!! ว่าแล้วก็เริ่มปฏิบัติการแจกโค๊ด Alexa_n-WANsForNetCafeV2 กันเลย

วิธีการใช้ มีดังนี้
------------
1. กำหนดค่าเริ่มต้นที่จำเป็น
   # ----- change to you local IP
   My_Local_Net=192.168.0.0/16   # หมายเลข IP วงแลนของเรา อันนี้หมายความว่า IP ขึ้นต้นด้วย 192.168.xxx.xxx
   My_IP=192.168.0.254      # อันนี้ใช้กำหนด IP ของเครื่องที่ต้องการเอาไว้โหลดบิทได้คนเดียวเท่านั้น  ซึ่งคือเลขเครื่องผมเอง อิอิ

   # ----- Number of internet connection (All connections that can access to INTERNET)
   LineNumber=3      # จำนวนเน็ตทั้งหมดที่ร้านท่านมี รวมเกมส์ด้วยนะครับ เช่นมี เกมส์ 1 เส้น เน็ต 2 เส้น ก็คือ 2+1 = 3

   # ----- Number of game's line.
   GameLineNumber=1   # กำหนดว่าจากจำนวนเส้นเน็ตทั้งหมดที่เรามี จะเอาไปทำเส้นเกมส์ กี่เส้น อันนี้ก็จาก 3 เส้น เอาไปทำเกมส์ 1 เส้น

2. กำหนดทางออก
   • เวลาเรากำหนด GameLineNumber จำนวนเท่าไหร่  เราก็จะได้ chain ชื่อ GOTO_GAME? มาจำนวนเท่านั้น
      (เครื่องหมาย ? คือเลขต่อท้าย เริ่มจาก 1 ไปเรื่อย ๆ)
   • เช่น :- ถ้าเรากำหนด GameLineNumber=1 เราก็จะได้ GOTO_GAME1 มาอันเดียว
            - ถ้าเรากำหนด GameLineNumber=2 เราก็จะได้ GOTO_GAME1 กะ GOTO_GAME2

   • เมื่อทราบดังนี้แล้ว  เราก็ไปเปลี่ยนคำที่เป็นคำว่า GOTO_GAME ที่มีเลขต่อท้าย ให้เป็นเลขที่เราต้องการ

   • ตัวอย่าง
        - โค๊ดที่แสดงอยู่ด้านล่าง ตอนนี้เป็นแบบ GameLineNumber=1 ฉะนั้น จึงมีแต่การกำหนดทางออกเกมส์ไป GOTO_GAME1 หมด
        - ถ้าเราเปลี่ยน GameLineNumber=2  เราจะได้ GOTO_GAME1, กะ GOTO_GAME2
      ถ้าเราอยากแยกให้ RayCity ไปออกอีกเส้นนึงเราก็เปลี่ยนจาก
           # RacyCity
      iptables -t mangle -A CHECK_GAMES -d 61.19.242.0/24 -j GOTO_GAME1
      เป็น
           # RacyCity
           iptables -t mangle -A CHECK_GAMES -d 61.19.242.0/24 -j GOTO_GAME2

3. มีข้อควรรู้ที่ต้องปฏิบัติ คือ ข้อมูลเกมส์เดียวกันควรออกไปเส้นเดียวกัน
     เช่น:-  # Asiasoft กับ # Asiasoft International ควรไปออกเส้นเดียวกัน (อะไรทำนองนี้) 
     ถ้าข้อมูลเกมส์เดียวกัน ออกคนละทาง มันอาจจะงงได้ครับ อื่น ๆ ก็ลองไปทำเพิ่ม-ลดกันดู

4. Link ดาวน์โหลด อยู่ด้านล่างสุดของข้อความครับ

โค๊ด:
# -------------------------------------------------------------
# Author : Mr.Permpong  Chaorungmethee (Mr.Alexa)
# WebSite : http://www.zealzonecafe.com
# MSN : permpongc@hotmail.com
# Email : alexa@zealzonecafe.com
#
# Script : Traffic Control for Internet cafe' Business
# Type : N - WANs
#
# -------------------------------------------------------------

# ----- ----- ----- ----- ----- ----- ----- ----- #
# ----- Multi-Wan n Line(s)
# ----- ----- ----- ----- ----- ----- ----- ----- #
# ----- change to you local IP
My_Local_Net=192.168.0.0/16
My_IP=192.168.0.254
# ----- Number of internet connection (All connections that can access to INTERNET)
LineNumber=3
# ----- Number of game's line.
GameLineNumber=1
# If = 1, then you will get GOTO_GAME1
# If = 2, then you will get GOTO_GAME1, and GOTO_GAME2,
# . . . and so on.

# ----- Variables preparation
fwmark=0x800
pName="ppp"
startUpLink=0
i=0;
n=0
nn=0
nnn=0
upLinkCount=0
set pppMark
set pppName
set pppAddr
set pppGW
set pppStatus
set otherUpLink
set allUpLink
while [ $n -lt $LineNumber ]
do
pppMark[$n]=$fwmark$n
pppName[$n]=$pName$n
status=`/sbin/ifconfig | grep "${pppName[$n]}"`
if [ -n "$status" ]; then
pppStatus[$n]=1
upLinkCount=$((upLinkCount+1))
allUpLink[$nnn]=$n
if [ $upLinkCount -eq 1 ]; then
startUpLink=$n
else
otherUpLink[$nn]=$n
nn=$((nn+1))
fi
nnn=$((nnn+1))
else
pppStatus[$n]=0
fi
pppAddr[$n]=`ifconfig | grep -A1 ${pppName[$n]} | tail -1 | cut -d : -f 2 | cut -f 1 -d " "`
pppGW[$n]=`ip route | grep ${pppName[$n]} | head -1 | cut -f 1 -d " "`
n=$((n+1))
done

# ----- Controls settings
echo "1" > /proc/sys/net/ipv4/ip_forward
echo "1" > /proc/sys/net/ipv4/conf/default/rp_filter
echo "1" > /proc/sys/kernel/core_uses_pid

# ----- Flush
iptables -t mangle -F

modprobe ip_nat_ftp
modprobe ip_tables
modprobe iptable_nat
modprobe ipt_conntrack
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_conntrack_irc
modprobe ip_nat_irc
modprobe ip_nat_snmp_basic

# ----- set default policies
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT

# ----- set default policies
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT

# ----- set default policies
iptables -t mangle -P PREROUTING ACCEPT
iptables -t mangle -P POSTROUTING ACCEPT
iptables -t mangle -P INPUT ACCEPT
iptables -t mangle -P OUTPUT ACCEPT
iptables -t mangle -P FORWARD ACCEPT

# ----- IP sharing
i=0;
while [ $i -lt ${#pppName[*]} ]
do
iptables -t nat -D POSTROUTING -s $My_Local_Net -o ${pppName[$i]} -j MASQUERADE
iptables -t nat -A POSTROUTING -s $My_Local_Net -o ${pppName[$i]} -j MASQUERADE

i=$((i+1));
done

# ----- Squid
if [ -f /var/run/squid.pid ]; then
iptables -t nat -D PREROUTING -p tcp -m multiport --dports 80,5977 -j REDIRECT --to-port 3128 > /dev/null
iptables -t nat -I PREROUTING -p tcp -m multiport --dports 80,5977 -j REDIRECT --to-port 3128

# CSO
iptables -t nat -D PREROUTING -p tcp -d 202.43.33.0/24 --dport 9898 -j REDIRECT --to-port 3128 > /dev/null
iptables -t nat -I PREROUTING -p tcp -d 202.43.33.0/24 --dport 9898 -j REDIRECT --to-port 3128

# SealOnline's Game Guard
iptables -t nat -D PREROUTING -p tcp -d 61.47.39.89 --dport 80 -j ACCEPT
iptables -t nat -I PREROUTING -p tcp -d 61.47.39.89 --dport 80 -j ACCEPT
iptables -t nat -D PREROUTING -p tcp -d 61.47.39.88 --dport 80 -j ACCEPT
iptables -t nat -I PREROUTING -p tcp -d 61.47.39.88 --dport 80 -j ACCEPT

# SF's Game Guard
iptables -t nat -D PREROUTING -p tcp -d 61.90.203.4 --dport 80 -j ACCEPT
iptables -t nat -I PREROUTING -p tcp -d 61.90.203.4 --dport 80 -j ACCEPT

# Pangya
iptables -t nat -D PREROUTING -p tcp -d 58.64.24.163/24 --dport 80 -j ACCEPT
iptables -t nat -D PREROUTING -p tcp -d 164.115.2.134/24 --dport 80 -j ACCEPT
iptables -t nat -D PREROUTING -p tcp -d 203.195.98.6/24 --dport 80 -j ACCEPT

iptables -t nat -I PREROUTING -p tcp -d 58.64.24.163/24 --dport 80 -j ACCEPT
iptables -t nat -I PREROUTING -p tcp -d 164.115.2.134/24 --dport 80 -j ACCEPT
iptables -t nat -I PREROUTING -p tcp -d 203.195.98.6/24 --dport 80 -j ACCEPT

# DotA
iptables -t nat -D PREROUTING -p tcp -d 210.86.182.252/24 --dport 80 -j ACCEPT
iptables -t nat -I PREROUTING -p tcp -d 210.86.182.252/24 --dport 80 -j ACCEPT

# Laghaim
iptables -t nat -D PREROUTING -p tcp -d 61.90.198.122 --dport 80 -j ACCEPT
iptables -t nat -I PREROUTING -p tcp -d 61.90.198.122 --dport 80 -j ACCEPT

# LastChaos
iptables -t nat -D PREROUTING -p tcp -d 61.90.198.99/24 --dport 80 -j ACCEPT
iptables -t nat -I PREROUTING -p tcp -d 61.90.198.99/24 --dport 80 -j ACCEPT

# RAN
iptables -t nat -D PREROUTING -p tcp -d 202.142.207.240 --dport 80 -j ACCEPT
iptables -t nat -I PREROUTING -p tcp -d 202.142.207.240 --dport 80 -j ACCEPT

# Hotmail
iptables -t nat -D PREROUTING -p tcp -d 207.46.8.249/16 --dport 80 -j ACCEPT
iptables -t nat -I PREROUTING -p tcp -d 207.46.9.121/16 --dport 80 -j ACCEPT

iptables -t nat -D PREROUTING -p tcp -d 65.55.187.39/16 --dport 80 -j ACCEPT
iptables -t nat -I PREROUTING -p tcp -d 65.55.113.23/16 --dport 80 -j ACCEPT

iptables -t nat -D PREROUTING -p tcp -d 64.62.193.48/16 --dport 80 -j ACCEPT
iptables -t nat -I PREROUTING -p tcp -d 64.62.193.48/16 --dport 80 -j ACCEPT

iptables -t nat -D PREROUTING -p tcp -d 8.12.221.126/16 --dport 80 -j ACCEPT
iptables -t nat -I PREROUTING -p tcp -d 8.12.221.126/16 --dport 80 -j ACCEPT

iptables -t nat -D PREROUTING -p tcp -d 206.33.55.125/16 --dport 80 -j ACCEPT
iptables -t nat -I PREROUTING -p tcp -d 206.33.55.125/16 --dport 80 -j ACCEPT

iptables -t nat -D PREROUTING -p tcp -d 12.129.210.41/16 --dport 80 -j ACCEPT
iptables -t nat -I PREROUTING -p tcp -d 12.129.210.41/16 --dport 80 -j ACCEPT
fi

# ----- Frox
if [ -f /var/run/frox.pid ]; then
iptables -t nat -D PREROUTING -p tcp --dport 21 -j REDIRECT --to-port 2121
iptables -t nat -I PREROUTING -p tcp --dport 21 -j REDIRECT --to-port 2121

# HipStreet for Frox
iptables -t nat -D PREROUTING -p tcp -d 58.97.46.0/24 --dport 8021 -j REDIRECT --to-port 2121 > /dev/null
iptables -t nat -I PREROUTING -p tcp -d 58.97.46.0/24 --dport 8021 -j REDIRECT --to-port 2121
fi

# ----- ----- ----- ----- ----- ----- ----- ----- #
# - START - multi wan N Line
# ----- ----- ----- ----- ----- ----- ----- ----- #

# ----- ----- ----- ----- ----- ----- ----- ----- #
# ----- Create our own CHAINS
# ----- ----- ----- ----- ----- ----- ----- ----- #
# ----- Creat GOTO_GAME

n=0;
while [ $n -lt $GameLineNumber ]
do
iptables -t mangle -N GOTO_GAME$((n+1))
iptables -t mangle -F GOTO_GAME$((n+1))
iptables -t mangle -A GOTO_GAME$((n+1)) -j MARK --set-mark ${pppMark[$n]}
iptables -t mangle -A GOTO_GAME$((n+1)) -j ACCEPT
n=$((n+1))
done

# ----- Create CHECK_STREAMING_WEBS
iptables -t mangle -N CHECK_STREAMING_WEBS
iptables -t mangle -F CHECK_STREAMING_WEBS
# Zheza.com
iptables -t mangle -A CHECK_STREAMING_WEBS -d 202.142.207.140 -j ACCEPT

# ----- Create CHECK_SERVICE_PORTS
iptables -t mangle -N CHECK_SERVICE_PORTS
iptables -t mangle -F CHECK_SERVICE_PORTS
iptables -t mangle -A CHECK_SERVICE_PORTS -p tcp -m multiport --dports 20:25,80,443,554,1863,5050,5190,3128,3130,8080,9099,16667 -j ACCEPT
iptables -t mangle -A CHECK_SERVICE_PORTS -p tcp -m multiport --dports 1863,6667,2009,2121,5977,6969,6889,8000,8021,9898 -j ACCEPT
iptables -t mangle -A CHECK_SERVICE_PORTS -p udp -m multiport --dports 20:25,80,443,554,1863,5050,5190,3128,3130,8080,9099,16667 -j ACCEPT
iptables -t mangle -A CHECK_SERVICE_PORTS -p udp -m multiport --dports 1863,6667,2009,2121,5977,6969,6889,8000,8021,9898 -j ACCEPT
# Dns
iptables -t mangle -A CHECK_SERVICE_PORTS -p tcp --destination-port 53 -j ACCEPT
iptables -t mangle -A CHECK_SERVICE_PORTS -p udp --destination-port 53 -j ACCEPT

# ----- Create CHECK_IPP2P
iptables -t mangle -N CHECK_IPP2P
iptables -t mangle -F CHECK_IPP2P
iptables -t mangle -A CHECK_IPP2P -m ipp2p --kazaa --gnu --edk --dc --bit --apple --soul --winmx --ares -j ACCEPT

# ----- Create CHECK_GAMES
iptables -t mangle -N CHECK_GAMES
iptables -t mangle -F CHECK_GAMES
# Abnormal game ports. CSO/Lineage2, check port of game patching. If so, using LoadBalance.
# CSO
iptables -t mangle -A CHECK_GAMES -d 202.43.33.0/24 -p tcp --dport 9898 -j ACCEPT
# LN2
iptables -t mangle -A CHECK_GAMES -d 61.90.199.6/32 -p tcp --dport 2009 -j ACCEPT
# Cabal patching?
iptables -t mangle -A CHECK_GAMES -d 203.144.132.0/24 -p tcp --dport 6969 -j ACCEPT
# Audition Korean
iptables -t mangle -A CHECK_GAMES -d 210.118.53.0/24 -j GOTO_GAME1
# Asiasoft
iptables -t mangle -A CHECK_GAMES -d 203.144.0.0/16 -j GOTO_GAME1
# N-age, and <unknown games>
# iptables -t mangle -A CHECK_GAMES -d 203.146.0.0/16 -j GOTO_GAME1
# Asiasoft International, SF,LN2
iptables -t mangle -A CHECK_GAMES -d 61.90.0.0/16 -j GOTO_GAME1
# ProjectOne, DOMO
# iptables -t mangle -A CHECK_GAMES -d 61.19.0.0/16 -j GOTO_GAME1
# RacyCity
iptables -t mangle -A CHECK_GAMES -d 61.19.242.0/24 -j GOTO_GAME1
# Seal, HY, 3Kingdoms, 16, PVP
iptables -t mangle -A CHECK_GAMES -d 61.47.0.0/16 -j GOTO_GAME1
# PFW, Eco
iptables -t mangle -A CHECK_GAMES -d 61.91.0.0/16 -j GOTO_GAME1
# HipStreet
iptables -t mangle -A CHECK_GAMES -d 58.97.46.10/32 -j GOTO_GAME1
iptables -t mangle -A CHECK_GAMES -d 58.97.46.16/32 -j GOTO_GAME1
# Pangya, Rebirth, Pucca, Flyff
iptables -t mangle -A CHECK_GAMES -d 58.64.0.0/16 -j GOTO_GAME1
# DotA, Getamped
iptables -t mangle -A CHECK_GAMES -d 210.86.0.0/16 -j GOTO_GAME1
# LunaOnline, pko, water, SDO, Secret, RYL
iptables -t mangle -A CHECK_GAMES -d 202.43.0.0/16 -j GOTO_GAME1
# RAN
iptables -t mangle -A CHECK_GAMES -d 202.142.207.0/24 -j GOTO_GAME1
# TalesRunner
iptables -t mangle -A CHECK_GAMES -d 203.113.0.0/16 -j GOTO_GAME1
# GG
iptables -t mangle -A CHECK_GAMES -d 74.55.122.70/24 -j GOTO_GAME1
# iptables -t mangle -A CHECK_GAMES -d 74.55.122.70:8687 -j GOTO_GAME1
# iptables -t mangle -A CHECK_GAMES -d 74.53.215.8:7456 -j GOTO_GAME1
# NosTale
iptables -t mangle -A CHECK_GAMES -d 203.121.165.196/24 -j GOTO_GAME1
# ----- Create CHECK_BONUS
iptables -t mangle -N CHECK_BONUS
iptables -t mangle -F CHECK_BONUS
iptables -t mangle -A CHECK_BONUS -d secure1.asiasoft.co.th -p tcp -m multiport --dports 443 -j GOTO_GAME1
iptables -t mangle -A CHECK_BONUS -d secure2.asiasoft.co.th -p tcp -m multiport --dports 443 -j GOTO_GAME1

# ----- ----- ----- ----- ----- ----- ----- ----- #
# ----- Load Balance
# ----- ----- ----- ----- ----- ----- ----- ----- #
# ----- ----- ----- ----- ----- ----- ----- ----- #
# ----- Only 1 link is up
# ----- ----- ----- ----- ----- ----- ----- ----- #
if [ $upLinkCount -eq 1 ]; then
i=0
while [ $i -lt $GameLineNumber ]
do
iptables -t mangle -F GOTO_GAME$((i+1))
iptables -t mangle -A GOTO_GAME$((i+1)) -j MARK --set-mark ${pppMark[$startUpLink]}
iptables -t mangle -A GOTO_GAME$((i+1)) -j ACCEPT
i=$((i+1))
done

ip route replace default table 250 proto static nexthop via ${pppGW[$startUpLink]} dev ${pppName[$startUpLink]} weight 10
fi

# ----- ----- ----- ----- ----- ----- ----- ----- #
# ----- more then 1 link is up, and up-links <= GameLineNumber
# ----- ----- ----- ----- ----- ----- ----- ----- #
if [ $upLinkCount -gt 1 -a $upLinkCount -lt $GameLineNumber -o $upLinkCount -eq $GameLineNumber ]; then
i=0
while [ $i -lt $GameLineNumber ]
do
iptables -t mangle -F GOTO_GAME$((i+1))
iptables -t mangle -A GOTO_GAME$((i+1)) -j MARK --set-mark ${pppMark[$startUpLink]}
iptables -t mangle -A GOTO_GAME$((i+1)) -j ACCEPT
i=$((i+1))
done

balanceRule="replace default table 250 proto static "
i=0
while [ $i -lt ${#otherUpLink[*]} ]
do
balanceRule=$balanceRule" nexthop via ${pppGW[${otherUpLink[$i]}]} dev ${pppName[${otherUpLink[$i]}]} weight 10 "
i=$((i+1))
done

ip route $balanceRule
fi

# ----- ----- ----- ----- ----- ----- ----- ----- #
# ----- more then 1 link is up, and > GameLineNumber
# ----- ----- ----- ----- ----- ----- ----- ----- #
if [ $upLinkCount -gt 1 -a $upLinkCount -gt $GameLineNumber ]; then
i=0
while [ $i -lt $GameLineNumber ]
do
iptables -t mangle -F GOTO_GAME$((i+1))
iptables -t mangle -A GOTO_GAME$((i+1)) -j MARK --set-mark ${pppMark[${allUpLink[$i]}]}
iptables -t mangle -A GOTO_GAME$((i+1)) -j ACCEPT
i=$((i+1))
done

balanceRule="replace default table 250 proto static "

while [ $i -lt ${#allUpLink[*]} ]
do
balanceRule=$balanceRule" nexthop via ${pppGW[${allUpLink[$i]}]} dev ${pppName[${allUpLink[$i]}]} weight 10 "
i=$((i+1))
done

ip route $balanceRule
fi


# ----- ----- ----- ----- ----- ----- ----- ----- #
# ----- START rule adding
# ----- ----- ----- ----- ----- ----- ----- ----- #
# Firstly, Allow to add IP-Bonus via ppp0
iptables -t mangle -A PREROUTING -p tcp -s $My_Local_Net -j CHECK_BONUS

# ipp2p
iptables -t mangle -A PREROUTING -s $My_IP -j CHECK_IPP2P
iptables -t mangle -A OUTPUT -s $My_IP -j CHECK_IPP2P
iptables -t mangle -A FORWARD -s $My_IP -j CHECK_IPP2P

iptables -t mangle -A PREROUTING -d $My_IP -j CHECK_IPP2P
iptables -t mangle -A OUTPUT -d $My_IP -j CHECK_IPP2P
iptables -t mangle -A FORWARD -d $My_IP -j CHECK_IPP2P

# Service Ports
iptables -t mangle -A PREROUTING -j CHECK_SERVICE_PORTS
iptables -t mangle -A OUTPUT -j CHECK_SERVICE_PORTS
# iptables -t mangle -A FORWARD -j CHECK_SERVICE_PORTS

# Streaming Webs
iptables -t mangle -A PREROUTING -j CHECK_STREAMING_WEBS

# Games
# PREROUTING
iptables -t mangle -A PREROUTING -p all -j CHECK_GAMES

# DotA
# Create DotA
iptables -t mangle -A PREROUTING -p tcp -m multiport --sports 7051:7080,7101:7160 -j GOTO_GAME1
iptables -t mangle -A PREROUTING -p udp -m multiport --sports 7051:7080,7101:7160 -j GOTO_GAME1
# Join DotA
iptables -t mangle -A PREROUTING -p tcp -m multiport --dports 6101:6200,7101:7200 -j GOTO_GAME1
iptables -t mangle -A PREROUTING -p udp -m multiport --dports 6101:6200,7101:7200 -j GOTO_GAME1

# BF2
iptables -t mangle -A PREROUTING -p tcp --sport 4711 --dport 4711 -j GOTO_GAME1

iptables -t mangle -A PREROUTING -p tcp -m multiport --dports 29900,29901,29920,28910 -j GOTO_GAME1
iptables -t mangle -A PREROUTING -p udp -m multiport --dports 27900,29900,29910,27901,55123:55570,1500:4999,16567:16568 -j GOTO_GAME1

# Allow ipp2p only me
iptables -t filter -D FORWARD -s $My_IP -m ipp2p --kazaa --gnu --edk --dc --bit --apple --soul --winmx --ares -j ACCEPT
iptables -t filter -I FORWARD -s $My_IP -m ipp2p --kazaa --gnu --edk --dc --bit --apple --soul --winmx --ares -j ACCEPT

iptables -t filter -D FORWARD -d $My_IP -m ipp2p --kazaa --gnu --edk --dc --bit --apple --soul --winmx --ares -j ACCEPT
iptables -t filter -I FORWARD -d $My_IP -m ipp2p --kazaa --gnu --edk --dc --bit --apple --soul --winmx --ares -j ACCEPT

# Allow ipp2p for Special Games (FIFA Online 2)
iptables -t filter -D FORWARD -p all -s 61.91.68.0/24 -j ACCEPT
iptables -t filter -I FORWARD -p all -s 61.91.68.0/24 -j ACCEPT

iptables -t filter -D FORWARD -p all -d 61.91.68.0/24 -j ACCEPT
iptables -t filter -I FORWARD -p all -d 61.91.68.0/24 -j ACCEPT

# No match, use Load Balance
iptables -t mangle -A PREROUTING -i eth1 -j ACCEPT

# ----- END rule adding

# ----- ----- ----- ----- ----- ----- ----- ----- #
# - END - Multi-Wan n Line(s)
# ----- ----- ----- ----- ----- ----- ----- ----- #

หากมีผลบุญกุศลใดๆ อันเกิดจากการแบ่งปันโค๊ดและให้ความรู้ของข้าพเจ้าตั้งแต่ในอดีตจนถึงปัจจุบัน  ขอให้ผลบุญนั้นจงตกอยู่แก่ตัวข้าพเจ้าทั้งหมด เพื่อความสุข ความเจริญ ไร้โรคาพยาธิ หมดทุกข์ หมดโศก หมดโรค หมดภัย ของตัวข้าพเจ้า, ของบิดามารดาของข้าพเจ้า, ของคนรักของข้าพเจ้า, ของครอบครัวของข้าพเจ้า, ของญาติสนิทมิตรสหายของข้าพเจ้า ตลอดจนเจ้ากรรมนายเวรทั้งหลายของข้าพเจ้าด้วย ขอให้ท่านทั้งหลายที่ข้าพเจ้าได้เอ่ยถึงมาทั้งหมดนี้ จงได้รับส่วนบุญส่วนกุศลที่ข้าพเจ้าได้อุทิศให้นี้ด้วยเทอญ สาธุ


Link Download ใหม่ http://www.2shared.com/file/4063318/57d44650/Alexa_n-WANsForNetCafeV2.html?
« แก้ไขครั้งสุดท้าย: ตุลาคม 20, 2008, 02:50:38 PM โดย Mr.Alexa » บันทึกการเข้า

ความคิดสร้างสรรค์ คือบ่อกำเนิดความรู้

www.zealzonecafe.com

- รับติดตั้ง วางระบบ โค๊ดแยกเน็ต รวมสาย สำหรับ Cable Modem แบบ eth ทุกยี่ห้อ
- รับติดตั้ง วางระบบ Server ร้านเน็ต - ร้านเกม ด้วย ClarkConnect / ClearOS (พร้อมสอน + แถมคู่มือ และซีดีโปรแกรม ฟรี!!!)
- รับติดตั้ง วางระบบ แยกเน็ตแยกเกม (แถมระบบรายงานสถานะ Server ด้วย SMS ผ่านมือถือ)
- รับติดตั้ง วางระบบ เก็บแพทช์เกม (โหลดแพทช์เร็วขึ้น ด้วยการทำ Caching)
- รับติดตั้ง วางระบบ เพิ่มความเร็วเน็ต ด้วย Web Proxy (โหลดเร็ว เหมือนวิ่งผ่าน LAN)
- รับติดตั้ง วางระบบ Diskless / No-Harddisk / No HDD (ประหยัดเวลาลงโปรแกรม + ประหยัดไฟ ทำเครื่องเดียว เหมือนกันทั้งร้าน)
- รับติดตั้ง ระบบ ครี - จอย DotA (ครีเอ และจอย DotA ได้ทั้งร้าน)
7ou2
Newbie
*

การ์ม่า: 0
กระทู้: 1


ดูรายละเอียด อีเมล์
« ตอบ #1 เมื่อ: ตุลาคม 01, 2008, 07:12:48 AM »

ขอบคุณครับสำหรับโค๊ดครับ ตามมาจาก linuxthai ครับ จะลองนำไปศึกษาดูครับ

ปกติใช้ code ตัวเ่ก่าของคุณอเล็กซ์ แล้ว ปรับปรุง อัพเดท ตามเกมใหม่ๆเอา ก็ยังไม่เจอปัญหาอะไร คงมีแต่ luna ครับที่ไม่เก็บ patch แต่มันไม่มีคนเล่น เลยกำลังจะเอาออก ช่างมัน อิอิอิ
เปิดร้านเองครับ มีความรู้บ้าง เลยไม่อยากซื้อของคนอื่นมาใช้ครับ เพราะเราจะไม่เข้าใจ เลยศึกษาเอง โค๊ดท่านอื่น บางส่วนเข้าใจยาก บางส่วนเขียนสับสน (ไม่รู้ตั้งใจป่าว) มาเจอโค๊ดคุณอเล็กช์ โดนมากเลยครับ เข้าใจง่ายจริง

พอดีกำลังจะเพิ่มเน็ตเป็น 3 สายกำลังงงพอดีเลยครับ ขอเอาส่วน loadbalance ไปศึกษานะครับ ส่วนอื่นไม่ค่อยมีปัญหาเท่าไหร่ คงเหลือแต่ qos มั้งครับที่ งง จริงๆ แต่ตอนนี้ผมใช้ webconfig ปรับ priority เอาครับ เลยสบายๆ
บันทึกการเข้า
Mr.Alexa
Administrator
Hero Member
*****

การ์ม่า: 21
กระทู้: 2,445


ซื่อกินไม่หมด คดกินไม่นาน


ดูรายละเอียด เว็บไซต์ อีเมล์
« ตอบ #2 เมื่อ: ตุลาคม 01, 2008, 10:37:38 AM »

ขอบคุณครับเช่นกันครับ ที่ติดตามผลงาน  Smiley

และยินดีอย่างยิ่งที่ได้ทราบว่า  โค๊ดที่ผมพัฒนาขึ้นเอง  มีประโยชน์ต่อสาธารณชน

มีอะไรก็เข้ามาแลกเปลี่ยนความรู้กันนะครับ
บันทึกการเข้า

ความคิดสร้างสรรค์ คือบ่อกำเนิดความรู้

www.zealzonecafe.com

- รับติดตั้ง วางระบบ โค๊ดแยกเน็ต รวมสาย สำหรับ Cable Modem แบบ eth ทุกยี่ห้อ
- รับติดตั้ง วางระบบ Server ร้านเน็ต - ร้านเกม ด้วย ClarkConnect / ClearOS (พร้อมสอน + แถมคู่มือ และซีดีโปรแกรม ฟรี!!!)
- รับติดตั้ง วางระบบ แยกเน็ตแยกเกม (แถมระบบรายงานสถานะ Server ด้วย SMS ผ่านมือถือ)
- รับติดตั้ง วางระบบ เก็บแพทช์เกม (โหลดแพทช์เร็วขึ้น ด้วยการทำ Caching)
- รับติดตั้ง วางระบบ เพิ่มความเร็วเน็ต ด้วย Web Proxy (โหลดเร็ว เหมือนวิ่งผ่าน LAN)
- รับติดตั้ง วางระบบ Diskless / No-Harddisk / No HDD (ประหยัดเวลาลงโปรแกรม + ประหยัดไฟ ทำเครื่องเดียว เหมือนกันทั้งร้าน)
- รับติดตั้ง ระบบ ครี - จอย DotA (ครีเอ และจอย DotA ได้ทั้งร้าน)
zcrach
Newbie
*

การ์ม่า: 0
กระทู้: 1


ดูรายละเอียด อีเมล์
« ตอบ #3 เมื่อ: ตุลาคม 02, 2008, 11:11:30 AM »

ขอบคุณครับผม
ตามมาจาก linuxthai เช่นกันครับ
บันทึกการเข้า
ngearb
Newbie
*

การ์ม่า: 0
กระทู้: 1


ดูรายละเอียด อีเมล์
« ตอบ #4 เมื่อ: ตุลาคม 02, 2008, 11:11:48 AM »

ขอบคุณอับ
เอาไว้ศึกษา
บันทึกการเข้า
maxzohot
Newbie
*

การ์ม่า: 0
กระทู้: 4


ดูรายละเอียด อีเมล์
« ตอบ #5 เมื่อ: ตุลาคม 04, 2008, 06:47:03 PM »

 Kiss งะงะ ยกมือครับ ผมแฟนพันแท้ k.Alexa  จัดไปครับ
บันทึกการเข้า
newboy
Ex-ManualI,II Customer
Sr. Member
*

การ์ม่า: -2
กระทู้: 324


ดูรายละเอียด อีเมล์
« ตอบ #6 เมื่อ: ตุลาคม 07, 2008, 09:00:59 PM »

สวัสดีครับ Mr.Alexa
เด็กใหม่ขอรายงานตัวครับ
บันทึกการเข้า

อยากให้ในร้านของท่านนิ่งและเนียนดูที่นี่
http://www.zealzonecafe.com
Mr.Alexa
Administrator
Hero Member
*****

การ์ม่า: 21
กระทู้: 2,445


ซื่อกินไม่หมด คดกินไม่นาน


ดูรายละเอียด เว็บไซต์ อีเมล์
« ตอบ #7 เมื่อ: ตุลาคม 09, 2008, 09:14:18 AM »

สวัสดีครับ Mr.Alexa
เด็กใหม่ขอรายงานตัวครับ

ยินดีต้อนรับครับผม  คุณศักดิ์  Smiley
บันทึกการเข้า

ความคิดสร้างสรรค์ คือบ่อกำเนิดความรู้

www.zealzonecafe.com

- รับติดตั้ง วางระบบ โค๊ดแยกเน็ต รวมสาย สำหรับ Cable Modem แบบ eth ทุกยี่ห้อ
- รับติดตั้ง วางระบบ Server ร้านเน็ต - ร้านเกม ด้วย ClarkConnect / ClearOS (พร้อมสอน + แถมคู่มือ และซีดีโปรแกรม ฟรี!!!)
- รับติดตั้ง วางระบบ แยกเน็ตแยกเกม (แถมระบบรายงานสถานะ Server ด้วย SMS ผ่านมือถือ)
- รับติดตั้ง วางระบบ เก็บแพทช์เกม (โหลดแพทช์เร็วขึ้น ด้วยการทำ Caching)
- รับติดตั้ง วางระบบ เพิ่มความเร็วเน็ต ด้วย Web Proxy (โหลดเร็ว เหมือนวิ่งผ่าน LAN)
- รับติดตั้ง วางระบบ Diskless / No-Harddisk / No HDD (ประหยัดเวลาลงโปรแกรม + ประหยัดไฟ ทำเครื่องเดียว เหมือนกันทั้งร้าน)
- รับติดตั้ง ระบบ ครี - จอย DotA (ครีเอ และจอย DotA ได้ทั้งร้าน)
prakob_w
Newbie
*

การ์ม่า: 0
กระทู้: 1


ดูรายละเอียด อีเมล์
« ตอบ #8 เมื่อ: ตุลาคม 19, 2008, 10:19:44 AM »

ขอบคุณครับ  Cheesy ทดลองแล้วครับ ใช้งานดีมากเลย
บันทึกการเข้า
karakorn
Newbie
*

การ์ม่า: 0
กระทู้: 3


ดูรายละเอียด อีเมล์
« ตอบ #9 เมื่อ: ตุลาคม 20, 2008, 12:06:17 AM »

ขอบคุณอาจารย์
บันทึกการเข้า
mockingbird
Newbie
*

การ์ม่า: 0
กระทู้: 1


ดูรายละเอียด อีเมล์
« ตอบ #10 เมื่อ: ตุลาคม 23, 2008, 11:44:28 AM »

ติดตามผลงาน ตลอด ครับ  สู้ๆ ครับ
บันทึกการเข้า
VIOS
Newbie
*

การ์ม่า: 0
กระทู้: 5


ดูรายละเอียด อีเมล์
« ตอบ #11 เมื่อ: ตุลาคม 23, 2008, 08:57:26 PM »

ขอบคุณคุณเอมากครับ ขอโหลดนำไปทดลองใช้ดูก่อนครับ ไม่แน่ใจว่าผมจะใช้ได้ไหมเพราะผมทดลองของท่านใดที่นำมาแบ่งปันให้มัน Fail ทุกที ตอนนี้เลยได้แต่นำของทุกๆท่านมาตัด IP Game ใหม่ๆมาแปะรวมกัน โดยใช้โค้ดพื้นฐานของคุณวัลลภ(รุ่น 2.5 รุ่นใหม่กว่านั้นก็ Fail) Cry
บันทึกการเข้า
Mr.Alexa
Administrator
Hero Member
*****

การ์ม่า: 21
กระทู้: 2,445


ซื่อกินไม่หมด คดกินไม่นาน


ดูรายละเอียด เว็บไซต์ อีเมล์
« ตอบ #12 เมื่อ: ตุลาคม 23, 2008, 09:50:41 PM »

ขอบคุณคุณเอมากครับ ขอโหลดนำไปทดลองใช้ดูก่อนครับ ไม่แน่ใจว่าผมจะใช้ได้ไหมเพราะผมทดลองของท่านใดที่นำมาแบ่งปันให้มัน Fail ทุกที ตอนนี้เลยได้แต่นำของทุกๆท่านมาตัด IP Game ใหม่ๆมาแปะรวมกัน โดยใช้โค้ดพื้นฐานของคุณวัลลภ(รุ่น 2.5 รุ่นใหม่กว่านั้นก็ Fail) Cry


ลองอ่านกระทู้นี้ดูครับ  เผื่อว่าจะช่วยได้  Smiley

http://www.zealzonecafe.com/board/index.php?topic=47.0
« แก้ไขครั้งสุดท้าย: ตุลาคม 23, 2008, 09:54:25 PM โดย Mr.Alexa » บันทึกการเข้า

ความคิดสร้างสรรค์ คือบ่อกำเนิดความรู้

www.zealzonecafe.com

- รับติดตั้ง วางระบบ โค๊ดแยกเน็ต รวมสาย สำหรับ Cable Modem แบบ eth ทุกยี่ห้อ
- รับติดตั้ง วางระบบ Server ร้านเน็ต - ร้านเกม ด้วย ClarkConnect / ClearOS (พร้อมสอน + แถมคู่มือ และซีดีโปรแกรม ฟรี!!!)
- รับติดตั้ง วางระบบ แยกเน็ตแยกเกม (แถมระบบรายงานสถานะ Server ด้วย SMS ผ่านมือถือ)
- รับติดตั้ง วางระบบ เก็บแพทช์เกม (โหลดแพทช์เร็วขึ้น ด้วยการทำ Caching)
- รับติดตั้ง วางระบบ เพิ่มความเร็วเน็ต ด้วย Web Proxy (โหลดเร็ว เหมือนวิ่งผ่าน LAN)
- รับติดตั้ง วางระบบ Diskless / No-Harddisk / No HDD (ประหยัดเวลาลงโปรแกรม + ประหยัดไฟ ทำเครื่องเดียว เหมือนกันทั้งร้าน)
- รับติดตั้ง ระบบ ครี - จอย DotA (ครีเอ และจอย DotA ได้ทั้งร้าน)
VIOS
Newbie
*

การ์ม่า: 0
กระทู้: 5


ดูรายละเอียด อีเมล์
« ตอบ #13 เมื่อ: ตุลาคม 24, 2008, 07:27:12 PM »

รบกวนคุณเออีกครั้งนะครับ ผมทดลองทำตามที่คุณเอแนะนำแล้ว โดยไฟล์ที่เปิดดูของผมมันไม่มีอักขระ ^M เลยแม้แต่บรรทัดเดียว มันแสดงเหมือนที่ดูจากโปรแกรม wordpad และไฟล์ล่าสุดที่ผมทดสอบดูมันก็ยังคง Fail อยู่เหมือนเดิม มันมีอะไรที่ต้องสังเกตอีกไหมครับ(ผมเปลี่ยนค่าในไฟล์ตามที่คุณเอแนะนำเรียบร้อยแล้ว) Huh?
บันทึกการเข้า
Mr.Alexa
Administrator
Hero Member
*****

การ์ม่า: 21
กระทู้: 2,445


ซื่อกินไม่หมด คดกินไม่นาน


ดูรายละเอียด เว็บไซต์ อีเมล์
« ตอบ #14 เมื่อ: ตุลาคม 24, 2008, 08:09:38 PM »

รบกวนคุณเออีกครั้งนะครับ ผมทดลองทำตามที่คุณเอแนะนำแล้ว โดยไฟล์ที่เปิดดูของผมมันไม่มีอักขระ ^M เลยแม้แต่บรรทัดเดียว มันแสดงเหมือนที่ดูจากโปรแกรม wordpad และไฟล์ล่าสุดที่ผมทดสอบดูมันก็ยังคง Fail อยู่เหมือนเดิม มันมีอะไรที่ต้องสังเกตอีกไหมครับ(ผมเปลี่ยนค่าในไฟล์ตามที่คุณเอแนะนำเรียบร้อยแล้ว) Huh?

รบกวนลองเล่าเรื่องราวให้ผมฟังตั้งแต่ขั้นแรก จนถึงขั้นสุดท้ายให้ผมฟังทุกขั้นตอนเลยครับ
จะได้ดูว่ามีขั้นตอนไหนที่อาจทำให้เกิด error ขึ้นได้
บันทึกการเข้า

ความคิดสร้างสรรค์ คือบ่อกำเนิดความรู้

www.zealzonecafe.com

- รับติดตั้ง วางระบบ โค๊ดแยกเน็ต รวมสาย สำหรับ Cable Modem แบบ eth ทุกยี่ห้อ
- รับติดตั้ง วางระบบ Server ร้านเน็ต - ร้านเกม ด้วย ClarkConnect / ClearOS (พร้อมสอน + แถมคู่มือ และซีดีโปรแกรม ฟรี!!!)
- รับติดตั้ง วางระบบ แยกเน็ตแยกเกม (แถมระบบรายงานสถานะ Server ด้วย SMS ผ่านมือถือ)
- รับติดตั้ง วางระบบ เก็บแพทช์เกม (โหลดแพทช์เร็วขึ้น ด้วยการทำ Caching)
- รับติดตั้ง วางระบบ เพิ่มความเร็วเน็ต ด้วย Web Proxy (โหลดเร็ว เหมือนวิ่งผ่าน LAN)
- รับติดตั้ง วางระบบ Diskless / No-Harddisk / No HDD (ประหยัดเวลาลงโปรแกรม + ประหยัดไฟ ทำเครื่องเดียว เหมือนกันทั้งร้าน)
- รับติดตั้ง ระบบ ครี - จอย DotA (ครีเอ และจอย DotA ได้ทั้งร้าน)
หน้า: [1] 2 3 ... 7
  พิมพ์  
 
กระโดดไป:  

จัดทำโดย http://www.zealzonecafe.com

   
Powered by MySQL Powered by PHP Powered by SMF 1.1.11 | SMF © 2006-2009, Simple Machines LLC

Valid XHTML 1.0! Valid CSS! Dilber MC Theme by HarzeM