若想使用只有一个网口的设备搭建软路由(如电脑),则可以通过划分虚拟局域网VLAN,将WAN、LAN的数据分别划分至不同的广播域。利用一根网线连接交换机与电脑,交换机和电脑对Tag标签进行解析,并将两个广播域的数据分开后即可进行处理。

  OpenWrt内核5.4以前,在Web管理面板内有 “交换机” 的功能,可在此划分VLAN,实现单以太网口LAN、WAN的复用。内核5.4以后,采用DSA方式驱动,OpenWrt内不再有 “交换机” 功能,需采用其他方式划分VLAN。

目录

一、交换机准备

1. 实验说明

2. 交换机配置

二、 OpenWrt进行VLAN划分

1. 方法一:仅需接收带VLAN ID的数据

2. 方法二:可收发带VLAN ID的数据

三、 OpenWrt接口WAN、LAN的配置

1. 配置WAN接口

2. 新增LAN接口

四、OpenWrt防火墙配置

五、物理机配置

1. 延伸:配置网卡接收指定VLAN ID数据

2. 设置实现不剥离VLAN信息的方法


一、交换机准备

1. 实验说明

  • 实验设备:单网口电脑(已装有VMware并安装配置好OpenWrt)、二层管理型交换机(TL-SG2008D)

VMware内安装OpenWrthttps://blog.csdn.net/Cx2008Lxl/article/details/122988514

  • 设备连接示意图:

图1 设备连接示意图

  【说明】广域网与交换机端口1在同一广播域、端口3-8处于局域网广播域。端口2将端口1、端口3-8的数据包打上对应的VLAN Tag后发送至电脑(软路由),并将电脑(软路由)发回的数据根据Tag转发至端口1(广域网)或端口3-8(局域网)。

2. 交换机配置

表1 交换机802.1Q VLAN配置

VLAN

VLAN描述

成员端口

Tagged端口

Untagged端口

1

Default

101

WAN

1-2

2

1

1000

LAN

2-8

2

3-8

表2 交换机PVID配置

端口

PVID

1

101

2

1

3-8

1000

二、 OpenWrt进行VLAN划分

  在Web管理界面顶部,点击 “网络->接口”,进入 “接口” 配置页面。切换至“设备”选项卡,添加设备配置。


  本实验在VMware内为OpenWrt分配了两张网络适配器,分别为:网络适配器、网络适配器 2。网络适配器对应OpenWrt系统内的eth0,网络适配器 2对应OpenWrt系统内的eth1。

  eth0设备是与物理机有线以太网卡桥接的虚拟网络适配器设备,所有通过有线以太网卡传输的数据,都将会在eth0中收到。因此对eth0划分软件VLAN,可以解析不同VLAN的数据。eth1设备仅能与主机(物理机)通信,作为物理机管理虚拟机内的OpenWrt的管理通道。


1. 方法一:仅需接收带VLAN ID的数据

  该方法通过添加OpenWrt的eth0软件VLAN设备来接收eth0适配器带有VLAN ID的数据,但无法发送正确的VLAN ID数据。该方法为不正确的配置方法,局限性强,不推荐使用。

  1)在 “接口” 页面,切换至 “设备” 选项卡,点击“添加设备配置”按钮。

图2 接口页面设备选项卡

  2)设备类型选择“VLAN(802.1q)”。基设备为“eth0”,VLAN ID为101。点击“保存”按钮。用于接收WAN数据。

图3 添加设备配置

  3)按同样的方式,再次添加设备配置,VLAN ID为1000。

  4)配置完毕后,点击“设备”选项卡下方的“保存并应用”按钮(图2)。

  5)在 “接口” 页面中,添加具体的接口时,选择对应的软件VLAN设备即可。例如:创建PPPoE拨号接口时,选择的设备为:eth0.101设备。

2. 方法二:可收发带VLAN ID的数据

  该方法可正确接收和发送带有VLAN ID标签的数据,本次实验将采用改方法实现

  1)在 “接口” 页面,切换至 “设备” 选项卡,点击左下角的 “添加设备配置”,添加一 “网桥设备”。如果是新安装的OpenWrt,也可直接编辑网桥设备 “br-lan”,在名为 “br-lan” 设备的右侧,点击 “配置” 按钮。

  2)在“常规设备选项”中,将“网桥端口”更改为eth0,此时所有eth0端口的数据将经过该网桥。

图4 网桥设备配置

  3)切换至 “网桥VLAN过滤” 选项卡,启用VLAN过滤,并新增VLAN 101、1000。eth0作为他们俩已标记的出口。设置完毕后点击“保存”按钮。这样,网桥内VLAN ID为101、1000的数据,将会被打上VLAN Tag后,从eth0端口发送。

图4 网桥VLAN过滤配置

  4)在“设备”界面,可见自动新增了两个软件VLAN设备。通过eth0进入网桥“br-lan”的数据,将根据VLAN ID标签,将其转发至虚拟的br-lan.1000和br-lan.101设备。同时,br-lan.1000和br-lan.101设备发送的数据,进入网桥br-lan后,将根据设定的VLAN过滤规则,决定是否加上VLAN Tag从对应的实际硬件设备进行转发。

图5 自动新增的软件VLAN设备

三、 OpenWrt接口WAN、LAN的配置

  在 “接口” 页面,切换至 “接口” 选项卡,对WAN接口进行配置,并添加LAN接口。

图6 接口页面接口选项卡

1. 配置WAN接口

  1)在“WAN”右侧,点击“编辑”按钮。将“协议”切换为“PPPoE”协议,“设备”选择“br-lan.101”软件VLAN。输入拨号上网的用户名和密码。

图7 WAN接口常规设置

  2)切换至“高级设置”,在“重设MTU”处填写1492或小于1492的值,例如1480等。确保PPPoE工作正常。

图8 WAN接口重设MTU

  3)切换至“防火墙设置”选项卡,划分至wan防火墙区域。点击“保存”按钮完成配置。

图9 WAN接口防火墙设置

2. 新增LAN接口

  1)在 “接口” 页面 “接口” 选项卡下方,点击 “添加新接口”,为其添加LAN口。名称输入“lan”,协议选择 “静态地址”,设备选择 “br-lan.1000” 软件VLAN。点击“创建接口”。在弹出来的新窗口中,输入路由器IPv4地址。地址网段需与局域网内已有设备不冲突。

图10 LAN接口常规设置

  2)选择“防火墙设置”选项卡,添加至lan防火墙。完成后,点击“保存”按钮。

图11 LAN接口防火墙设置

  3)所有接口配置完成后,点击右下角“保存并应用”按钮完成接口配置。

四、OpenWrt防火墙配置

  在最上方菜单,选择“网络->防火墙”,进入防火墙配置页面。在最下方的“区域”中可见,WAN的流量是没有转发区域的,而LAN的流量默认已经可以转发至WAN区域。

图12 防火墙配置页面

  配置WAN区域,使其流量能转发至LAN区域:

  ① 点击WAN区域右侧的“编辑”按钮。

  ② 在“常规设置”选项卡中,“Forward”处选择“accept”。在Allow forward to destination zones中,指定允许转发至lan区域。

  ③ 完成后点击“保存”按钮。然后点击“保存并应用按钮”。至此,OpenWrt的所有配置完毕。

图13 WAN区域防火墙配置

五、物理机配置

  回到 “网络->接口” 页面,可以看到:WAN接口状态信息中显示拨号失败。其中,发送数据包中数量不停在增长,而接收数据包一直为0。

  此问题是由于OpenWrt安装在VMware虚拟机内,物理机为Windows系统所致。如果OpenWrt直接安装在物理机中,将不存在该问题。在Windows系统中,对于Realtek PCIe GbE Family Controller的网卡,在接收到数据包后,数据包结构中如果没有vlan部分,则直接接收。如果有vlan部分,会先检查VLAN ID是否与网卡设置的VLAN ID一致,不一致则丢弃,一致则去除vlan部分后接收。

  网卡的默认VLAN为0,则接收任何VLAN的数据包。但接收时会去除数据包结构中VLAN部分的信息。因此OpenWrt在虚拟机内通过桥接获取物理网卡接收到的数据包是不含VLAN部分的,无法根据VLAN ID标签识别出数据包的类型。因此拨号失败,且接收到的数据一直为0。

  下面,将给出该问题的解决方案。

1. 延伸:配置网卡接收指定VLAN ID数据

  该部分为延伸内容,无需实际操作。

  1)在 “桌面->网络图标处右键->属性->更改适配器设置” 或 “控制面板->网络和Internet->网络连接” 中,找到 “以太网” 图标。

图14 以太网图标

  2)在该图标处,单击 “右键->属性”,打开 “以太网 属性” 窗口。点击 “配置” 按钮。

图15 以太网属性窗口

  3)选择“高级”选项卡,在“属性”中找到“VLAN ID”项,右侧即可输入指定的VLAN ID。(该部分为延伸内容,不必实际设置)

图16 网卡VLAN ID配置

2. 设置实现不剥离VLAN信息的方法

  1)在图16中,切换至“详细信息”选项卡,属性中选择“匹配设备Id”,记录其值。

图17 匹配设备ID查看

  2)使用组合键“Win+R”,在运行对话框中,输入“regedit”,打开注册表编辑器。

  3)找到 HKEY_LOCAL_MACHINE \ SYSTEM \ ControlSet001 \ Control \ Class \ {4d36e972-e325-11ce-bfc1-08002be10318} \

  4)依次翻阅左侧的项,在右侧窗口找到MatchingDeviceId的数据部分与1)中记录的设备Id相符的位置。将其下方的MonitorModeEnabled值修改为1。

图18 注册表编辑器值修改

  5)将该以太网网络适配器禁用后重新启用,或重启计算机即可。至此,对于含有VLAN信息的数据包,不论VLAN ID是否与网卡配置一致,都不会去掉数据包中的VLAN信息。

单臂软路由实现(二) 新版OpenWrt实现VLAN划分 结合交换机进行拨号上网相关推荐

  1. 4.2 路由系列:软路由物理机安装openwrt 小白教程(esir高大全)

    选择软路由和openwrt的原因在这里就不再阐述了,相信既然搜到这篇文章的你心中已经有了答案.这里说一下为什么选择esir的高大全版本,在这个版本里几乎集合了你想要的所有功能,基本无需再额外下载配置, ...

  2. agx 安装ros opencv_玩转软路由 篇二:虚拟机ESXI中Mikrotik RouterOS(ROS)的安装设置_路由器...

    2020-10-31 21:42:223点赞26收藏0评论 本文来自#千兆网络有什么用#征稿活动,不断提速的网络给你的生活带来了什么变化?快来参与活动,聊聊你玩转互联网,高速网上冲浪的经历!>点 ...

  3. 玩转软路由 篇二:软路由中Esxi 7.0 安装教程和避坑指南

    目录 一.用到的软件 1.  制作U盘启动的工具Rufus 2.   操作系统ESXi 7.0 二.使用Rufus制作启动U盘 三.安装ESXI 7.0 到软路由 1. 软路由连接鼠标和键盘 2. 选 ...

  4. 软路由刷ESIR LEAN OPENWRT X86-64 固件

    软路由 谷歌云盘下载地址:esir openwrt 固件-openwrt-gdq-winter[2022]-x86-64-generic-squashfs-legacy.img.gz 链接: http ...

  5. fw150rm刷openwrt固件_交作业 - 入坑J1900 软路由(刷原版OpenWrt 更新单线多拨)

    本帖最后由 bryant2 于 2020-4-25 12:59 编辑 引言 前不久把家里电信光纤升级到了199的300M套餐(其实当时是为了无限流量卡,因为工作需要经常出差,有一个插SIM卡的随身华为 ...

  6. 新版openwrt配置vlan 拨号-局域网-iptv

    /etc/config/network的配置,eth5是拨号光猫的接口,eth3和eth4是iptv接口.其余是内网口. config interface 'wan'     option proto ...

  7. 单臂路由器互联VLAN实验-Cisco Packet Tracer

    单臂路由器互联VLAN实验 一.实验内容 构建如图所示的网络结构,将以太网划分为三个VLAN,分别是VLAN 2.VLAN 3和VLAN 4,并使得终端A.B和G属于VLAN 2,终端E.F和H属于V ...

  8. asuswrt 单臂路由_软路由只有一个物理网卡怎么办?单臂路由来拯救你的单网卡路由...

    喜欢玩软路由的朋友有时挺郁闷的,明明一块配置非常高的板子非常适合做软路由,但是却只有一张网卡,如果要安装USB网卡的话网卡驱动是一个非常令人头疼的问题,而且USB网卡的网速也不一定能达到理论最大值,那 ...

  9. 以太网速率怎么手动设置_OPENWRT-KOOLSHARE软路由,一级/单臂/二级/旁软路由设置单臂路由联网教程...

    [此文原创]此文基于单口软路由讨论 一级/单臂路由 LAN:IPV4设置除192.168.1.1之外和你局域网不冲突的地址,关闭桥接接口,物理设置eth0 WAN:协议改成PPPOE,物理设置eth0 ...

最新文章

  1. 基础总结篇之一:Activity生命周期
  2. pandas任取dataframe中的一个或者多个数据行(head、tail、loc、iloc),将抽取到的一个或者多个数据行复制N次形成新的dataframe
  3. 文巾解题 leetcode993. 二叉树的堂兄弟节点
  4. jQuery轮 播的封装
  5. WebRTC/Chromium在2020年的更新
  6. JDBC连接MySQL数据库及示例
  7. LeetCode 111二叉树的最小深度-简单
  8. hybbs接口php,HYBBS
  9. linux下反删除软件,浅谈Linux文件系统反删除方法(二)
  10. Vue.js-资料-组件化思想 —上
  11. SAP License:烟草行业ERP选型
  12. 美国大学计算机与信息科学,【计算机学术讲堂】美国福特汉姆大学计算机与信息科学系Md Zakirul Alam Bhuiyan博士莅临我院作学术报告...
  13. 【记】微信支付服务器证书更换通知的验证流程
  14. 【活动】完整的Java学习路径《深入理解Java核心技术》(文末送书)
  15. 用java web实现聊天室_java web实现简单聊天室
  16. 译文:一个采用 Three.js 的 3D 动画场景制作:飞行者
  17. python如何进行数据挖掘_如何使用python实现文本数据挖掘?
  18. python批量替换word内容_python win32com 库批量替换word文件内容
  19. 图解:什么是图?(以“图”话图)
  20. 用Java实现递归与分治系列(二)

热门文章

  1. Flir Blackfly S 工业相机:配置多个摄像头进行同步拍摄
  2. python中plt.plot参数_plt.plot 参数
  3. Arduino Leonardo教程:如何改成Type-C,DIY客制化键盘必备
  4. 数字化工厂顶层架构分析
  5. 初中生学计算机学编程,初中生学编程杂谈(1)
  6. 剑道基础 - 冈宪次郎
  7. Android service的两种使用方式bindService和startService使用方式
  8. 【微访谈】挖坑的热情似火,填坑的想方设法——对话中讯网联•孙浩
  9. 伦敦银实时行情走势图短线进出
  10. 六部门发布38条举措支持民企改革发展转型升级