首页 > 其他 > 详细

单网卡 openwrt 路由模拟

时间:2020-09-09 18:47:23      阅读:71      评论:0      收藏:0      [点我收藏+]

关键字

vlan openwrt 单臂路由

一直以来都认为路由要至少是双网卡,因为至少要有lan/wan。最近看了单臂路由的介绍,自己在虚拟机测试了一把。发现确实可行!

测试环境

Manjaro Linux 主机
qemu openwrt 虚拟机环境(openwrt 固件可以在官方下载)

host 主机配置

这里因为是模拟,所以在宿主机上要做一些配置。 实际使用的单臂路由,这路由的网卡接口下一定是一个支持vlan的交换机,只需要配置交换机即可。
这里仅给出本次测试的host修改,单臂路由的交换机配置原理一样。

网桥配置

因为虚拟机选择的是NAT 网络,所以需要做如下配置

?  ip link add link vnet1 name vnet1_11 type vlan id 11
?  ip link add link vnet1 name vnet1_10 type vlan id 10
?  brctl delif virbr0 vnet1
?  brctl addif virbr0 vnet1_11
?  brctl show                 
bridge name	bridge id		STP enabled	interfaces
docker0		8000.0242f80d773e	no		
virbr0		8000.5254008e3f49	yes		virbr0-nic
							vnet0
							vnet1_11
?  ip link set dev vnet1_11 up
?  ip link set dev vnet1_10 up

这里操作原理是: 因为即将配置的路由器wan 口是vlan 11,所以这里需要创建vlan 子接口支持vlanid 11。
vlan 10 的子网卡,这里假装是路由下的设备。

openwrt 配置

参考链接:
下面截取修改的部分: /etc/config/network, 新增部分很容易理解,没加注释。

config interface ‘lan‘
#     option type ‘bridge‘
      option ifname ‘vlan10‘
      option proto ‘static‘
      option ipaddr ‘192.168.10.1‘
      option netmask ‘255.255.255.0‘

config interface ‘wan‘
      option ifname ‘vlan11‘
      option proto ‘dhcp‘

config device
      option type ‘8021q‘
      option ifname ‘eth0‘
      option via ‘10‘
      option name ‘vlan10‘

config device
      option type ‘8021q‘
      option ifname ‘eth0‘
      option via ‘11‘
      option name ‘vlan11‘

修改完重启network,使修改生效service network restart
技术分享图片

测试

在wan 口做dhcp

技术分享图片

wireshark抓取dhcp 时候网卡报文
技术分享图片
技术分享图片

抓包目的是解释为什么要在host 创建vlan 子网卡。如上图,在vnet1 上openwrt wan 口发来的报文是包含vlan tag的,而qemu 虚拟网桥是不认识vlan 报文的,经过子网卡后会剥离掉vlan 头,将二层转为以太网报文。只有这样openwrt wan 的dhcp 报文才能到qemu 网桥,整个dhcp 过程才会成功。
这时候可以尝试ping 对端都是ok的。

ping:host->openwrt
技术分享图片
ping:openwrt->host
技术分享图片

在lan侧做dhcp

技术分享图片
lan侧ok

单网卡 openwrt 路由模拟

原文:https://www.cnblogs.com/sinpo828/p/13640491.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!