当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),配置其负载均衡的策略与规则,实现近似 “带宽叠加” 的效果。

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

  1. 多宽带联网(三) OpenWrt中使用cURL方法编写Shell脚本自动完成网页宽带认证登录(校园网认证登录解决方案) 使用awk命令

    对于非PPPoE方式认证,而是采用网页认证登录的宽带用户(如校园网).采用<多宽带联网(二)>中的方法一个一个接口进行认证登录过于繁琐.本节将采用Shell脚本和cURL方法,模拟人工认证 ...

  2. OpenWrt路由器macvlan单线多拨的方法

    之前写过一篇文章<OpwnWrt 路由器MWAN3多线多拨实现方法>,介绍了如何在具备多根入室宽带网线的情况下实现网络带宽的叠加.多线多拨一般应用在多个不同运营商线路的负载均衡场景中,那么 ...

  3. 无线网和网吧服务器,无线宽带在网吧接入中的应用详解

    <无线宽带在网吧接入中的应用详解>由会员分享,可在线阅读,更多相关<无线宽带在网吧接入中的应用详解(4页珍藏版)>请在人人文库网上搜索. 1.无线宽带在网吧接入中的应用详解无线 ...

  4. OpenWRT中运行脚本报错

    报错详情如下 root@OpenWrt:~# /root/connect_net.sh -ash: /root/connect_net.sh: not found 在运行一个脚本时,出现如上错误,脚本 ...

  5. 完整适配LUCI界面的Openwrt中EC20的QMI拨号

    目前4G模块应用已经非常普及,跟之前的3G不同,3G基本使用ppp拨号,usbserial驱动,Linux内核自带支持,此应用非常简单. 4G模块由于速率较高,usbserial驱动性能满足不了,因此 ...

  6. 精短高效的XML解析器,纯C单一程序,应用于银行的国税库行横向联网接口系统中,稳定可靠,运行速度飞快

    来源于:http://www.ej38.com/showinfo/c-xml-169407.html 供各位参考 精短高效的XML解析器,纯C单一程序,应用于银行的国税库行横向联网接口系统中,稳定可靠 ...

  7. openwrt中磁盘未分配空间挂载

    openwrt中磁盘未分配空间挂载 lsblk 查看磁盘信息命令 opkg install cfdisk 安装磁盘管理图形化管理界面 cfdisk 打开管理工具 新建磁盘分区: 找到free磁盘,点击 ...

  8. 一种自动化挖掘联网车辆协议中的拒绝服务漏洞的方案

    本文系原创翻译,转载请说明出处 原论文:USENIX2021 :Automated Discovery of Denial-of-Service Vulnerabilities in Connecte ...

  9. OpenWRT中使用无线网卡做中继器与AP热点

    中继器与AP的实现 这里我们假定中继器完成下面这样的一个功能: Wired Network ---> Wireless Network ---> 上级无线路由器 即从外部插入一个网线,通过 ...

  10. 手动编译LUCI 到 openwrt中 并且解决'/bin/po2lmo': Permission denied问题

    放个自己在卖的东西的链接,望朋友们多多支持,中央控制器控制舞台灯光的设备 https://item.taobao.com/item.htm?scm=12306.300.0.0&id=38169 ...

最新文章

  1. Android 接入Realm并使用
  2. 动手扩充FreeTextBox的功能
  3. 流量控制与可靠传输机制
  4. Form 去掉使用格式掩码带来的多余字符
  5. statemodels 笔记: lowess
  6. java不可编辑的文本框_如何使编辑文本不可编辑,但在JAVA中可点击
  7. python布尔系列_python – 获取pandas布尔系列为True的索引列表
  8. 016-Spring Boot JDBC
  9. 数据库自增主键用完了怎么办
  10. Qt入门教程100篇(已完结)
  11. 黑苹果MacOS Big Sur 11.0 安装教程及驱动工具
  12. oreilly免费电子书
  13. 2018,人生是一条蛇,它咬着自己的尾巴
  14. 第二重要极限公式推导过程_土木考研 土力学第六章公式推导
  15. Web服务器之搭建python自带静态Web服务器
  16. 记录一下自己的春招,唯品会、360、京东offer已收、腾讯offer_call已达!!!
  17. Ghost XP打XP SP3后出现登录不了的问题
  18. Win7 + ubuntu14.04 双系统
  19. 1.机器学习的重要性
  20. c语言杀我,ballball各位大佬救救我吧

热门文章

  1. 爱心树html演示,爱心树表白网页源码,jquery女神表白动画树特效
  2. caffe的Leveldb格式数据一(官方介绍)
  3. 学习Python的第一天
  4. php模板如何使用,PHP自定义模板标签详细解答,让你轻松驾驭
  5. 帝国cms 评论 审核 php,帝国CMS自动审核发布脚本
  6. 自动化测试运维|Selenuim IDE使用Firefox
  7. 新进Linux菜鸟,请多多关照
  8. 百度地图精准定位,自定义marker,自定义信息弹出窗口。
  9. qt控件之qt中的控件QTableWidget的使用
  10. STM32F103时钟系统