多宽带联网(四) OpenWrt中利用MWAN3实现IP策略分流(国内外分流、运营商分流等)

  不同运营商访问同一个目标网站的速度不同,如果该网站只有移动出口,通过电信网访问速度则相对较慢。不同运营商的国际骨干网线路也不相同,访问国际网站的速度也大不相同。因此,如果能接入多个运营商的宽带,则根据请求的目标IP使用策略进行分流很有必要。

目录

一、实验说明

二、MWAN3安装与配置

1. 安装

2. 配置

三、IP段获取并导入ipset

1. 各国IP段文件获取

2. 解析并导入ipset

3. 添加启动项和计划任务

四、MWAN3规则的进一步配置

五、运营商分流


一、实验说明

  OpenWrt接口情况:

    ① WAN -> 电信网(IP:171.218.97.213)

    ② WAN2 -> 联通网(IP:175.152.10.101)

二、MWAN3安装与配置

1. 安装

  注意:使用MWAN3必须先在 “网络->接口” 中为各接口设定不同的网关跃点。

多宽带联网(二) OpenWrt中利用MWAN3负载均衡实现带宽叠加https://blog.csdn.net/Cx2008Lxl/article/details/123116458

2. 配置

  在 “网络->负载均衡(load balancing)” 或名为 “网络->MultiWAN管理器” 的菜单下,按照2.1的教程配置好接口和成员和策略。

1)成员配置

  本实验中,WAN接口对应wan_m1_w3成员、WAN2接口对应wan2_m1_w3成员。

2)策略配置

  本实验策略配置情况如图1,规划的策略为:

    ① 国际网站采用wan2_only策略,仅采用联通网络。

    ② 国内网站采用wan_only策略,仅采用电信网络。

多宽带联网(四) OpenWrt中利用MWAN3实现IP策略分流(国内外分流、运营商分流等)_第1张图片 图1 策略配置

3)规则配置

  新建一名为 “internet” 的规则,将 “分配的策略” 改为 “wan2_only”,保存并应用,如图2。

说明

  MWAN3规则是从上往下匹配的。由于国内的IP段的列表比国际IP段少,因此后续将制定国内IP段的列表,并为国内IP规则配置筛选条件(图2中前3个规则)。如果不满足国内IP规则的条件,则会执行下一条 “internet” 规则。因此 “internet” 规则不需要配置条件,只需指定策略为 “wan2_only” 即可。

多宽带联网(四) OpenWrt中利用MWAN3实现IP策略分流(国内外分流、运营商分流等)_第2张图片 图2 规则配置

三、IP段获取并导入ipset

1. 各国IP段文件获取

  APNIC负责亚太地区的IP分配,通过脚本获取并解析即可得到国内IP段。

  打开OpenWrt终端,在 “/etc” 目录中新建名为 “ipset-rules” 的目录,相关文件将存放在该目录下。切换到该目录,并从APNIC获取IP段划分文件。

mkdir /etc/ipset-rules
cd /etc/ipset-rules
wget -c http://ftp.apnic.net/apnic/stats/apnic/delegated-apnic-latest

2. 解析并导入ipset

       在 “/etc/ipset-rules” 目录下新建名为 “genrules.sh” 的文件,写入以下内容并保存退出。

  该脚本执行后将从 “delegated-apnic-latest” 文件中解析出国内IPv4地址段,并构建导入ipset的脚本文件,保存至 “ipv4_CN.sh” 脚本文件中,执行该文件即可将IP地址段规则导入ipset。(需要IPv6地址段可取消第6-8行注释)。

#!/bin/bash

cat delegated-apnic-latest | awk -F '|' '/CN/&&/ipv4/ {print "ipset add ipv4_CN " $4 "/" 32-log($5)/log(2)}' | cat > ipv4_CN.sh
sed -i '1s/^/#!\/bin\/bash\nipset create ipv4_CN hash:net hashsize 16384\n/' ipv4_CN.sh
chmod +x ipv4_CN.sh
#cat delegated-apnic-latest | awk -F '|' '/CN/&&/ipv6/ {print "ipset add ipv6_CN " $4 "/" $5}' | cat > ipv6_CN.sh
#sed -i '1s/^/#!\/bin\/bash\nipset create ipv6_CN hash:net family inet6 hashsize 4096\n/' ipv6_CN.sh
#chmod +x ipv6_CN.sh

  在终端中执行以下命令,为 “genrules.sh” 脚本赋予执行权限,并执行一次该脚本。

chmod +x genrules.sh
sh genrules.sh

3. 添加启动项和计划任务

  由于ipset保存在内存中,因此每次启动均需要重新将规则导入ipset。添加启动项可自动执行导入过程。

  APNIC的地址段每日更新,添加计划任务自动从APNIC获取地址段文件,可保持规则最新。

1)启动项添加

  OpenWrt中,切换到 “系统->启动项->本地启动脚本” 页面。将下列代码粘贴至 “exit 0” 之前并保存。

# 载入中国大陆IP范围 至 ipset
sh /etc/ipset-rules/ipv4_CN.sh
/etc/init.d/mwan3 restart

2)计划任务添加

  OpenWrt中,切换到 “系统->计划任务” 页面,将下列代码粘贴至文本框中并保存。

  下列代码表示每日0点自动从APNIC获取最新的IP地址段并生成ipset导入脚本。

0 0 */1 * * cd /etc/ipset-rules;rm -rf delegated-apnic-latest;wget -c http://ftp.apnic.net/apnic/stats/apnic/delegated-apnic-latest;sh genrules.sh

  计划任务定时时间说明见下列文章的 五、解决OpenWrt的Frpc掉线问题

Frp内网穿透实现 以服务器CentOS+客户端OpenWrt为例https://blog.csdn.net/Cx2008Lxl/article/details/1232628303)重启OpenWrt生效规则

四、MWAN3规则的进一步配置

  前往 MWAN3规则配置页面。编辑国内IP规则(本实验为图2中前3个规则),在 “IP配置” 中选择第三章中导入ipset的规则 “ipv4_CN”并保存,如图3。然后保存和应用。

多宽带联网(四) OpenWrt中利用MWAN3实现IP策略分流(国内外分流、运营商分流等)_第3张图片 图3 规则IP配置

  打开网站:http://www.ip111.cn,可测试国内国外网站访问的源IP。也可在CMD内通过tracert跟踪判断路由选择情况。

多宽带联网(四) OpenWrt中利用MWAN3实现IP策略分流(国内外分流、运营商分流等)_第4张图片 图4 测试情况

五、运营商分流

  运营商分流原理与国内外分流原理一样,仅需将4.1的IP段更换为运营商IP段,再修改MWAN3规则即可,本实验将不再进一步演示。

你可能感兴趣的:(计算机网络,网络,负载均衡,ip,路由器)