Welcome to Sysnet Board คู่มือ การใช้งานอุปกรณ์ Network. Please log in or sign up.
สมาชิกทั้งหมด
17,949
กระทู้ทั้งหมด
9,947
หัวข้อทั้งหมด
4,633

  • การทำ Loadbalance Internet ADSL 3 เส้น (PPPoE) แบบ PCC
    เริ่มโดย yod
    Read 16,796 times
0 สมาชิก และ 1 ผู้มาเยือน กำลังดูหัวข้อนี้
yod

การทำ Loadbalance Internet ADSL 3 เส้น (PPPoE) แบบ PCC



การทำ loadbalance แบบนี้ ข้อดีคือจะจัดการตาม session เลยครับ เพราะฉะนั้นจะไม่มีปัญหาเรื่องการเข้า web พวก ssl แต่ค่อนข้างจะกิน cpu นะครับ





จากตัวอย่างจะเป็น Loadbalace 3wan ต่อแบบ PPPoE-Client ใช้อุปกรณ์ Mikrotik Routerboard รุ่น RB2011UAS-2HnD-IN โดยให้ port 8,9 และ 10 เป็น port ออก internet และ port1-5 เป็นฝั่ง lan ครับ



การ Config เนื่องจากผมยังไม่ได้ลองใช้งานจริง เป็นการทดสอบที่ร้าน ถ้ามีปัญหาการใช้งานเกิดขึ้น รบกวนช่วยแชร์ข้อมูลให้ทางผมด้วยนะครับ จะได้หาวิธีแก้ไขได้ถูกต้อง



ผมจะทำตั้งแต่เริ่มต้นเลยนะครับ จะได้ง่ายต่อการ Config อุปกรณ์ ส่วนการ Upgrade RouterOS ผมได้ทำไว้แล้วครับ การ Upgrade RouterOS สำหรับอุปกรณ์ Mikrotik Router Board


1. Login เข้า Winbox
ครั้งแรกที่ Login เข้ามา ถ้ามีการแจ้ง Default Configuration ให้ Click [Remove Configuration] แต่ถ้าไม่มี ให้เข้า Menu System --> Reset --> Reset Configuration รอ Reboot แล้ว Login เข้า Winbox อีกครั้ง




2. เข้า Menu Bridge เพื่อสร้าง bridge1 ขึ้นมา




จากนั้นเพิ่ม Interface เข้าไปใน Bridge1 โดยมี Interface ether1 จนถึง ether5 ครับ




3. สร้าง IP Address ให้กับ Bridge1
เข้า Menu IP --> Address กำหนดตามรูป




4. สร้าง DHCP Server ให้กับ Bridge1 โดยเข้า Menu IP --> DHCP Server สำหรับขั้นตอนนี้ ตัวอย่างจะอยู่ในหัวข้อ การ Config อุปกรณ์ Mikrotik RouterBoard เบื้องต้น #1




5. สร้าง PPPoE Client เพื่อ Dial-up ไปยังผู้ให้บริการ Internet
เข้า Menu PPP --> เลือก PPPoE-Client เลือก Interface: ether8 แล้ว Click[Apply]




เข้าที่ Tab Dial Out ใส่ User/Password ที่ได้จากผู้ให้บริการ Internet



Click เลือก Use Peer DNS

Click [OK]

ทำจนครบทั้ง 3 WAN ให้ Port Ether9 เป็น pppoe-out2 และ Ether10 เป็น pppoe จะได้รายการตามรูป




6. จากนั้น Copy Script ด้านล่างไปแปะที่ New Terminal (เลือกอย่างใดอย่างนึงนะครับ)

แก้ไขหมายเลข IP Address ให้ตรงกับฝั่ง Lan ที่ใช้ ตัวอย่าง IP ฝั่ง Lan ของ Mikrotik จะเป็น 192.168.1.1 เพราะฉะนั้นวง Network จะเป็น 192.168.1.0/24

ในกรณีที่ไม่ได้ใช้ Hotspot Server


/ip firewall mangle
add action=accept chain=prerouting disabled=no in-interface=pppoe-out1
add action=accept chain=prerouting disabled=no in-interface=pppoe-out2
add action=accept chain=prerouting disabled=no in-interface=pppoe-out3

add action=mark-connection chain=prerouting disabled=no dst-address-type=!local \
new-connection-mark=wan1_conn passthrough=yes per-connection-classifier=both-addresses-and-ports:3/0 src-address=192.168.1.0/24

add action=mark-connection chain=prerouting disabled=no dst-address-type=!local \
new-connection-mark=wan2_conn passthrough=yes per-connection-classifier=both-addresses-and-ports:3/1 src-address=192.168.1.0/24

add action=mark-connection chain=prerouting disabled=no dst-address-type=!local \
new-connection-mark=wan3_conn passthrough=yes per-connection-classifier=both-addresses-and-ports:3/2 src-address=192.168.1.0/24

add action=mark-routing chain=prerouting connection-mark=wan1_conn disabled=no new-routing-mark=to_wan1 passthrough=yes src-address=192.168.1.0/24
add action=mark-routing chain=prerouting connection-mark=wan2_conn disabled=no new-routing-mark=to_wan2 passthrough=yes src-address=192.168.1.0/24
add action=mark-routing chain=prerouting connection-mark=wan3_conn disabled=no new-routing-mark=to_wan3 passthrough=yes src-address=192.168.1.0/24

/ip firewall nat
add action=masquerade chain=srcnat disabled=no out-interface=pppoe-out1 src-address=192.168.1.0/24
add action=masquerade chain=srcnat disabled=no out-interface=pppoe-out2 src-address=192.168.1.0/24
add action=masquerade chain=srcnat disabled=no out-interface=pppoe-out3 src-address=192.168.1.0/24

/ip route
add check-gateway=ping disabled=no distance=1 dst-address=0.0.0.0/0 gateway=pppoe-out1 routing-mark=to_wan1 scope=30 target-scope=10
add check-gateway=ping disabled=no distance=1 dst-address=0.0.0.0/0 gateway=pppoe-out2 routing-mark=to_wan2 scope=30 target-scope=10
add check-gateway=ping disabled=no distance=1 dst-address=0.0.0.0/0 gateway=pppoe-out3 routing-mark=to_wan3 scope=30 target-scope=10

add check-gateway=ping disabled=no distance=1 dst-address=0.0.0.0/0 gateway=pppoe-out1 scope=30 target-scope=10
add check-gateway=ping disabled=no distance=1 dst-address=0.0.0.0/0 gateway=pppoe-out2 scope=30 target-scope=10
add check-gateway=ping disabled=no distance=1 dst-address=0.0.0.0/0 gateway=pppoe-out3 scope=30 target-scope=10



ในกรณีใช้ร่วมกับระบบ Hotspot Server


/ip firewall mangle
add action=accept chain=prerouting disabled=no in-interface=pppoe-out1
add action=accept chain=prerouting disabled=no in-interface=pppoe-out2
add action=accept chain=prerouting disabled=no in-interface=pppoe-out3

add action=mark-connection chain=prerouting disabled=no dst-address-type=!local hotspot=auth \
new-connection-mark=wan1_conn passthrough=yes per-connection-classifier=both-addresses-and-ports:3/0 src-address=192.168.1.0/24

add action=mark-connection chain=prerouting disabled=no dst-address-type=!local hotspot=auth \
new-connection-mark=wan2_conn passthrough=yes per-connection-classifier=both-addresses-and-ports:3/1 src-address=192.168.1.0/24

add action=mark-connection chain=prerouting disabled=no dst-address-type=!local hotspot=auth \
new-connection-mark=wan3_conn passthrough=yes per-connection-classifier=both-addresses-and-ports:3/2 src-address=192.168.1.0/24

add action=mark-routing chain=prerouting connection-mark=wan1_conn disabled=no new-routing-mark=to_wan1 passthrough=yes src-address=192.168.1.0/24
add action=mark-routing chain=prerouting connection-mark=wan2_conn disabled=no new-routing-mark=to_wan2 passthrough=yes src-address=192.168.1.0/24
add action=mark-routing chain=prerouting connection-mark=wan3_conn disabled=no new-routing-mark=to_wan3 passthrough=yes src-address=192.168.1.0/24

/ip firewall nat
add action=masquerade chain=srcnat disabled=no out-interface=pppoe-out1 src-address=192.168.1.0/24
add action=masquerade chain=srcnat disabled=no out-interface=pppoe-out2 src-address=192.168.1.0/24
add action=masquerade chain=srcnat disabled=no out-interface=pppoe-out3 src-address=192.168.1.0/24

/ip route
add check-gateway=ping disabled=no distance=1 dst-address=0.0.0.0/0 gateway=pppoe-out1 routing-mark=to_wan1 scope=30 target-scope=10
add check-gateway=ping disabled=no distance=1 dst-address=0.0.0.0/0 gateway=pppoe-out2 routing-mark=to_wan2 scope=30 target-scope=10
add check-gateway=ping disabled=no distance=1 dst-address=0.0.0.0/0 gateway=pppoe-out3 routing-mark=to_wan3 scope=30 target-scope=10

add check-gateway=ping disabled=no distance=1 dst-address=0.0.0.0/0 gateway=pppoe-out1 scope=30 target-scope=10
add check-gateway=ping disabled=no distance=1 dst-address=0.0.0.0/0 gateway=pppoe-out2 scope=30 target-scope=10
add check-gateway=ping disabled=no distance=1 dst-address=0.0.0.0/0 gateway=pppoe-out3 scope=30 target-scope=10




อย่าลืมเคาะ Enter อีก 1ที




7. ตรวจสอบที่ IP --> Firewall ครับ






8. เข้า Menu IP --> DNS เพิ่ม DNS ของ google เข้าไปด้วยครับคือ 8.8.8.8 และ 8.8.4.4 และ Click เลือก Allow Remote Requests




9. ดึงสาย Lan จาก Computer ออก แล้วเสียบใหม่อีกครั้ง Computr จะได้ IP ใหม่มาจาก RouterBoard


ทดสอบ

1. เข้า Menu New terminal ลอง ping ไปที่ www.google.com ครับ ถ้าเชื่อมต่อ Internet ได้จะมี Reply กลับมา




2. การทดสอบให้ลอง Download ไฟล์ด้วย Bittorrent จะเห็นชัดเจนครับ








3. ส่วนการ Test speed ผมลองทดสอบหลายๆ web ค่าไม่ตรงกันซัก web แต่ถ้า Bittorrent แล้วตัว RouterBoard รวมให้ก็ OK แล้วครับ เพราะเปิด session เยอะตามจำนวนคนที่ปล่อยไฟล์เลย





### Update 20/12/2016 ###

4. ทดสอบกับ Web Speed Test.net จะได้ความเร็วครบตามที่กำหนดนะครับ ตัวอย่างผมมี Internet เส้นละ 3MB ครับ



ทีนี้ก็ลอง Load Bittorrent หน่วยในโปรแกรมจะเป็น Byte นะครับ แต่ใน Winbox จะเป็น Bit






ในกรณีใช้ 2Wan ก็สร้าง pppoe-client แค่ 2 Interface ส่วน Script ตามนี้ได้เลยครับ

กรณีไม่ได้ใช้ Hotspot Server


/ip firewall mangle
add action=accept chain=prerouting disabled=no in-interface=pppoe-out1
add action=accept chain=prerouting disabled=no in-interface=pppoe-out2

add action=mark-connection chain=prerouting disabled=no dst-address-type=!local \
new-connection-mark=wan1_conn passthrough=yes per-connection-classifier=both-addresses-and-ports:2/0 src-address=192.168.1.0/24

add action=mark-connection chain=prerouting disabled=no dst-address-type=!local \
new-connection-mark=wan2_conn passthrough=yes per-connection-classifier=both-addresses-and-ports:2/1 src-address=192.168.1.0/24


add action=mark-routing chain=prerouting connection-mark=wan1_conn disabled=no new-routing-mark=to_wan1 passthrough=yes src-address=192.168.1.0/24
add action=mark-routing chain=prerouting connection-mark=wan2_conn disabled=no new-routing-mark=to_wan2 passthrough=yes src-address=192.168.1.0/24

/ip firewall nat
add action=masquerade chain=srcnat disabled=no out-interface=pppoe-out1 src-address=192.168.1.0/24
add action=masquerade chain=srcnat disabled=no out-interface=pppoe-out2 src-address=192.168.1.0/24

/ip route
add check-gateway=ping disabled=no distance=1 dst-address=0.0.0.0/0 gateway=pppoe-out1 routing-mark=to_wan1 scope=30 target-scope=10
add check-gateway=ping disabled=no distance=1 dst-address=0.0.0.0/0 gateway=pppoe-out2 routing-mark=to_wan2 scope=30 target-scope=10

add check-gateway=ping disabled=no distance=1 dst-address=0.0.0.0/0 gateway=pppoe-out1 scope=30 target-scope=10
add check-gateway=ping disabled=no distance=1 dst-address=0.0.0.0/0 gateway=pppoe-out2 scope=30 target-scope=10




กรณีใช้ร่วมกับ Hotspot Server


/ip firewall mangle
add action=accept chain=prerouting disabled=no in-interface=pppoe-out1
add action=accept chain=prerouting disabled=no in-interface=pppoe-out2

add action=mark-connection chain=prerouting disabled=no dst-address-type=!local hotspot=auth \
new-connection-mark=wan1_conn passthrough=yes per-connection-classifier=both-addresses-and-ports:2/0 src-address=192.168.1.0/24

add action=mark-connection chain=prerouting disabled=no dst-address-type=!local hotspot=auth \
new-connection-mark=wan2_conn passthrough=yes per-connection-classifier=both-addresses-and-ports:2/1 src-address=192.168.1.0/24


add action=mark-routing chain=prerouting connection-mark=wan1_conn disabled=no new-routing-mark=to_wan1 passthrough=yes src-address=192.168.1.0/24
add action=mark-routing chain=prerouting connection-mark=wan2_conn disabled=no new-routing-mark=to_wan2 passthrough=yes src-address=192.168.1.0/24

/ip firewall nat
add action=masquerade chain=srcnat disabled=no out-interface=pppoe-out1 src-address=192.168.1.0/24
add action=masquerade chain=srcnat disabled=no out-interface=pppoe-out2 src-address=192.168.1.0/24

/ip route
add check-gateway=ping disabled=no distance=1 dst-address=0.0.0.0/0 gateway=pppoe-out1 routing-mark=to_wan1 scope=30 target-scope=10
add check-gateway=ping disabled=no distance=1 dst-address=0.0.0.0/0 gateway=pppoe-out2 routing-mark=to_wan2 scope=30 target-scope=10

add check-gateway=ping disabled=no distance=1 dst-address=0.0.0.0/0 gateway=pppoe-out1 scope=30 target-scope=10
add check-gateway=ping disabled=no distance=1 dst-address=0.0.0.0/0 gateway=pppoe-out2 scope=30 target-scope=10










เรียบร้อยครับ  ;D ;D



เมื่อกี้่ PM ไปแล้วนะครับ ถามว่า

แล้วถ้าผมมี เน็ต 3BB เชื่อมต่อแบบ PPPoe 3 เส้น
แล้วมี เน็ต TOT-Winet 1 เส้น ควรเขียนสคริปยังไงครับ

รบกวน เพื่อนสมาชิกช่วยดู สคริปให้หน่อยครับ ว่าเกิดปัญหาตรงไหน

net 3bb  10 M   /  TOT FTTX  20  ทำ โหลดบาลานซ์ แบบ PCC
มีปัญหาตรง ไม่รวมเน็ต แต่เป็น BACKUP กันอยู่ครับ เวลาใช้งานจะออก เส้นใดเส้นนึ่งเส้นเดียว





/ip pool
add name=dhcp_pool1 ranges=192.168.10.2-192.168.10.50
/ip dhcp-server
add address-pool=dhcp_pool1 disabled=no interface=bridge1 name=dhcp1

/interface bridge port
add bridge=bridge1 interface=ether3
add bridge=bridge1 interface=ether4
/ip address
add address=192.168.1.2/24 interface=ether1 network=192.168.1.0
add address=192.168.2.2/24 interface=ether2 network=192.168.2.0
add address=192.168.10.1/24 interface=ether3 network=192.168.10.0
/ip dhcp-server network
add address=192.168.10.0/24 gateway=192.168.10.1
/ip dns
set allow-remote-requests=yes servers=192.168.10.1,8.8.8.8,8.8.4.4
/ip dns static
add address=192.168.10.1 name=router
/ip firewall mangle
add action=mark-connection chain=input in-interface=pppoe-out1 \
   new-connection-mark=ether1_conn
add action=mark-connection chain=input in-interface=pppoe-out2 \
   new-connection-mark=ether2_conn
add action=mark-routing chain=output connection-mark=ether1_conn \
   new-routing-mark=to_ether1
add action=mark-routing chain=output connection-mark=ether2_conn \
   new-routing-mark=to_ether2
add action=mark-connection chain=prerouting dst-address-type=!local \
   in-interface=bridge1 new-connection-mark=ether1_conn \
   per-connection-classifier=both-addresses-and-ports:2/0
add action=mark-connection chain=prerouting dst-address-type=!local \
   in-interface=bridge1 new-connection-mark=ether1_conn \
   per-connection-classifier=both-addresses-and-ports:2/1
add action=mark-connection chain=prerouting dst-address-type=!local \
   in-interface=bridge1 new-connection-mark=ether2_conn \
   per-connection-classifier=both-addresses-and-ports:2/2
add action=mark-routing chain=prerouting connection-mark=ether1_conn \
   in-interface=bridge1 new-routing-mark=to_ether1
add action=mark-routing chain=prerouting in-interface=bridge1 \
   new-routing-mark=to_ether2
/ip firewall nat
add action=masquerade chain=srcnat out-interface=pppoe-out1
add action=masquerade chain=srcnat out-interface=pppoe-out2 to-addresses=\
   0.0.0.0
add action=dst-nat chain=dstnat dst-port=800 in-interface=pppoe-out1 \
   protocol=tcp to-addresses=192.168.10.150 to-ports=800
add action=dst-nat chain=dstnat dst-port=800 in-interface=pppoe-out2 \
   protocol=tcp to-addresses=192.168.10.150 to-ports=800
add action=dst-nat chain=dstnat dst-port=900 in-interface=pppoe-out1 \
   protocol=tcp to-addresses=192.168.10.125 to-ports=90
add action=dst-nat chain=dstnat dst-port=5920 in-interface=pppoe-out1 \
   protocol=tcp to-addresses=192.168.10.125 to-ports=5920
add action=dst-nat chain=dstnat dst-port=5921 in-interface=pppoe-out1 \
   protocol=tcp to-addresses=192.168.10.125 to-ports=5921
add action=dst-nat chain=dstnat dst-port=5921 in-interface=pppoe-out1 \
   protocol=udp to-addresses=192.168.10.125 to-ports=5921
/ip firewall service-port
set tftp disabled=yes
set irc disabled=yes
set h323 disabled=yes
set sip disabled=yes
set pptp disabled=yes
/ip route
add check-gateway=ping distance=1 gateway=pppoe-out1 routing-mark=to_ether1
add check-gateway=ping distance=1 gateway=pppoe-out2 routing-mark=to_ether2
add check-gateway=ping distance=1 gateway=pppoe-out1
add check-gateway=ping distance=2 gateway=pppoe-out2
/ip service
set telnet disabled=yes
set ftp disabled=yes
set www port=81
set ssh disabled=yes
set api disabled=yes
set api-ssl disabled=yes
/system clock
set time-zone-name=Asia/Bangkok
/system ntp client
set enabled=yes mode=unicast primary-ntp=203.185.69.60 secondary-ntp=\
   118.175.67.83
/system scheduler
add interval=10m name=dynDNS on-event="/system script run dynDns\r\
   \n" policy=\
   ftp,reboot,read,write,policy,test,winbox,password,sniff,sensitive,api \
   start-time=startup


และขอคำแนะนำหรือชี้ ทางเรื่อง LOOPBACK ในวงแลน ด้วย ddns ครับ

เพื่อไว้เช็คว่า อุปกรณ์ที่เป็น บริดโหมด หรือ พวกกล้อง DVR เราออนไลน์ได้หรือยังครับ