若有专用的软路由硬件设备,可以直接将OpenWrt安装在该设备内,这样设备的性能将可发挥更充分。为了学习方便,本次实验将演示在Windows系统电脑上安装VMware虚拟机,并在虚拟机内运行OpenWrt系统。

 

目录

一、VMware虚拟机安装

二、OpenWrt镜像准备

1. 下载OpenWrt镜像

2. 镜像格式转换

三、VMware虚拟机创建

四、虚拟机配置

1. 添加网络适配器

2. 设置网络适配器

3. 指定桥接网卡

五、开启虚拟机

 六、OpenWrt配置

1. 更改接口和设备配置

2. 物理机配置

七、OpenWrt Web管理面板中文化

1. Luci中文包安装

2. 更改语言设置

八、OpenWrt关机


一、VMware虚拟机安装

  请自行查找资料,在电脑上安装好VMware虚拟机。

二、OpenWrt镜像准备

1. 下载OpenWrt镜像

  镜像获取:https://downloads.OpenWrt.org/releases/

  选择一个版本,例如21.02.1,x86平台的下载地址为:    https://downloads.OpenWrt.org/releases/21.02.1/targets/x86/64/

  选择镜像文件 generic-ext4-combined.img.gz 下载。

2. 镜像格式转换

  VMware虚拟机无法识别.img的镜像文件,因此需将其转为 *.vmdk 格式。

  自行搜索下载 qemu-img 工具进行转换,该工具在多种操作系统平台均可找到。

  【使用方法】在Windows操作系统中,命令行内切换至qemu-img工具的qemu-img.exe文件所在目录后,使用如下命令转换:

qemu-img convert “D:\source.img” -O vmdk “D:\dest.vmdk”

  其中,D:\source.img为下载的*.img镜像文件名(含完整路径),D:\dest.vmdk为转换后文件的文件名(含完整路径)。

三、VMware虚拟机创建

  在VMware中,创建新的虚拟机。

  下列图片(图1-图8)中未列出的步骤可保持默认,也可按需选择。


虚拟机openwrt怎么让docker 虚拟机运行openwrt_虚拟机

图1 进入虚拟机创建向导

虚拟机openwrt怎么让docker 虚拟机运行openwrt_虚拟机_02

图2 选择稍后安装操作系统

虚拟机openwrt怎么让docker 虚拟机运行openwrt_路由器_03

图3 选择操作系统类型

虚拟机openwrt怎么让docker 虚拟机运行openwrt_虚拟机openwrt怎么让docker_04

图4 暂不创建网络连接

虚拟机openwrt怎么让docker 虚拟机运行openwrt_vmware_05

图5 I/O控制器类型选择

虚拟机openwrt怎么让docker 虚拟机运行openwrt_虚拟机_06

图6 虚拟磁盘类型选择

虚拟机openwrt怎么让docker 虚拟机运行openwrt_虚拟机openwrt怎么让docker_07

图7 创建虚拟磁盘

   图8中,选择步骤2.2准备好的 *.vmdk 文件


虚拟机openwrt怎么让docker 虚拟机运行openwrt_虚拟机_08

图8 选择磁盘文件

   全部完成后,点击“完成”按钮,完成虚拟机创建。

四、虚拟机配置

1. 添加网络适配器

  在创建的虚拟机名称处,执行“右键->虚拟机设置”,进入虚拟机设置页面。在“硬件”选项卡页面的下方点击“添加”,添加“网络适配器”,图9。再次重复操作,再添加一块网络适配器。此时虚拟机将拥有两个网络适配器,图10。


虚拟机openwrt怎么让docker 虚拟机运行openwrt_vmware_09

图9 添加网络适配器

虚拟机openwrt怎么让docker 虚拟机运行openwrt_虚拟机openwrt怎么让docker_10

图10 网络适配器添加完毕后示例

  【说明】

  每个虚拟机网络适配器可以类比为实体物理机的一张网卡,可根据需求自行添加网络适配器数量和类型。4.1中网络适配器的数量是根据后续实验需求来确定的。

2. 设置网络适配器

  选择“网络适配器”,在右侧的“网络连接”窗格中,选择“桥接模式”,如图11所示。


虚拟机openwrt怎么让docker 虚拟机运行openwrt_虚拟机_11

图11 网络适配器 设置

   选择“网络适配器 2”,在右侧的“网络连接”窗格中,选择“自定义”,找到带有“仅主机模式”的VMnet,如图12中的“VMnet1(仅主机模式)”。如果没有,可在VMware上方菜单 “编辑->虚拟网络编辑器” 中创建。


虚拟机openwrt怎么让docker 虚拟机运行openwrt_openwrt_12

图12 网络适配器2 设置

   完成后点击下方的“确定”按钮,完成虚拟机设置。

  【说明】

  如果物理机拥有两个以太网口,则其中一个可作为路由器WAN口,另一个可作为LAN口。如果物理机拥有无线网卡,可将其中一个网络适配器桥接至有线以太网卡作为WAN口,另一个网络适配器桥接至无线网卡作为LAN口,并配置无线网卡作为AP发送Wi-Fi信号。因此网络适配器数量和类型可自行根据需求确定。4.2中网络适配器的类型是根据后续的实验需求确定的。

  本实验后续将演示单臂路由实现方法。单臂路由即路由器硬件设备只具备1个以太网口,需要使用该网口同时传输广域网(WAN)和局域网(LAN)的数据。因此前提条件是物理机只有一个网口。此时我们需要将图10中的“网络适配器”桥接至物理网卡,作为路由器数据的出入口。将“网络适配器 2”作为虚拟网卡,仅与物理机建立通信,作为物理机通过Web页面管理OpenWrt的通道。

3. 指定桥接网卡

  在VMware上方菜单中,选择“编辑->虚拟网络编辑器”,在“虚拟网络编辑器”窗口中,点击“更改设置”按钮。选中类型处于“桥接模式”的选项,将桥接网卡选择为有线以太网卡,而不是Wi-Fi网卡。图13。


虚拟机openwrt怎么让docker 虚拟机运行openwrt_openwrt_13

图13 桥接网卡指定

五、开启虚拟机

  等待开启就绪后,按回车按键即可进入命令输入状态。如图14所示。


虚拟机openwrt怎么让docker 虚拟机运行openwrt_openwrt_14

图14 虚拟机开机后界面

 六、OpenWrt配置

  OpenWrt默认使用eth0(图11中的网络适配器)作为LAN口,eth1(图12中的网络适配器 2)作为WAN口。根据4.2中的实验规划,我们使用eth0作为WAN、LAN的复用接口与物理以太网卡进行桥接,而使用eth1作为物理机进入Web管理页面的通道。

  因此要想从物理机进入OpenWrt的Web管理界面,需要进行下列两步操作:(1)我们需要将二者互换,并需要设置用于Web管理的网络适配器 2的IP地址和子网掩码。(2)需要设置网络适配器 2在物理机内创建的虚拟网络适配器的IP地址和子网掩码,使得其于OpenWrt的eth1(网络适配器 2)处于同一局域网段内。

1. 更改接口和设备配置

  1)在OpenWrt内输入如下命令,打开network文件。然后按键盘 “i” 键,进入编辑状态。

vim /etc/config/network

  将文件内的代码进行更改,图15。


虚拟机openwrt怎么让docker 虚拟机运行openwrt_路由器_15

图15 network文件更改

   【更改说明】

  ① 将lan接口更名为lanweb,作为物理机web管理OpenWrt的管理端lan口,为后续真正的lan口留出名称。

  ② 将局域网管理接口更改为eth1(对应网络适配器 2)。位于config interface ‘lanweb’下的option device(标注②的红色矩形框处)。

  ③ 将“网络适配器 2”对应的OpenWrt管理地址,更改至局域网内没有的冲突的网段下,这里的网络号选择“192.168.128.0”。因此配置管理ip地址为192.168.128.1,位于config interface ‘lanweb’下的option ipaddr和option netmask(标注③的红色矩形框处)。

  ④ 将广域网接口更改为eth0(网络适配器)。位于接口名为config interface ‘wan’的option device下(标注④的红色矩形框处)。

  2)编辑完毕后,按ESC键,然后输入以下内容,按回车,保存并退出编辑。

:wq

  3)输入如下命令重启network服务,使配置生效。

/etc/init.d/network restart

2. 物理机配置

  回到物理机,配置虚拟机创建的虚拟网卡IP地址和子网掩码,使其与虚拟机处于同一网段下。

  1)在桌面“网络”图标处,单击右键,选择“属性”,进入“网络和共享中心”。或通过“控制面板->网络和Internet->网络和共享中心”进入。

  2)在页面左侧点击“更改适配器设置”,此时将打开“网络连接”窗口。

  3)在“网络连接”窗口内,找到虚拟机的“网络适配器 2”对应的虚拟网卡。例如在VMware虚拟机设置中,“网络适配器 2”选择的“VMnet1(仅主机模式)”(图12),则此处找到名为“VMware Network Adapter VMnet1”的虚拟网卡(图13)。


虚拟机openwrt怎么让docker 虚拟机运行openwrt_虚拟机openwrt怎么让docker_16

图13 物理机内的VMnet1虚拟网卡

   4)在图标处单击右键,选择“属性”,配置其 “Internet协议版本 4(TCP/IPv4)”的属性。


虚拟机openwrt怎么让docker 虚拟机运行openwrt_虚拟机openwrt怎么让docker_17

图14 网络适配器属性

  5)在属性面板中,“IP地址”输入与OpenWrt管理地址位于同一网段下的其他地址,子网掩码与OpenWrt管理地址的子网掩码一致,默认网关输入OpenWrt管理地址。完成后点击“确定”按钮完成配置。


虚拟机openwrt怎么让docker 虚拟机运行openwrt_vmware_18

图15 TCP/IPv4属性配置

  至此,OpenWrt所有基础配置完毕,可通过6.1中设置的OpenWrt eth1的IP地址访问Web管理面板,图16。初试的默认账户为root,密码为空。


虚拟机openwrt怎么让docker 虚拟机运行openwrt_虚拟机_19

图16 OpenWrt Web管理面板入口

七、OpenWrt Web管理面板中文化

1. Luci中文包安装

  【提示】执行下列操作前,需确保虚拟机eth0桥接的网卡可正常访问Internet。有以下两种方法:(1)将物理机的以太网口用网线连接至可访问Internet的地方。不能带有VLAN标签(比如交换机的Tag或Trunk端口)。(2)重复4.3的操作,在VMware上方编辑菜单中,选择“虚拟网络编辑器”,暂时将桥接网卡改为Wi-Fi网卡,并连接可上网的Wi-Fi。操作完毕后,记得将桥接改回有线以太网卡。

  回到虚拟机OpenWrt内,输入如下命令完成安装。

  1)更新opkg源

opkg update

  2) 安装luci中文包

opkg install luci-i18n-base-zh-cn

  至此,中文包安装完成。刷新Web管理界面,可查看是否已经显示中文面板。若仍然为英文面板,需继续执行以下操作步骤。 

2. 更改语言设置

  1)登录OpenWrt的Web管理后台。

  2)在顶部菜单中依次点击 “System” -> “Language and Style”,将 "Language" 改为 "简体中文" 即可。

八、OpenWrt关机

  OpenWrt没有CentOS中的shutdown、init 0等关机指令,作为路由系统,可直接断电关机或强制关机,也可使用下列命令关机。

poweroff