找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 3907|回复: 0

WZR-HP-G300NH 成功多拨经验分享,及遗留问题

[复制链接]
发表于 2014-3-30 10:18 | 显示全部楼层 |阅读模式
本帖最后由 free 于 2014-3-30 11:28 编辑

先上效果图4M adsl 3拨


根据此帖附件4530r打包(2014-1-13)完成
https://www.right.com.cn/forum/thread-110487-1-1.html
固件版本:官方trunk r40296 内核:3.10.34

1 安装pppd
opkg安装ppp-mod-pppoe_2.4.5-10_ar71xx.ipk、ppp_2.4.5-10_ar71xx.ipk安装这两个包的时候会报错(MD5效验不一致),解决办法是临时把opkg源的src/gz注释掉update一次就可以正常安装,之后恢复即可
2 复制syncpppinit到/sbin/syncpppinit,改权限
3 替换/lib/netifd/proto/ppp.sh
我这里直接替换之后这个脚本会报错执行不下去,解决办法是直接修改原系统ppp.sh,定位到ppp_generic_setup() ,将{}内从proto_run_command开始一直到结束(范围仅在这个{}内)的内容替换为/root/pppoe-my start这一条语句
4 设置pppoe-my、autodetect里的拨号数,并复制到/root/下,改权限
我这里pppoe-my修改的地方
---------------------------
a       #开始更换随机mac地址
        for i in $( seq 0 $(($n-1)))
        do
          if [ "$i" == "0"  ] ;
          then
        ifname=eth1  《=这里修改为本机的物理wan口,我的是eth1
          else
        ifname=vth$i
          fi
-----------------------------
b        #开始并发拨号
        syncpppinit $n &
        sleep 1
        echo [syncppp]sync dialing.............
        for i in $( seq 0 $(($n-1)))
        do
          if [ "$i" == "0"  ] ;
          then
               interface=wan
        ifname=eth1    《=这里修改为本机的物理wan口,我的是eth1
          else
               interface=wan$i
        ifname=vth$i
          fi
-------------------------
c          #拨号命令,linux2.6请用第一行,3.3.8以上请用第二行
#           /usr/sbin/pppd plugin rp-pppoe.so syncppp mtu 1492 mru 1492 $ifname nopersist usepeerdns nodefaultroute user $user password $pass ipparam $interface ifname pppoe-$interface nodetach &
            /usr/sbin/pppd plugin rp-pppoe.so syncppp mtu 1492 mru 1492 $ifname persist usepeerdns nodefaultroute user $user password $pass ipparam $interface ifname pppoe-$interface nodetach maxfail 1 ip-up-script /lib/netifd/ppp-up ipv6-up-script /lib/netifd/ppp-up ip-down-script /lib/netifd/ppp-down ipv6-down-script /lib/netifd/ppp-down &
根据我的内核版本,我使用第二行,这里第一个$interface的原文是nic-$interface,执行会报错,把 nic- 去除就正常了
------------------------------
d           #等待系统拨号完成,linux2.6请保留以下行
#        [ "$j" -ge "$ok" ] && sleep 35
    #去掉rt_cache,linux3.10及以上版本请注释掉以下行
#        [ "$j" -ge "$ok" ] && echo -1 > /proc/sys/net/ipv4/rt_cache_rebuild_count
        #重启nwan,linux2.6请保留以下行
#        [ "$j" -ge "$ok" ] && /etc/init.d/nwan restart

       [ "$j" -ge "$ok" ] && /etc/init.d/multiwan restart
        [ "$j" -ge "$ok" ] && exit
    done
这几处根据原文注释进行修改。在脚本的最后,由于我用的是multiwan,希望它在每次拨号后能重启,所以加了一句 [ "$j" -ge "$ok" ] && /etc/init.d/multiwan restart

5 计划任务里添加autodetect,每分钟执行一次
6  虚拟出多wan口,设置好nwan或mwan,重启即可。
我从官方源安装了macvlan,向/etc/rc.local中添加了两个虚拟接口,这里的虚拟接口名称"vth"是和pppoe-my中对应的

ip link add link eth1 vth1 type macvlan
ifconfig vth1 hw ether 00:22:36:c8:3B:3D
ifconfig vth1 up

ip link add link eth1 vth2 type macvlan
ifconfig vth2 hw ether 00:23:63:c3:4B:3D
ifconfig vth2 up

7 /etc/config/network中wan口和两个虚拟wan口的配置
需要在这里和lan配置中手工指定dns,否则客户端无法正常dns解析
config interface 'wan'
    option auto '1'
    option ifname 'eth1'
    option _orig_ifname 'eth1'
    option _orig_bridge 'false'
    option proto 'pppoe'
    option username '用户名'
    option password '密码'
    option pppd_options 'plugin rp-pppoe.so syncppp 3'
    option peerdns '0'
    option dns '8.8.8.8 8.8.4.4'

config interface 'wan1'
    option ifname 'vth1'
    option _orig_ifname 'eth1'
    option _orig_bridge 'false'
    option proto 'pppoe'
    option username '用户名'
    option password '密码'
    option pppd_options 'plugin rp-pppoe.so syncppp 3'
    option peerdns '0'
    option dns '8.8.8.8 8.8.4.4'

config interface 'wan2'
    option auto '1'
    option ifname 'vth2'
    option _orig_ifname 'eth1'
    option _orig_bridge 'false'
    option proto 'pppoe'
    option username '用户名'
    option password '密码'
    option pppd_options 'plugin rp-pppoe.so syncppp 3'
    option peerdns '0'
    option dns '8.8.8.8 8.8.4.4'

8 /etc/config/multiwan配置
这里的interface名称要和network里的名称对应,而且是大小写敏感的

config multiwan 'config'
    option enabled '1'
    option default_route 'fastbalancer'

config interface 'wan'
    option health_interval '10'
    option timeout '3'
    option health_fail_retries '3'
    option health_recovery_retries '5'
    option dns '8.8.8.8'
    option icmp_hosts 'gateway'
    option failover_to 'fastbalancer'
    option weight '10'

config interface 'wan1'
    option health_interval '10'
    option timeout '3'
    option health_fail_retries '3'
    option health_recovery_retries '5'
    option dns '8.8.8.8'
    option icmp_hosts 'gateway'
    option failover_to 'fastbalancer'
    option weight '10'

config interface 'wan2'
    option health_interval '10'
    option icmp_hosts 'gateway'
    option timeout '3'
    option health_fail_retries '3'
    option health_recovery_retries '5'
    option dns '8.8.8.8'
    option failover_to 'fastbalancer'
    option weight '10'

9 以上全部的配置完成,遗留的问题
a 使用相同网关的多条ppp连接中,只有一条连接走流量,这个是multiwan的功能局限,没什么办法
b 路由器本身访问网络有问题,wget总是无法完成,从昨天弄好多拨到刚才开始码字都还不行,码到这里要去抓个现行,它竟然好了。MD。



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-6-8 16:11

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com

快速回复 返回顶部 返回列表