多宽带联网(一) OpenWrt中使用Macvlan实现单线多拨上网

  当OpenWrt运行在只有一个WAN口的设备(或计算机)中时,这时如果拥有多条出口链路,则需要进行单线多拨上网操作。macvlan并非传统意义上的VLAN,利用它可以创建虚拟网卡,来共享物理网卡所链接的外部网络。

  在PPPoE拨号上网认证网络(如校园网)中,服务提供商会针对每个宽带用户账户进行限速,以此确保所有用户都能拥有较好的网络体验。想要同时登录多个用户账户,则需要多张不同MAC的网卡。通过macvlan,可以创建许多虚拟的网卡,使其可各自获得不同的IP地址,登录不同的宽带账户。后续可进行负载均衡,来提升综合网速。

目录

一、Macvlan的安装

 二、配置Macvlan

1. 本实验OpenWrt拥有的网络适配器介绍

2. 创建macvlan虚拟网卡

3. 创建网络接口


一、Macvlan的安装

  登录OpenWrt的Web管理后台,选择 “系统 -> Software(软件)” 菜单,在 “Filter” 中输入 “macvlan”,在搜索结果中安装名为 “kmod-macvlan” 的软件,如图1。注:若搜索不到任何软件,请先在 “操作” 中点击 “Update lists”,来更新软件列表。更新时,需确保WAN接口网卡能正确连接至广域网,且需在 “网络->接口” 中创建wan接口,并配置其能正确上网。

图1 OpenWrt软件安装

 二、配置Macvlan

1. 本实验OpenWrt拥有的网络适配器介绍

  本实验采用VMware虚拟机完成。OpenWrt系统所在的虚拟机分配有两张网卡,一张网卡(eth0)与物理机的有线以太网卡进行桥接,作为WAN口网卡使用;另一张网卡(eth1)只与物理机通信,作为OpenWrt的Web管理面板通道和LAN口网卡使用。因此,本实验广域网从eth0接入,局域网从eth1提供

2. 创建macvlan虚拟网卡

  由1.2.1的分析可知,虚拟网卡需基于eth0物理设备,从而作为WAN口接入广域网,并进行宽带用户认证。因此,Macvlan虚拟网卡需基于eth0这个实体设备。下面,将在开机脚本中,创建Macvlan虚拟网卡并启用网卡,以后的每次开机,系统将自动创建网卡并启用。

  在OpenWrt的Web管理面板,选择 “系统->启动项” 菜单,切换上方选项卡为 “本地启动脚本”,编辑本地启动脚本,如图2。

图2 本地启动脚本编辑

  在exit 0上方空行处,输入如下命令,创建基于eth0网卡的名为vth0~vth7的虚拟macvlan型网卡(行1~8),并配置各网卡的MAC地址(行9~16),启动各网卡(行17~24)。注:① 虚拟网卡的MAC地址可自行设置,也可不特别指定,若不特别指定,系统在每次启动时将随机自动生成一个MAC地址。② 您可根据需求自行确定虚拟网卡的个数,不必完全效仿创建8个虚拟网卡。

ip link add link eth0 name vth0 type macvlan
ip link add link eth0 name vth1 type macvlan
ip link add link eth0 name vth2 type macvlan
ip link add link eth0 name vth3 type macvlan
ip link add link eth0 name vth4 type macvlan
ip link add link eth0 name vth5 type macvlan
ip link add link eth0 name vth6 type macvlan
ip link add link eth0 name vth7 type macvlan
ifconfig vth0 hw ether 92:E8:D0:69:22:C0
ifconfig vth1 hw ether 32:2F:61:11:3B:69
ifconfig vth2 hw ether 96:6F:32:61:0B:F9
ifconfig vth3 hw ether DA:6E:10:26:0F:CB
ifconfig vth4 hw ether A6:B6:58:B3:B5:62
ifconfig vth5 hw ether 06:B1:DD:D7:3B:61
ifconfig vth6 hw ether 46:27:0A:B7:03:F6
ifconfig vth7 hw ether 1A:CE:E9:F7:3C:44
ifconfig vth0 up
ifconfig vth1 up
ifconfig vth2 up
ifconfig vth3 up
ifconfig vth4 up
ifconfig vth5 up
ifconfig vth6 up
ifconfig vth7 up

  输入完毕后,点击右下角 “保存” 按钮,并重启OpenWrt,每次重启时将自动创建vth0~vth7虚拟macvlan网卡。

3. 创建网络接口

  在OpenWrt的Web管理面板,选择 “网络->接口” 菜单,进入接口配置页面(图3)。

图3 接口配置页面

  点击左下角 “创建新接口” 按钮,接口名称可自行指定,本实验此处为 “wan0”。设备选择vth0虚拟macvlan网卡。若您采用PPPoE拨号上网,请在协议处选择 “PPPoE”,若您采用网页认证上网(如校园网等),请选择DHCP客户端(图4)。

图4 创建新接口

  点击右下角 “创建接口” 按钮,在新的页面中,切换至 “高级设置” 选项卡,在 “使用网关跃点” 处,指定网关跃点,如10。注:① 默认情况下网关跃点的点数越小,优先级越高。② 若后续希望采用mwan3进行负载均衡,则vth0~vth7各网卡的网关跃点数必须不相同,且此时网关跃点数与优先级无必然联系,而是在mwan3均衡配置中根据策略进行配置。

图5 指定网关跃点

  切换至 “防火墙设置” 选项卡,将防火墙选定为 “wan” 防火墙。请确保 “网络->防火墙” 菜单的wan防火墙配置中,能与lan区域相互转发。

防火墙配置见该文第四节https://blog.csdn.net/Cx2008Lxl/article/details/122990497

图6 防火墙配置

   配置完毕后,点击右下角 “保存” 按钮。

  重复上述步骤,依次创建wan0~wan7七个网络接口,设备分别对应为vth0~vth7,网关跃点数本实验依次为10~17。

  至此,单线多拨配置完成。若您采用PPPoE上网,且您的运营商允许多拨,您此时应该可以看到wan0~wan7均获取到了ISP分配的ip地址。若您采用网页认证上网,您应该能看到wan0~wan7均获取到了DHCP服务器分配的内网IP。

  下一节,将对创建的8个接口(wan0~wan7),配置其负载均衡的策略与规则,实现近似 “带宽叠加” 的效果。

猜你喜欢

转载自blog.csdn.net/Cx2008Lxl/article/details/123115782
今日推荐