|
本帖最后由 401626436 于 2019-6-27 16:42 编辑
说到ipv6负载均衡,看了很多人帖子也百度了很久,并没有找到相关有用的内容,
大多人的做法就是选择关闭mwan3还美其名曰mwan3与ipv6冲突!
上补丁文件,如果有需要就请按部就班的修改,不想修改的我也会放上修改好的源码!
如果有人知道同目录怎么指定patch路径的请告知一下,翻遍源码都只找到改dl库压缩包内源码的例子
ipv6只能路由自身能用,不能在客户端使用且只有内外ipv6地址,除非直接拨号有方法的也请告知一下
- #为lean大源码 /package/app/luci-app-syncdial 多线多播插件添加 mwan3 ipv6 & ipv4 负载均衡功能
- #如果需要 ipv6负载均衡 请按以下修改,以下文件均在 luci-app-syncdial
- #该补丁不能直接使用 该补丁不能直接使用 该补丁不能直接使用 重要的事情说三遍
- #请按照 该patch 手动修改源码 提及文件均以文本方式打开
- --- a/luasrc/model/cbi/syncdial.lua 源文件目录路径 --- a 表示先删除
- +++ b/luasrc/model/cbi/syncdial.lua 修改后文件目录路径 +++ b 表示添加
- # 以下 - 表示要替换的内容 + 表示替换后的内容 没有不用管
- @@ -56,6 +56,16 @@ o=s:option(Flag,"old_frame","使用旧��
- o.rmempty=false
- o=s:option(Flag,"nomwan","不自动配置MWAN3负载均衡","需要自定义负载均衡设置或者要使用策略路由的用户选择")
- o.rmempty=false
- +o:depends("ipv4", 0)
- +o:depends("ipv6", 0)
- +
- +o=s:option(Flag,"ipv4","配置IPV4负载均衡","自动给MWAN3配置IPV4负载均衡")
- +o.rmempty=false
- +o:depends("nomwan", 0)
- +
- +o=s:option(Flag,"ipv6","配置IPV6负载均衡","自动给MWAN3配置IPV6负载均衡")
- +o.rmempty=false
- +o:depends("nomwan", 0)
- o=s:option(DummyValue,"_redial","重新并发拨号")
- o.template="syncdial/redial_button"
- o.width="10%"
- --- a/root/bin/genwancfg 源文件目录路径 --- a 表示先删除
- +++ b/root/bin/genwancfg 修改后文件目录路径 +++ b 表示添加
- # 以下 - 表示要替换的内容 + 表示替换后的内容 没有不用管
- @@ -4,11 +4,14 @@
- . /lib/functions.sh
-
- #检测IP列表
- -chk_ip_list="www.baidu.com 114.114.114.114 119.29.29.29"
- +chk_ipv4_list="www.baidu.com 114.114.114.114 119.29.29.29"
- +chk_ipv6_list="240c::6644 240c::6666 ipv6.baidu.com"
- +ipv4=$(uci -q get syncdial.config.ipv4)
- +ipv6=$(uci -q get syncdial.config.ipv6)
- origfirewall=$(uci get firewall.@zone[1].network)
- backupdev=$(uci get syncdial.config.devbackup)
- norun=$(echo $origfirewall|grep vwan)
- -nomwan=$(uci get syncdial.config.nomwan)
- +nomwan=$(cat /etc/config/syncdial | grep "nomwan '1'" | wc -l)
- wanselect=$(uci get syncdial.config.wanselect)
- wannum=$(uci get syncdial.config.wannum)
- oldframe=$(uci get syncdial.config.old_frame)
- @@ -33,7 +36,8 @@ dial_type=$(uci get syncdial.config.dial
- #添加MWAN负载均衡相关配置
- #$1:接口名称
- mwan_cfg_add() {
- - #gen mwan3_interface
- + #gen mwan3_interface ipv4
- + if [ "$ipv4" -eq 1 ]; then
- uci set mwan3.${1}=interface
- uci set mwan3.${1}.enabled=1
- uci set mwan3.${1}.count=2
- @@ -41,7 +45,7 @@ mwan_cfg_add() {
- uci set mwan3.${1}.interval=5
- uci set mwan3.${1}.down=4
- uci set mwan3.${1}.up=1
- - for i in $chk_ip_list
- + for i in $chk_ipv4_list
- do
- uci add_list mwan3.${1}.track_ip="$i"
- done
- @@ -54,20 +58,56 @@ mwan_cfg_add() {
- uci set mwan3.${1}.recovery_interval=5
- uci set mwan3.${1}.flush_conntrack=never
- #gen mwan3_member
- - uci set mwan3.${1}_m1_w1=member
- - uci set mwan3.${1}_m1_w1.interface=${1}
- - uci set mwan3.${1}_m1_w1.metric=1
- - uci set mwan3.${1}_m1_w1.weight=1
- - #gen mwan3_policy
- - uci add_list mwan3.balanced.use_member=${1}_m1_w1
- + uci set mwan3.${1}_m1_ipv4=member
- + uci set mwan3.${1}_m1_ipv4.interface=${1}
- + uci set mwan3.${1}_m1_ipv4.metric=1
- + uci set mwan3.${1}_m1_ipv4.weight=1
- + #gen mwan3_policy ipv4
- + uci add_list mwan3.balanced.use_member=${1}_m1_ipv4
- + fi
- +
- + #gen mwan3_interface ipv6
- + if [ "$ipv6" -eq 1 ]; then
- + v6=${1}_6
- + uci set mwan3.${v6}=interface
- + uci set mwan3.${v6}.enabled=1
- + uci set mwan3.${v6}.count=2
- + uci set mwan3.${v6}.timeout=2
- + uci set mwan3.${v6}.interval=5
- + uci set mwan3.${v6}.down=4
- + uci set mwan3.${v6}.up=1
- + for i in $chk_ipv6_list
- + do
- + uci add_list mwan3.${v6}.track_ip="$i"
- + done
- + uci set mwan3.${v6}.reliability=1
- + uci set mwan3.${v6}.initial_state=online
- + uci set mwan3.${v6}.family=ipv6
- + uci set mwan3.${v6}.track_method=ping
- + uci set mwan3.${v6}.size=56
- + uci set mwan3.${v6}.failure_interval=5
- + uci set mwan3.${v6}.recovery_interval=5
- + uci set mwan3.${v6}.flush_conntrack=never
- + #gen mwan3_member ipv6
- + uci set mwan3.${1}_m1_ipv6=member
- + uci set mwan3.${1}_m1_ipv6.interface=${v6}
- + uci set mwan3.${1}_m1_ipv6.metric=1
- + uci set mwan3.${1}_m1_ipv6.weight=1
- + #gen mwan3_policy ipv6
- + uci add_list mwan3.balanced.use_member=${1}_m1_ipv6
- + fi
- }
-
- #删除MWAN负载均衡相关配置
- #$1:接口名称
- mwan_cfg_del() {
- uci del mwan3.${1}
- - uci del mwan3.${1}_m1_w1
- - uci del_list mwan3.balanced.use_member=${1}_m1_w1
- + uci del mwan3.${1}_m1_ipv4
- + uci del_list mwan3.balanced.use_member=${1}_m1_ipv4
- + v6=${1}_6
- + uci del mwan3.${v6}
- + uci del mwan3.${1}_m1_ipv6
- + uci del_list mwan3.balanced.use_member=${1}_m1_ipv6
- }
-
- #添加macvlan设备
- --- a/root/etc/config/syncdial 源文件目录路径 --- a 表示先删除
- +++ b/root/etc/config/syncdial 修改后文件目录路径 +++ b 表示添加
- # 以下 - 表示要替换的内容 + 表示替换后的内容 没有不用管
- @@ -15,5 +15,7 @@ config syncdial 'config'
- option devbackup 'wan wan6 wan2'
- option bindwan '0'
- option bindwan2 '0'
- + option ipv4 '1'
- + option ipv6 '1'
- option enabled '0'
复制代码
看完依旧不明觉厉请直接下载改好的文件
上效果图
有人知道这一堆是干什么的吗?
请不要胡乱输入以及粘贴、复制等方式灌水
请尊重作者、并共同维护网站的正常阅读,否则账户将会被限制发帖、回帖,并且积分可能会被清零,站内短信以及阅读权限等都会受到影响,谢谢。
具体限制方式:https://www.right.com.cn/forum/thread-8307840-1-1.html
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|