Mikrotik 4wan static load balance

วิธีการรวมเนต 4 เส้น ด้วย Mikrotik

พอดีมีลูกค้าต้องการรวมเนต 2 เส้น เส้นแรกเป็นเนตดาวเทียม เส้นสองเป็น 3G
จึงเป็นที่มาของบทความนี้ครับ จัดทีเดียว 4 WAN เลย

รูปแบบตามเชื่อมต่อตามรูปเลย โดยช่อง LAN 1-4 เป็น Interface In LAN 5 เป็น Interface Out



พอดีที่ office มีเนตเส้นเดียวจาก TRUE เป็น 7M/512k อีกเส้นจึงจำเป็นต้องดึงจาก TRUEWIFI ความเร็ว 10/1

Mikrotik ใช้ตัว RB750U-2HnD


WAN แรกได้จากโมเดม Zyxel ตัว speedtouch ไม่ได้ใช้นะครับ สังเกตุมันไม่ได้เสียบสายโทรศัพท์ (พอดีที่ office มีโมเดมที่ใช้เทสเยอะพอสมควร)
 

WAN 2 มาจาก UBNT


Loco M2 clone MAC I Phone ลงไป เพื่อไม่ต้อง log in



เริ่มกันเลยครับ โดยต่อสายแลนจากช่อง LAN 5 ของ Mikrotik เข้าเครื่องที่คอนฟิกค่า (เส้นที่มาจากโมเดมและ UBiQUiTi ยังไม่ต้องต่อครับ) 

1.เปิด winbox เลือกคอนเนตด้วย MAC Address ของ Mikrotik


user=admin password=ไม่มี



2.remove default config ของ Mikrotik ออกครับ ตัว Mikrotik จะหลุดเองอัตโนมัติ



และ log in เข้าอีกครั้ง จะเห็นว่า ip เป็น 0.0.0.0 แล้ว



3.ไปที่ New Terminal copy script ตามนี้ลงไปวางครับ



 
ขอ SCRIPT ติดต่อมาที่ sales@wifi4you.com 
แล้วกด Enter ตามด้วย system reboot กดเพื่อยืนยัน


ตัว Mikrotik จะ disconnect ไปเอง
และได้ IP ใหม่เป็น 192.168.5.xxx Gateway 192.168.5.1



4.log in เข้าอีกครั้ง ระหว่างนี้จะเพิ่ม uptime mem cpu ก็จัดไป
ตั้งเวลาให้  Mikrotik ที่ Terminal
 
/system ntp client set enabled=yes mode=unicast primary-ntp=158.108.212.149 secondary-ntp=202.28.18.72
/system clock set time-zone-name=Asia/Bangkok

5.ทดลอง WAN แรกโดยเสียบสาย LAN เส้นที่มาจาก Modem เข้า LAN 1


เทส speed 1 WAN


เทส WAN 2 โดยถอดเส้นที่มาจากโมเดมออก เอาเส้นที่มาจาก UBiQUiTi เสียบเข้าช่อง LAN 2


เทส WAN 2


เสียบพร้อมกันทั้ง 2 WAN



เทส 3 รอบ รูปเป็น file gif นะครับ Avg.7-14.6 Mb
 

ความเร็วที่เทสอาจไม่ใช่ความเร็วสูงสุดที่เนต 2 เส้นรวมกันครับ
ดังนั้น จึงมาเทสที่ bittorrent จะเห็นผลกว่า เลือกไฟล์ที่คนปล่อยเยอะๆ


จะเห็นว่า WAN 1 นิ่งๆ ที่ 7.2 แต่ WAN 2 ไม่ค่อยนิ่ง ซึ่งเป็นปกติของ @TRUEWIFI แถว office


ดูที่ Interface บ้าง
 

แต่ความเร็วเฉลี่ยอยู่ที่ 1.5-1.6 บางทีก็ได้ถึง 2 MB/s


ผมใช้เวลาโหลดไฟล์ 3.99 GB ด้วยเวลาไม่ถึง 40 นาที

เพิ่มเติม

-กรณีที่ ความเร็ว Internet ไม่เท่ากัน ก็สามารถแก้ไขโค้ดบรรทัดดังนี้ (ตัวอย่าง WAN 1,3 ความเร็ว 4MbWAN 2 ความเร็ว 8 Mbและ WAN 4 ความเร็ว 12 Mb)
Ratio 1:2:1:3 =7 ส่วน
 
add chain=prerouting dst-address-type=!local in-interface=Local per-connection-classifier=both-addresses-and-ports:4/0 action=mark-connection new-connection-mark=ether1_connpassthrough=yes
add chain=prerouting dst-address-type=!local in-interface=Local per-connection-classifier=both-addresses-and-ports:4/1 action=mark-connection new-connection-mark=ether2_connpassthrough=yes
add chain=prerouting dst-address-type=!local in-interface=Local per-connection-classifier=both-addresses-and-ports:4/2 action=mark-connection new-connection-mark=ether2_connpassthrough=yes
add chain=prerouting dst-address-type=!local in-interface=Local per-connection-classifier=both-addresses-and-ports:4/3 action=mark-connection new-connection-mark=ether3_connpassthrough=yes
add chain=prerouting dst-address-type=!local in-interface=Local per-connection-classifier=both-addresses-and-ports:4/4 action=mark-connection new-connection-mark=ether4_connpassthrough=yes
add chain=prerouting dst-address-type=!local in-interface=Local per-connection-classifier=both-addresses-and-ports:4/5 action=mark-connection new-connection-mark=ether4_connpassthrough=yes 
add chain=prerouting dst-address-type=!local in-interface=Local per-connection-classifier=both-addresses-and-ports:4/6 action=mark-connection new-connection-mark=ether4_connpassthrough=yes 
 
 
สำหรับสคริปที่ผมเทส ผมใช้  1:1:1:1 ทั้ง 4 เส้นนะครับ
เปรียบเทียบดูดีๆ

สคริปแนะนำ copy ไว้ใน word เผื่อแก้ไขค่าต่างๆจะสามารถใช้ฟังค์ชั่นค้นหาและแทนที่ได้เลยครับ


-DNS ควรตั้งครับ เพราะถ้าใข้ 2 WAN ขึ้นไปแล้วต่างค่าย
 
/ip dns set allow-remote-requests=yes cache-max-ttl=1w cache-size=5000K max-udp-packet-size=512 servers=8.8.8.8,8.8.4.4

DNS
Maxnet 202.69.137.137 
Maxnet 203.69.137.138 
Asianet 203.144.255.71 
Asianet 203.144.255.72 
Csloxinfo 203.146.237.237 
Csloxinfo 203.146.237.222 
TRUE 203.144.207.29 
TRUE 203.144.207.49 
Pacific 203.121.130.39 
Pacific 203.121.130.40 
KSC 202.44.144.33 
KSC 203.155.33.1 
ABAC 202.6.100.1 
SGA 202.57.128.71 
Cattelecom 61.19.245.246 
Cattelecom 61.19.254.134 
Cattelecom 61.19.245.245 
Open DNS 208.67.222.222 
Open DNS 208.67.220.220 
Buddy 203.146.222.3 
Buddy 203.146.222.4 
Buddy 203.80.255.150 
TT&T 202.69.137.137 
TT&T 202.69.137.1378 
TOT 203.113.127.199 
TOT 203.113.24.199
 
 

-สคริปนี้ ทำ Load Balanced แบบทำงานไปพร้อมๆกัน เส้นไหนหลุดจะเปลี่ยนไปใช้อีกเส้น

พอดีพี่คนนึงฝากถามมา ในสคริปข้างบนมีแล้ว ครบ 4 เส้นเลย ลองเทสโดยถอดสายแลนอีกเส้นออก ก็ใช้เนตได้ปกติไม่หลุด
 
#|/ip route
/ip route add dst-address=0.0.0.0/0 gateway=192.168.1.1 routing-mark=to_ether1 check-gateway=ping
/ip route add dst-address=0.0.0.0/0 gateway=192.168.2.1 routing-mark=to_ether2 check-gateway=ping
/ip route add dst-address=0.0.0.0/0 gateway=192.168.3.1 routing-mark=to_ether3 check-gateway=ping
/ip route add dst-address=0.0.0.0/0 gateway=192.168.4.1 routing-mark=to_ether4 check-gateway=ping

/ip route add dst-address=0.0.0.0/0 gateway=192.168.1.1 distance=1 check-gateway=ping
/ip route add dst-address=0.0.0.0/0 gateway=192.168.2.1 distance=2 check-gateway=ping
/ip route add dst-address=0.0.0.0/0 gateway=192.168.3.1 distance=3 check-gateway=ping
/ip route add dst-address=0.0.0.0/0 gateway=192.168.4.1 distance=4 check-gateway=ping

เขียนๆและลองเทสหลายวันแล้ว แต่สภาพแวดล้อมไม่ค่อยเป็นใจ
คือ @TRUEWIFI สัญญาณมาไม่นิ่ง บางวันเอา NanoStation มาเทสแล้วก็ยังไม่ดีขึ้น มีวันนี้ล่ะฟ้าเป็นใจ


โมเดม Gateway ผมเป็น 192.168.1.1 อยู่แล้ว
ส่วนตัว Loco M2 ผมให้ dhcp แค่ 1 IP คือ 192.168.1.2 เพื่อให้เข้าเงื่่อนไขนี้

/ip address add address=192.168.2.2/24 network=192.168.2.0 broadcast=192.168.2.255 interface=ether2


ที่มาอ้างอิงและดัดแปลงจาก

http://wiki.mikrotik.com/wiki/Manual:PCC
http://mikrotikservers.blogspot.com/2012/05/mikrotik-4-wan-load-balancing-using-pcc.html?spref=fb

และหลายๆที่ ที่ไปจำมา
 
ทั้งนี้ทั้งนั้น ขอขอบคุณทั้งลูกค้าและเพื่อนๆที่ช่วยชี้แนะนำทางให้ครับ
ผมเองก็ไม่ได้เก่งอะไรมากมาย อาศัยถามและหาข้อมูลจากเว็บต่างๆ แปลได้บ้างไม่ได้บ้าง

ผมเชื่อว่าถ้าเรามีความพยายาม ไม่มีสิ่งไหนที่ทำไม่ได้ครับ

สำหรับวันนี้ สวัสดีครับ