|
本帖最后由 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。
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|