Hadyai Internet R&D LAB

ผลงานของ Hadyai Internet R&D LAB => คุยกับทีมวิจัย => ข้อความที่เริ่มโดย: pphat21 ที่ 24 กรกฎาคม 2008, 17:59:15

หัวข้อ: จะรวมสายเน็ตต้องเขียนสคริปยังไงครับ Ubuntu
เริ่มหัวข้อโดย: pphat21 ที่ 24 กรกฎาคม 2008, 17:59:15
คือผมมีเน็ตอยู่ 4 เส้นๆละ 2 เมก อยากจะรวมเน็ต แล้วจ่ายออก โดยจะเอาไว้เข้าเว็บไซด์อย่างเดียว ไม่มีเล่นเกมส์ออนไลน์ต้องเขียนสคริปยังไงครับ
หัวข้อ: Re: จะรวมสายเน็ตต้องเขียนสคริปยังไงครับ Ubuntu
เริ่มหัวข้อโดย: admin ที่ 24 กรกฎาคม 2008, 19:04:25
ไม่ทราบว่าทำถึงขั้นตอนไหนแล้วครับ

ต่อครบ 4 เส้นหรือยังครับ  ppp101 - ppp104 หรือเปล่าครับ

ยังไง pm มาก็ได้ครับ ผมจะได้เอา script ตัวอย่างส่งให้
หัวข้อ: Re: จะรวมสายเน็ตต้องเขียนสคริปยังไงครับ Ubuntu
เริ่มหัวข้อโดย: pphat21 ที่ 24 กรกฎาคม 2008, 23:02:01
ต่อครบ 4 เส้นแล้วครับ แล้วต้องทำไงต่อครับ
หัวข้อ: Re: จะรวมสายเน็ตต้องเขียนสคริปยังไงครับ Ubuntu
เริ่มหัวข้อโดย: admin ที่ 24 กรกฎาคม 2008, 23:36:43
ถ้าใช้สำหรับเล่นเน็ตอย่างเดียว ก็สามารถ ใช้ default route ได้เลยโดยใช้คำสั่ง

ip route replace default equalize nexthop dev ppp101 weight 2 nexthop dev ppp102 weight 2 nexthop dev ppp103 weight 2 nexthop dev ppp104 weight 2

ได้เลยครับและต้องเพิ่ม Script สำหรับ checklink.sh และ 0route กรณีมีเส้นใดเส้นหนึ่งหลุดไป ก็ให้ทำการวิ่งเส้นที่เหลือแทน

/etc/init.d/checklink.sh
-------------------------------------------------
#!/bin/sh

oldstatus=0
while [ 1 ]
do

        status=0

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

        if [ -n "$ppp101" ]; then
                # echo "ppp101 is up"
                status=`expr $status + 1`
        fi

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

        if [ -n "$ppp102" ]; then
                # echo "ppp102 is up"
                status=`expr $status + 2`
        fi

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

        if [ -n "$ppp103" ]; then
                # echo "ppp103 is up"
                status=`expr $status + 4`
        fi

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

        if [ -n "$ppp104" ]; then
                # echo "ppp104 is up"
                status=`expr $status + 8`
        fi

        if [ $status != $oldstatus ]; then

                /etc/ppp/ip-up.d/0route

        fi
        oldstatus=$status

        sleep 5
done


/etc/init.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 2"
        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 2"
        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 2"
        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 2"
        fi

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

ip route flush cache
หัวข้อ: Re: จะรวมสายเน็ตต้องเขียนสคริปยังไงครับ Ubuntu
เริ่มหัวข้อโดย: relaxy ที่ 26 กรกฎาคม 2008, 21:54:08
ถ้าต้องการรวม 2 เส้น หละครับ เส้นที่1 ppp101 รวมกับ เส้นที่2 ppp102
จะใช้ในกรณีโหลดบิต ตอนกลางคืน

จะต้องใช้คำสั่งแบบนี้ หรือเขียนไว้ใน iptable

ขอคำแนะนำด้วยครับ  :)
หัวข้อ: Re: จะรวมสายเน็ตต้องเขียนสคริปยังไงครับ Ubuntu
เริ่มหัวข้อโดย: pphat21 ที่ 28 กรกฎาคม 2008, 17:34:07
ผมหาโฟลเดอร์นี้ไม่เจอครับ init.d
หัวข้อ: Re: จะรวมสายเน็ตต้องเขียนสคริปยังไงครับ Ubuntu
เริ่มหัวข้อโดย: admin ที่ 28 กรกฎาคม 2008, 17:41:27
อยู่ใน   /etc/init.d
หัวข้อ: Re: จะรวมสายเน็ตต้องเขียนสคริปยังไงครับ Ubuntu
เริ่มหัวข้อโดย: pphat21 ที่ 29 กรกฎาคม 2008, 20:32:26
แล้วถ้ามีเน็ตเพียง 1 สาย ต้องคอนฟิคยังไงครับ จะให้เล่นได้ทั้งเน็ตและเกมส์ออนไลน์