en-US
简介:
对于测试和学习网络的人,有时需要在x86平台上使用路由器。因此,OpenWRT虚拟机是一个不错的选择。
在本教程中,REG将引导你使用VMware workstation在x86平台上安装OpenWRT并扩展其根目录大小。我们将通过一个具体的配置示范完成这项工作。
要求:
技能:
- 基本的TCP/IP理解
- 基本的Linux知识
- 调试技能
硬件:
- 具有x86 CPU和4GB以上内存的计算机
- 流畅的互联网连接
软件:
- 安装了Windows操作系统(版本7至11)
- 已安装并激活的VMware Workstation Pro
- Finix CD Linux(下载链接如下)
- OpenWRT x86_64(下载链接和方法如下)
开始之前:
假设:
- 你已经清楚了解使用OpenWRT的目的。
- 你知道REG可以帮助您安装OpenWRT,但对于配置和使用,REG只能提供演示。
预备:
现在你可以下载 Finix CD Linux,同时设置虚拟机以节省时间 😉
稍后我们将使用wget命令在命令行中下载OpenWRT。
本文中图标的定义:

视频教程(来自 VanTechCorner):
REG通过此视频学到了这个方法,特别感谢@VanTechCorner在YouTube上的分享。
有用的链接:
下载OpenWRT:
下载Finix CD Linux:
OpenWRT在x86平台上的安装:
https://openwrt.org/docs/guide-user/installation/openwrt_x86
相关文档:
https://openwrt.org/docs/guide-user/advanced/expand_root
创建虚拟机
如果您已经配置了类似的虚拟机,可以跳过此步骤。

[0] 设置操作系统信息
进入VMware工作站,选择文件 -> 新建虚拟机

选择操作系统版本时,你可以通过 google 查找你选择的 OpenWRT 版本。
例如:选择 OpenWRT 23.05.0。
因此,你应该查询:openwrt 23 内核版本。

[1] 定义硬件
[2] 创建虚拟机磁盘
这些是 REG 推荐的设置,您可以根据你的需求进行修改。
在此,我们已经配置了虚拟机,点击 完成 或 自定义硬件… 如果你想添加更多的网络接口或硬件。
编辑虚拟网络
VMware的 3 种网络模式
在 VMware Workstation 中有三种网络模式:
- 桥接
- NAT
- 仅主机
以下是它们属性的简化表格:
模式 | 描述 | 互联网访问 | 可见性 | 使用案例 |
---|---|---|---|---|
桥接 | 直接连接到物理网络。 | 是(直接连接) | 在外部网络中可见。 | 用于与网络上的其他设备直接通信。 |
NAT | 通过 NAT 分享主机的 IP 地址。 | 是(通过主机) | 在外部不可见。 | 用于安全的互联网访问,且不暴露虚拟机。 |
仅主机 | 与主机的隔离网络。 | 没有(除非桥接) | 仅对主机可见。 | 用于在私有网络中进行测试。 |
桥接

NAT

仅主机

此案例中的拓扑图
这是 OpenWRT 的示例配置,REG 将使用此拓扑图完成安装。

如图所示,OpenWRT 有两个网络接口:
VMNET | 模式 | IP 地址 | 备注 | |
ETH 0 | VMnet8 | NAT | 192.168.164.132 (DHCP) | 互联网连接(WAN) |
ETH 1 | VMnet17 | 仅主机 | 192.168.17.1 (静态) | 管理网络(LAN) |
[0] 查找并打开 “虚拟网络编辑器”
你可以在 >编辑->虚拟网络编辑器 中找到此工具。

或者在你的 Windows 开始菜单中查找。

它应该像这样(REG 的界面可能与你的有所不同)。

[1] 为 eth1 添加新的虚拟网络





<!> 提示:请 取消勾选 “使用本地 DHCP 服务分配 IP 地址给虚拟机”,因为我们希望使用 OpenWRT 作为 DHCP 服务器。
[2] 设置主机静态地址
设置好 VMnet17 后,您可以检查它是否正常工作:
按 “Win + R” 键,输入 “cmd” 然后按 Enter

在命令窗口输入
ipconfig
查找您的虚拟网卡(在本例中为 VMnet 17)
您会看到主机已自动获得 IP 地址 192.168.17.1
但如果我们希望 OpenWRT 使用首个地址(192.168.17.1)该怎么办?

在命令行中输入
control
打开控制面板
在 Windows 控制面板中,进入 > 网络和 Internet -> 网络和共享中心 -> 更改适配器设置
找到你的 VMnet

[3] 将 VMnet 添加到虚拟机
安装 OpenWRT
[0] 查找 OpenWRT 版本
访问 https://downloads.openwrt.org





只需复制下载链接
[1] 启动 Finix CD

然后启动您的系统 —— 只需“启动此虚拟机”。


如果一切正常,它应该看起来像这样:
[2] 检查互联网连接
您可以通过以下命令检查连接:
ping www.bing.com

在这种情况下,网络接口设置有问题
因此,REG 尝试并发现 Finix 没有正确获取 IP 地址。
ifconfig
进入并将网络接口设置更改为 NAT(与主机共享网络)

刷新并请求新的 IP 地址
dhclient -r dhclient

刷新完成后,一切正常。

记下这个 IP 地址,我们稍后会使用它
最后,不要忘记设置 root 密码并启动 SSH 服务器:
passwd root service ssh restart
[3] 下载并安装 OpenWRT
最激动人心的时刻终于到来了!
在 Windows 中,通过 SSH 连接到您的 Finix(在本例中是 192.168.164.132)
ssh [email protected]

下载 OpenWRT,使用 wget 下载您刚才复制的链接:
wget https://downloads.openwrt.org/releases/23.05.5/targets/x86/64/openwrt-23.05.5-x86-64-generic-ext4-combined.img.gz
使用 gzip 解压 img 文件:
gzip -d openwrt-23.05.4-x86-64-generic-ext4-combined-efi.img.gz
显示磁盘信息
lsblk

我们将其安装到 sda 磁盘上
dd if=openwrt-23.05.4-x86-64-generic-ext4-combined-efi.img.gz of=/dev/sda

它应该像这样:
恭喜!你刚刚安装了 OpenWRT
但 REG 强烈建议在重启虚拟机之前,先扩展 root 分区。
扩展根分区和文件系统
参考文档:
https://openwrt.org/docs/guide-user/installation/openwrt_x86
https://openwrt.org/docs/guide-user/advanced/expand_root
[0] 重新创建分区
fdisk /dev/sda

输入 “m” 获取帮助和菜单
输入 “p” 打印磁盘信息,记下红色框内的号码:

输入 “d” 删除分区
输入 “2” 删除分区 2
输入 “n” 创建新分区

输入 “p” 选择主分区
输入刚才记下的号码
输入 “n” 不删除签名
最后
输入 “w” 保存更改

[1] 调整文件系统大小
运行命令
resize2fs /dev/sda2
如果出现如下异常:

请运行以下命令:
e2fsck -f /dev/sda2
然后再次运行 resize2fs
resize2fs /dev/sda2
接着您可以运行 lsblk 来检查是否一切正常,之后可以重启虚拟机。

从控制台调整网络设置
[0] 检查IP地址
重启虚拟机后:

按下 “ENTER” 激活控制台

ifconfig | grep addr
用来检查IP地址
在REG的情况下,openwrt未能正确获取IP地址

[1] 修改配置
现在让我们修改网络配置
vi /etc/config/network

提示:按 “i” 进入文件编辑模式,按 “ESC” 退出编辑,退出后输入 “:” 然后输入 “wq” 保存配置。若强制退出编辑,输入 “:!q”。
接口 ‘lan’ 是我们管理的网络,需要为 openwrt 设置静态IP地址。在此案例中,我们使用 vmnet 17,因此选择 “192.168.17.x”,但网关为 “192.168.17.1”。
接口 ‘wan’ 是用于 openwrt 自身以及连接到 ‘lan’ 的设备上网的。在之前的配置中,我们启用了 vmnet8 的 DHCP(这是 VMware Workstation 的默认设置)。因此,我们将其设置为 ‘dhcp’。
接口 ‘wan6’ 是 IPv6 配置,您可以将其设置为与 ‘wan’ 相同或删除它。
[2] 重启网络并测试连接
更改配置后,运行以下命令:
service network restart
重启网络服务
然后返回到主机系统
ping 192.168.17.1

访问 WebUI
推荐从 ‘lan’ 网络访问 WebUI,因为我们还没有配置防火墙。
http://192.168.17.1(REG 的案例)


恭喜你,开心地使用 OpenWRT 吧!
总结
如果你有任何问题或建议,欢迎在下方留言。
<!> 转载请注明原作者及来源。