ข่าว: ข่าวประกาศ

  • 20 เมษายน 2024, 08:17:02

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

ผู้เขียน หัวข้อ: Script สำหรับ 3WAN , 4WAN , 5WAN สำหรับ MultiWAN Server  (อ่าน 31666 ครั้ง)

admin

  • Administrator
  • Hero Member
  • *****
  • กระทู้: 3820
    • ดูรายละเอียด
    • อีเมล์
Script สำหรับ 3WAN , 4WAN , 5WAN สำหรับ MultiWAN Server
« เมื่อ: 31 สิงหาคม 2008, 21:24:56 »
ไฟล์  /etc/ppp/ip-up.d/0route  (ppp101 = Games , ppp102 + ppp103 = WEB)

#!/bin/bash
                WAN1=0
                WAN2=0
                WAN3=0

                ppp101=`/sbin/ifconfig -a | grep "ppp101"`

                if [ -n "$ppp101" ]; then
                        # echo "ppp101 is up"
                        WAN1=1
                        ip route add default table 101 dev ppp101
                        ip route add default table 201 dev ppp101
                        IPWAN=`ip addr show ppp101 |grep inet |cut -d " " -f 6`
                        ip rule del prio 201
                        ip rule add from $IPWAN lookup 201 prio 201
                fi

                ppp102=`/sbin/ifconfig -a | grep "ppp102"`

                if [ -n "$ppp102" ]; then
                        # echo "ppp102 is up"
                        WAN2=1
                        ip route add default table 102 dev ppp102
                        ip route add default table 202 dev ppp102
                        IPWAN=`ip addr show ppp102 |grep inet |cut -d " " -f 6`
                        ip rule del prio 202
                        ip rule add from $IPWAN lookup 202 prio 202
                fi

                ppp103=`/sbin/ifconfig -a | grep "ppp103"`

                if [ -n "$ppp103" ]; then
                        # echo "ppp103 is up"
                        WAN3=1
                        ip route add default table 103 dev ppp103
                        ip route add default table 203 dev ppp103
                        IPWAN=`ip addr show ppp103 |grep inet |cut -d " " -f 6`
                        ip rule del prio 203
                        ip rule add from $IPWAN lookup 203 prio 203
                fi

                LinkStatus=$WAN1$WAN2$WAN3

                if [ $LinkStatus -eq 111 ]; then
                        ip route del default
                        ip route del table 101 default
                        ip route del table 102 default
                        ip route del table 103 default
         ip route del table 250 default
                        ip route add default equalize nexthop dev ppp102 weight 4 nexthop dev ppp103 weight 4
                        ip route add table 101 default dev ppp101
                        ip route add table 102 default dev ppp102
                        ip route add table 103 default dev ppp103
         ip route add table 250 default equalize nexthop dev ppp102 weight 4 nexthop dev ppp103 weight 4

                fi

                if [ $LinkStatus -eq 011 ]; then
                        ip route del default
                        ip route del table 101 default
                        ip route del table 102 default
                        ip route del table 103 default
         ip route del table 250 default
                        ip route add default dev ppp103
                        ip route add table 101 default dev ppp102
                        ip route add table 102 default dev ppp103
                        ip route add table 103 default dev ppp103
         ip route add table 250 default dev ppp103
         
                fi

                if [ $LinkStatus -eq 101 ]; then
                        ip route del default
                        ip route del table 101 default
                        ip route del table 102 default
                        ip route del table 103 default
         ip route del table 250 default
                        ip route add default dev ppp103
                        ip route add table 101 default dev ppp101
                        ip route add table 102 default dev ppp103
                        ip route add table 103 default dev ppp103
         ip route add table 250 default dev ppp103

                fi

                if [ $LinkStatus -eq 110 ]; then
                        ip route del default
                        ip route del table 101 default
                        ip route del table 102 default
                        ip route del table 103 default
         ip route del table 250 default
                        ip route add default dev ppp 102
                        ip route add table 101 default dev ppp101
                        ip route add table 102 default dev ppp102
                        ip route add table 103 default dev ppp102
         ip route add table 250 default dev ppp102

                fi

                if [ $LinkStatus -eq 100 ]; then
                        ip route del default
                        ip route del table 101 default
                        ip route del table 102 default
                        ip route del table 103 default
         ip route del table 250 default
                        ip route add default dev ppp101
                        ip route add table 101 default dev ppp101
                        ip route add table 102 default dev ppp101
                        ip route add table 103 default dev ppp101
         ip route add table 250 default dev ppp101

                fi

                if [ $LinkStatus -eq 010 ]; then
                        ip route del default
                        ip route del table 101 default
                        ip route del table 102 default
                        ip route del table 103 default
         ip route del table 250 default
                        ip route add default dev ppp 102
                        ip route add table 101 default dev ppp102
                        ip route add table 102 default dev ppp102
                        ip route add table 103 default dev ppp102
         ip route add table 250 default dev ppp102

                fi

                if [ $LinkStatus -eq 001 ]; then
                        ip route del default
                        ip route del table 101 default
                        ip route del table 102 default
                        ip route del table 103 default
         ip route del table 250 default
                        ip route add default dev ppp 103
                        ip route add table 101 default dev ppp103
                        ip route add table 102 default dev ppp103
                        ip route add table 103 default dev ppp103
         ip route add table 250 default dev ppp103

                fi

                if [ $LinkStatus -eq 000 ]; then
                        ip route del default
                        ip route del table 101 default
                        ip route del table 102 default
                        ip route del table 103 default
         ip route del table 250 default

                fi
 
                ip route flush cache
« แก้ไขครั้งสุดท้าย: 01 กันยายน 2008, 00:06:47 โดย admin »
<a href="http://www.hadyaiinternet.com/images/inetcafe.swf" target="_blank" rel="noopener noreferrer" class="bbc_link bbc_flash_disabled new_win">http://www.hadyaiinternet.com/images/inetcafe.swf</a>

admin

  • Administrator
  • Hero Member
  • *****
  • กระทู้: 3820
    • ดูรายละเอียด
    • อีเมล์
Re: Script สำหรับ 3WAN , 4WAN , 5WAN สำหรับ MultiWAN Server
« ตอบกลับ #1 เมื่อ: 02 กันยายน 2008, 00:01:50 »
ตัวอย่าง Script 5WAN (Wan ละ 4M) โหลดบาลานซ์ทั้ง 5 เส้น ไม่แยกเกมส์
ไฟล์  /etc/ppp/ip-up.d/0route

#!/bin/sh

        droute=""

        ppp101=`/sbin/ifconfig -a | grep "ppp101"`

        if [ -n "$ppp101" ]; then
                # echo "ppp101 is up"
                status=`expr $status + 1`
                ip route add default table 101 dev ppp101
                ip route add default table 201 dev ppp101
                IPWAN=`ip addr show ppp101 |grep inet |cut -d " " -f 6`
                ip rule del prio 201
                ip rule add from $IPWAN lookup 201 prio 201
                droute="$droute nexthop dev ppp101 weight 4"
        fi

        ppp102=`/sbin/ifconfig -a | grep "ppp102"`

        if [ -n "$ppp102" ]; then
                # echo "ppp102 is up"
                status=`expr $status + 2`
                ip route add default table 102 dev ppp102
                ip route add default table 202 dev ppp102
                IPWAN=`ip addr show ppp102 |grep inet |cut -d " " -f 6`
                ip rule del prio 202
                ip rule add from $IPWAN lookup 202 prio 202
                droute="$droute nexthop dev ppp102 weight 4"
        fi

        ppp103=`/sbin/ifconfig -a | grep "ppp103"`

        if [ -n "$ppp103" ]; then
                # echo "ppp103 is up"
                status=`expr $status + 4`
                ip route add default table 103 dev ppp103
                ip route add default table 203 dev ppp103
                IPWAN=`ip addr show ppp103 |grep inet |cut -d " " -f 6`
                ip rule del prio 203
                ip rule add from $IPWAN lookup 203 prio 203
                droute="$droute nexthop dev ppp103 weight 4"
        fi

        ppp104=`/sbin/ifconfig -a | grep "ppp104"`

        if [ -n "$ppp104" ]; then
                # echo "ppp104 is up"
                status=`expr $status + 8`
                ip route add default table 104 dev ppp104
                ip route add default table 204 dev ppp104
                IPWAN=`ip addr show ppp104 |grep inet |cut -d " " -f 6`
                ip rule del prio 204
                ip rule add from $IPWAN lookup 204 prio 204
                droute="$droute nexthop dev ppp104 weight 4"
        fi

        ppp105=`/sbin/ifconfig -a | grep "ppp105"`

        if [ -n "$ppp105" ]; then
                # echo "ppp105 is up"
                status=`expr $status + 16`
                ip route add default table 105 dev ppp105
                ip route add default table 205 dev ppp105
                IPWAN=`ip addr show ppp105 |grep inet |cut -d " " -f 6`
                ip rule del prio 205
                ip rule add from $IPWAN lookup 205 prio 205
                droute="$droute nexthop dev ppp105 weight 4"
        fi

        if [ -n "$droute" ]; then
                ip route del default
                ip route del table 250 default
                defroute="ip route add default equalize $droute"
                defroute2="ip route add table 250 default equalize $droute"
                `$defroute`
                `$defroute2`
        fi

ip route flush cache
<a href="http://www.hadyaiinternet.com/images/inetcafe.swf" target="_blank" rel="noopener noreferrer" class="bbc_link bbc_flash_disabled new_win">http://www.hadyaiinternet.com/images/inetcafe.swf</a>