วิธีการเซ็ท load balance สำหรับ uplink แบบ PPPoE (router bridge mode) แบบง่ายๆ เร็วๆ
ไฟล์ /var/efw/inithooks/start.local
#!/bin/sh
route del default
ip route add default equalize nexthop dev ppp0 weight 1 nexthop dev ppp1 weight 1
exit 0
แล้วตั้งเวลาใน etc/crontab ให้รัน start.local ทุก 15นาที
*/15 * * * * /var/efw/inithooks/start.local
จะได้ ip route ออกเน็ตสองเส้นทาง
default equalize
nexthop dev ppp0 weight 1
nexthop dev ppp1 weight 1
ใช้เวลาแปปเดียวแต่เสียความสามารถในการ Backup/Failover ไป ส่วนอีกวิธีที่แน่นอนกว่า..
ทำ load balance ด้วย Linux Bash script
ผมเปลี่ยนมาใช้วิธีนี้นานแล้วไม่เคยมีปัญหาอีกเลย
กรณีต่อแบบ PPPoE uplink: เซ็ท adsl router แบบ bridge mode ใช้ efw เป็นตัว connect
main uplink : eth0 -> ppp0
uplink1 : eth2 -> ppp1
*Notice* ในสคริปท์ต้องระบุ interface ที่ใช้ คือ eth0, eth2, ppp0, ppp1 ให้ตรงกับชื่อในเซอฟเวอร์จริง
1. สร้างไฟล์สคริปท์ใน /usr/share/balance.sh กำหนด Chmod 755 (-rwxr-xr-x)
*Notice* ในสคริปท์ต้องระบุ interface ที่ใช้ คือ eth0, eth2, ppp0, ppp1 ให้ตรงกับชื่อในเซอฟเวอร์จริง
1. สร้างไฟล์สคริปท์ใน /usr/share/balance.sh กำหนด Chmod 755 (-rwxr-xr-x)