
1、简单介绍
OpenWrt 是一个基于Linux的开源路由器系统,可以安装在普通PC电脑上,也能安装在虚拟机中,还可以安装在支持OpenWrt系统的硬件路由器上。
软件生态丰富:拥有数千个免费插件,可轻松实现科学上网(OpenVPN, Clash, WireGuard)等。
2、官方网站下载
https://downloads.openwrt.org/releases/
https://downloads.openwrt.org/releases/24.10.5/targets/x86/64/
我们选择x86/64/格式的镜像
有4种类型的镜像文件:
引导方式:UEFI 还是 Legacy BIOS 启动
文件系统:ext4 还是 squashfs
generic-ext4-combined-efi.img.gz
generic-ext4-combined.img.gz
generic-squashfs-combined-efi.img.gz
generic-squashfs-combined.img.gz
一般选择generic-ext4-combined.img.gz镜像就可以。
https://downloads.openwrt.org/releases/24.10.5/targets/x86/64/openwrt-24.10.5-x86-64-generic-ext4-combined.img.gz
注意:
.img 文件本身就已经是一个完整的、包含分区表和文件系统的硬盘镜像了。
它不像 Windows 的 .iso 文件那样是一个“安装光盘”,需要你运行安装程序去格式化硬盘、复制文件。
.img 文件就像是已经装好系统并拔下来的硬盘,你只需要把它“插”到虚拟机上即可。
3、转换img固件为ESXi可以识别的镜像
安装转换工具StarWind V2V Converter
下载地址:
https://www.starwindsoftware.com/tmplink/starwindconverter.exe
修改镜像名称,把下载好的镜像openwrt-24.10.5-x86-64-generic-ext4-combined.img改名为:openwrt24.img
安装并打开StarWind V2V Converter

选择 local file本地文件

选择刚刚修改过名字的镜像文件

选择转换位置local file

选择格式类型VMDK

选择虚拟机硬盘文件格式类型:这里选择ESXi

选择存储位置
转换
完成后,得到结果为两个文件:
openwrt24.vmdk
openwrt24-flat.vmdk
4、在ESXI上创建虚拟交换机和端口组
ESXI宿主机上有2块物理网卡,默认使用了第一块物理网卡,现在我们要创建一个虚拟交换机和端口组并映射到第二块物理网卡上面
vSwitch虚拟交换机可以理解为一台物理交换机,端口组则类似于物理交换机上的多个端口
一个虚拟交换机上可以划分多个端口组来实现 VLAN 功能,用VLAN ID 进行区分
它们之间的关系如下所示:
VMs(虚拟机)<-> Port Groups(端口组)<-> vSwitch(虚拟交换机)<-> ESXi宿主机的物理网卡
4.1添加一个虚拟交换机
打开“网络->虚拟交换机”选择卡,点击“添加标准虚拟交换机”
名称:vSwitch1
上行链路1:vmnic1 #对应第二块物理网卡
其它使用默认配置就行


4.2添加端口组
有了虚拟交换机,就相当于是1台物理交换机,但是目前上面还没有任何端口,不能插网线使用,我们现在要给它装上多个端口
打开“网络->端口组”,点击“添加端口组”按钮
先添加一组端口,绑定到虚拟机交换机vSwitch1上,将来作为openwrt的内网LAN端口

名称:OpenWrt LAN
虚拟交换机:vSwitch1
安全:开启这3项,连接到openwrt的设备才能正常上网
混杂模式:开启
MAC 地址更改:开启
伪传输:开启
其它配置默认即可
再添加一组端口,绑定到虚拟机交换机vSwitch0上,将来作为openwrt的外网WAN端口
名称:OpenWrt WAN
虚拟交换机:vSwitch0
其它配置默认即可
5、在ESXi中创建OpenWrt虚拟机
输入虚拟机名称 openwrt24(名称和镜像文件名字保持一致openwrt24.img)兼容性不变
客户机操作系统系列选择Linux
客户机操作系统版本选择:Debian 10+ 64-bit Linux
CPU内存一般2核2G就足够了
添加2块网卡,OpenWrt默认会将第一块网卡作为LAN口,第二块网卡作为WAN口

第一块作为LAN口,网络适配器 1:选择OpenWrt LAN
第二块作为WAN口,网络适配器 2:选择OpenWrt WAN
磁盘暂不添加,引导选项默认BIOS即可。
设置好之后点完成。
6、上传虚拟机磁盘文件到openwrt24目录下
存储-datastore1-数据存储浏览器-openwrt24
上传
openwrt24.vmdk
openwrt24-flat.vmdk
这2个文件,其中openwrt24-flat.vmdk上传之后会自动隐藏,看不到。

7、给OpenWrt虚拟机添加硬盘
编辑设置-openwrt24虚拟机-添加硬件-添加硬盘-现有硬盘-openwrt24目录-openwrt24.vmdk-选择
确定
打开虚拟机电源,等待虚拟机启动成功
8、对OpenWrt进行设置
8.1允许通过WAN口访问OpenWrt的Web管理页面
为了安全考虑,默认情况下,是禁止从WAN口的访问Web页面,我们是用来作旁路由,WAN和LAN都是内网ip地址,为了方便维护,可以开启。
进入到openwrt24虚拟机控制台,默认密码为空,可以直接登录。

cat /etc/config/network #网卡配置文件,在这里可以修改ip地址
vi /etc/config/firewall
找到 config zone 部分中 option name 'wan' 模块
将 option input 'REJECT' 改为 option input 'ACCEPT'
:wq! #保存退出
/etc/init.d/firewall restart #重启防火墙
ip addr #可以查看到WAN口的ip地址
登录web控制台https://10.189.189.193/
账号root密码为空


8.2配置OpenWrt使用公共DNS
有些时候运营商的 DNS 服务器做了ACL 限制,只允许他们自家宽带内的用户访问,或者你的 NAT 出口 IP 被他们识别为“非本网段用户”而拦截。
导致WAN口自动获取的DNS不能用,会导致OpenWrt无法上网,我们需要修改DNS
8.2.1直接指定WAN口DNS地址
登录 OpenWrt 后台-网络 (Network) -> 接口 (Interfaces)-找到 WAN 接口-点击 编辑 (Edit)
切换到 高级设置 (Advanced Settings) 标签页。
取消自动获取 DNS 服务器的勾
使用自定义的 DNS 服务器,填写DNS地址
223.5.5.5
119.29.29.29
8.8.8.8
保存后重启生效
8.2.2通过配置文件修改地址
#忽略/tmp/resolv.conf.d/resolv.conf.auto
uci set dhcp.@dnsmasq[0].noresolv=1
#清空所有已存在的 DNS 服务器列表
uci delete dhcp.@dnsmasq[0].server
#添加公共 DNS (阿里 + 腾讯 + 谷歌)
uci add_list dhcp.@dnsmasq[0].server=223.5.5.5
uci add_list dhcp.@dnsmasq[0].server=119.29.29.29
uci add_list dhcp.@dnsmasq[0].server=8.8.8.8
#提交配置
uci commit dhcp
#重启 dnsmasq服务
/etc/init.d/dnsmasq restart
#确认加载了公共DNS
logread | grep dnsmasq | grep "using nameserver" | tail -n 3
#测试域名解析
ping -c 4 www.baidu.com
#直接向 223.5.5.5 发起 DNS 查询
nslookup www.baidu.com 223.5.5.5
选择一种方法即可,一般选择直接指定WAN口DNS地址就可以了。
修改前记得备份配置文件,以防万一,可以用来恢复。
8.3更换国内镜像源,提升速度
默认的源比较慢,可以更换为国内的源,比如使用阿里云的OpenWrt源
cp /etc/opkg/distfeeds.conf /etc/opkg/distfeeds.conf.bak #备份官方源
注意这里的24.10.5版本号,要替换为你自己的版本。
最好是替换原来的"https://downloads.openwrt.org/"为“https://mirrors.aliyun.com/openwrt",其他不变。
国内源:
https://mirrors.tuna.tsinghua.edu.cn/openwrt
https://mirrors.aliyun.com/openwrt
https://mirrors.ustc.edu.cn/openwrt
vi /etc/opkg/distfeeds.conf #添加新的源
src/gz openwrt_core https://mirrors.aliyun.com/openwrt/releases/24.10.5/targets/x86/64/packages
src/gz openwrt_base https://mirrors.aliyun.com/openwrt/releases/24.10.5/packages/x86_64/base
src/gz openwrt_kmods https://mirrors.aliyun.com/openwrt/releases/24.10.5/targets/x86/64/kmods/6.6.119-1-484466e2719a743506c36b4bb2103582
src/gz openwrt_luci https://mirrors.aliyun.com/openwrt/releases/24.10.5/packages/x86_64/luci
src/gz openwrt_packages https://mirrors.aliyun.com/openwrt/releases/24.10.5/packages/x86_64/packages
src/gz openwrt_routing https://mirrors.aliyun.com/openwrt/releases/24.10.5/packages/x86_64/routing
src/gz openwrt_telephony https://mirrors.aliyun.com/openwrt/releases/24.10.5/packages/x86_64/telephony
:wq! #保存退出
opkg update #更新软件包列表
在web控制台点击Configure opkg...更新列表
8.4设置中文菜单
默认OpenWrt没有中文菜单,为了方便管理,我们可以安装中文语言
System系统-Software软件包:点击Configure opkg...更新列表

在Filter填入luci-i18n-base-zh-cn,点击 install.. 进入安装界面,点击 Install 安装
安装完成,点击 Dismiss关闭,web会自动刷新成中文。

或者手动更改System>System>Language and Style 中的Language选择 简体中文(Chinese Simplifiied),在点击 Save & Apply保存即可
现在OpenWrt路由系统已经安装好了,可以设置网络接口、安装路由器插件、配置虚拟专用网拨号等等。
至此,在ESXI上部署OpenWrt软路由系统完成。

②190706903
③203744115


