预览模式: 普通 | 列表

(存档)TTDW路由,双线N拨脚本

#!/bin/ash
# load-balance(X-WAN) Script VER 0.21 by rightzd 20101212 | 2线X WAN版 |
# 使用方法:
#   双WAN接口模式选择为“双物理口双WAN”, 双WAN模式选择为“自定义脚本”并把本脚本内容粘贴进去,WAN2路由表选择为自定义并保持内容为空
#   iptables -t nat -I POSTROUTING -o ppp+ -j MASQUERADE这句放在系统管理->脚本设置->防火墙脚本里
# 单数WAN的账号、密码是WAN1的,双数WAN的账号密码是WAN2
# WAN1, WAN2是固件自动拨号的,从WAN3起由脚本负责拨号。WAN1,WAN2的指定出口功能有效,不过如果修改设置后请重启路由器。

LOGGER=logger
LOCK_FILE=/var/policyroute-set.lock
XWAN_OK=/var/xwan_ok
NETLIST=/var/policyroute-netlist
MACBASE=$(nvram get wan_hwaddr)
MTU=$(nvram get wan_mtu)
#WAN的数量
WANNUM=6

#对MAC进行递增,注意跨度不要太大,目前只支持最后两位的递增
MACINC() {
mac=$1
value=$2
b1=`printf "%d" 0x${mac:0:2}`
b2=`printf "%d" 0x${mac:3:2}`
b3=`printf "%d" 0x${mac:6:2}`
b4=`printf "%d" 0x${mac:9:2}`
b5=`printf "%d" 0x${mac:12:2}`
b6=`printf "%d" 0x${mac:15:2}`
let x=$b6+$value
let b6=$((x%255))
let b5=b5+$((x/255))

let x=b5
let b5=$((x%255))
let b4=b4+$((x/255))

NEWMAC=`printf "%x:%x:%x:%x:%x:%x" ${b1} ${b2} ${b3} ${b4} ${b5} ${b6}`
}

#进行一个PPPoE拨号
PPPOE() {
iface=$1
x=$(($2%2))
if [ x == 1]; then
#单数WAN的用户名密码
  user=$(nvram get ppp_username)
  passwd=$(nvram get ppp_passwd)
else
#双数WAN的用户名密码
  user=$(nvram get ppp2_username)
  passwd=$(nvram get ppp2_passwd)
fi
let ipparam=$2-1
$(pppoecd $iface -u $user -p $passwd -r $MTU -t $MTU -P $ipparam)
}

#激活一个WAN口,参数1为vlan1或vlan2,参数2类型是数字,如IFUP vlan1 3表示在vlan1(WAN1)上激活WAN3
IFUP() {
parent=$1
iface="veth"$2
ip link add link $parent $iface type macvlan
#设置WAN口的MAC,注释掉这句则用随机MAC(不建议,那样的话ISP那边可能会。。。...

查看更多...

Tags: 路由

分类:网络点滴 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 3777

(存档)TTDW路由,单线N拨脚本

#!/bin/ash
# load-balance(X-WAN) Script VER 0.23 by rightzd 20110902 | 单线X WAN版
# 使用方法:
#            双WAN接口模式选择为“单物理口双WAN”, 双WAN模式选择为“自定义脚本”并把本脚本内容粘贴进去,WAN2路由表选择为自定义并保持内容为空
#            iptables -t nat -I POSTROUTING -o ppp+ -j MASQUERADE这句放在系统管理->脚本设置->防火墙脚本里
# 一般只需要修改USER, PASSWD, WANNUM这3个参数就可以
# WAN1, WAN2是固件自动拨号的,从WAN3起由脚本负责拨号。WAN1,WAN2的指定出口功能有效,不过如果修改设置后请重启路由器。

LOGGER=logger
LOCK_FILE=/var/policyroute-set.lock
XWAN_OK=/var/xwan_ok
NETLIST=/var/policyroute-netlist
#宽带用户名和密码
USER="帐号"
PASSWD="密码"
#榨干你的线路,修改这个参数为线路允许的多拨次数
WANNUM=4
MTU=$(nvram get wan_mtu)
MACBASE=$(nvram get wan_hwaddr)

#对MAC进行递增,注意跨度不要太大,目前只支持最后两位的递增
MACINC() {
    mac=$1
    value=$2
    b1=`printf "%d" 0x${mac:0:2}`
    b2=`printf "%d" 0x${mac:3:2}`
    b3=`printf "%d" 0x${mac:6:2}`
    b4=`printf "%d" 0x${mac:9:2}`
    b5=`printf "%d" 0x${mac:12:2}`
    b6=`printf "%d" 0x${mac:15:2}`
    let x=$b6+$value
    let b6=$((x%255))
    let b5=b5+$((x/255))

    let x=b5
    let b5=$((x%255))
   ...

查看更多...

Tags: 路由

分类:网络点滴 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 4578