简介
这里使用的是Windows11的双网口主机安装OpenWrt(iStoreOS),通过光猫拨号进行连接,实现两个路由器可以访问不同的网络,详情可以查看下面的网络拓扑图。
系统要求
(资料图片)
Windows 专业版企业版和教育版;
具有二级地址转换 (SLAT) 的 64 位处理器;
CPU 支持 VM 监视器模式扩展(Intel CPU 上的 VT-x);
最少 4 GB 内存;
启用Hyper-V
Windows 控制面板-程序-启用或关闭 Windows 功能
勾选Hyper-V|NFS服务|SMB|Windows 虚拟机监控程序平台|适用于 Linux 的 Windows 子系统确定并重启安装功能;
虚拟交换机管理
开始-Windows管理工具-Hyper-V
点击右侧虚拟交换机管理器;
点击新建虚拟网络交换机,选择外部,点击创建,更改名称随意(假设我网口1设置为 NetWork-A),在外部网络中选择连接至光猫的接口(网口1),并勾选允许管理操作系统共享此网络配置器;
依次创建网口2(连接子设备或路由器)为NetWork-B的外部网络,并勾选允许管理操作系统共享此网络配置器;
最后创建名称为NetWork的内部网络(用于虚拟机和宿主机通信)。
虚拟网络交换机连接类型连接网口NetWork-A外部网络网口1(光猫或上级路由)NetWork-B外部网络网口2(子设备)NetWork内部网络 NetWork-X外部网络网口X(子设备)
如果你还有其他网口依次添加 NetWork-X对应 网口X
注:两个都勾选允许管理操作系统共享此网络适配器。
此时在控制面板-网络和 Internet-网络和共享中心-更改适配器设置中,会多出三个虚拟网卡:vEthernet (NetWork),vEthernet (NetWork-A)和vEthernet (NetWork-B)。
创建虚拟机
这里使用的是iStoreOS 固件,前往固件下载中心下载x86_64固件(img.gz文件需要解压);使用StarWind Software V2V Image Converter(点击下载) 或 Microsoft Virtual Machine Converter将img镜像转换为.vhdx镜像;
StarWind Software V2V Image Converter镜像转换
下载并安装StarWind Software V2V Image Converter;
点击Local file-Next 选择下载并解压的img镜像文件,继续选择Local file- Local file- VHD/HDX- VHDX growable image- 选择导出位置 - Convert,镜像转换完成。
创建虚拟机
Hyper-V 管理器- 主界面右侧窗口点击新建-虚拟机,进入新建虚拟机向导。
点击下一步,输入名称:iStoreOS(任意);
选择第一代虚拟机;
分配内存;
不配置网络;
连接虚拟硬盘(上一步转换的vhdx镜像文件);
完成!
设置虚拟机
在Hyper-V 管理器选中刚才创建的名为iStoreOS的虚拟机,然后点击主界面右下部分的设置;
适量分配内存及处理器数量;
添加网络适配器;(添加硬件-网络适配器-点击添加)
依次添加网络适配器
NetWork-ANetWorkNetWork-B分别对应 网口1内部网络网口2为eth0eth1eth2;
虚拟网络交换机连接类型连接网口虚拟机网口NetWork-A外部网络网口1(光猫或上级路由)eth0NetWork内部网络 eth1NetWork-B外部网络网口2(子设备)eth2
如果你还有其他网口依次添加 NetWork-X对应 网口Xethx
点击三个网络适配器左侧的+,选择高级功能,在右侧MAC地址中勾选启用MAC地址欺骗。
点击左侧自动启动操作,在右侧选择始终自动启动此虚拟机,在开机时自动启动。
点击确定完成设置。
回到Hyper-V管理器,点击点击连接并启动。
待出现iStoreos is ready! Please press Enter to activate this console.
并不再滚动后,按回车键出现OpenWRT版本信息。
OpenWRT基础网络设置
在终端中输入命令: vim etc/config/network
(注意vi和etc之间有个空格,命令不含双引号)并回车显示当前网络设置情况;
设置LAN口IP地址为:192.168.1.100(如果你是光猫拨号,这样设置避免与光猫的192.168.1.1冲突。)
(光标移动到数字下面按英文键盘上面的对应数字键),编辑完后按esc
键退出编辑模式。退出编辑后再输入命令 :wq
退到命令提示符下(注意wq前面要带英文的冒号),最有在命令提示符下输入命令:reboot
重启OpenWRT系统。
重启完成后浏览器访问 192.168.1.100跳转到OpenWRT管理界面;
默认用户 root
默认密码 password
设置网络接口
网络-接口中删除 WAN和 WAN6,保存并应用;
网络-接口-设备中编辑 br-lan,配置网桥端口为 eth0eth1eth2保存并应用;
网络-接口中编辑 LAN,常规设置iPv4网关为上级路由的网关(直连光猫拨号为192.168.1.1);
网络-接口中编辑 LAN,高级设置使用自定义的 DNS 服务器(直连光猫拨号为192.168.1.1),也可以添加其他的自定义的 DNS 服务器;
保存并应用,此时虚拟机的网络已经配置完成。
宿主机网络设置
Windows 控制面板-网络和 Internet-网络和共享中心-更改适配器设置
分别设置三个网络适配器的iP地址,子网掩码和默认网关及DNS服务器,iP地址为内网iP段(192.168.1.X),子网掩码(255.255.255.0),默认网关设置及DNS服务器为OpenWrt(iStoreOS)的地址;
比如我的网络设置:
此时虚拟机与宿主机的网络已连通。
进阶玩法
基础网络配置完成,开始进阶配置更多玩法:
虚拟磁盘设置
挂载一个新的内部磁盘
默认的虚拟磁盘仅允许iStoreOS,我们需要一个新虚拟磁盘挂载运行Docker,易有云及其他的程序防止系统错乱。
打开Hyper-V 管理器关闭正在运行的iStoreOS,打开设置;
IDE 控制器0 - 硬盘驱动器添加一个新的虚拟磁盘;
点击新建打开 新建虚拟磁盘向导;
根据向导创建一个VHDX动态或固定大小的磁盘,并选择虚拟磁盘文件保存位置,最后设置虚拟磁盘大小;
虚拟磁盘创建完成!
接下来再次启动虚拟机,并通过浏览器访问管理界面;
可以看到主界面出现一个新磁盘,点击格式化并挂载;(格式化为EXT4文件系统)
挂载完成,挂载目录为/mnt/-1;
你也可以更换挂载目录,系统-挂载点编辑刚才挂载的磁盘;
修改挂载点(以 /mnt/data 目录为例),回车并保存;
继续保存并应用;
重启iStoreOS;
重新进入管理页面,系统-磁盘管理可以看到已经更换挂载目录为 /mnt/data;
更改Docker目录
管理页面可以看到Docker目录,点击快速配置迁移到/mnt/data/docker并确定;
此时Docker在新加的DATA磁盘运行。
挂载Windows磁盘
将Windows驱动器挂载到iStoreOS中
此电脑-右键属性-共享-高级共享,设置共享名及权限,确定并保存;
此时浏览器直接访问网络路径可以查看磁盘文件;
在管理页面,网络存储-挂载网络共享中,启用并添加Windows 网络共享磁盘,同理可以挂载更多Windows磁盘;
术语描述服务器IP控制面板中对应Hyper-V内部网络的静态iP共享文件夹Windows驱动器的共享名挂载路径要挂载到内部虚拟机的路径挂载参数读写权限用户Windows用户名密码Windows密码
挂载成功可以在系统-挂载点中查看挂载的Windows磁盘;
服务-易有云文件管理器中本地文件管理可以查看挂载目录的文件。
istorex
在iStore中安装istorex并打开,可以进入路由模式及NAS模式;
NAS
离线下载
打开istorex进入NAS模式;
自动弹出设置向导或手动点击NAS套件;
配置主目录(可以将下载目录配置到挂载的Windows磁盘)
安装下载器
此时下载器自动配置完成;
易有云
在应用商店安装并打开易有云;下载客户端并扫码登录;
配置存储端,设置主目录为外部的Windows磁盘目录,确定开始绑定;
安装完成;(访问地址http://istoreosip:8897)
此时通过客户端即可查看挂载的目录文件。
DDNSTO路由远程
域名映射,一个浏览器远程访问NAS、路由器、docker等;远程应用,玩转远程下载、远程SSH、远程Windows桌面、远程开机;文件管理,支持访问samba、sftp、webdav等协议。
在应用商店安装并打开DDNSTO路由远程;前往官网并扫码登录;
获取访问令牌,
在服务-DDNSTO 远程控制粘贴访问令牌并启用保存;
此时在官网可以查看到目前的设备;
添加域名解析,填入主域名及内网服务地址,等待域名生效;
此时就可以通过公网访问内网服务了。
关闭iPv6
注意: 路由不建议开启 IPV6 和相关服务,偶尔会造成莫名其妙的BUG;
在应用商店安装并打开SysTools工具集;
系统-System Convenient Tools选择关闭iPv6并执行;
网络-接口-全局网络选项删除IPv6 ULA 前缀保存并应用。
OpenClash
可以前往固件下载中心或者Github下载OpenClash OpenWrt固件;
前往服务-终端,登陆root
账户(默认密码password
);
执行下面命令安装依赖:
opkg updateopkg install coreutils-nohup bash iptables dnsmasq-full curl ca-certificates ipset ip-full iptables-mod-tproxy iptables-mod-extra libcap libcap-bin ruby ruby-yaml kmod-tun kmod-inet-diag unzip luci-compat luci luci-base
手动安装,选择刚才下载的ipk
文件;
安装完成就可以在 服务-OpenClash查看装好的程序;
更新内核,全局设置-版本更新检查并更新内核文件;
此时OpenClash就安装完成了,你可以前往官方Wiki查看使用手册,网络连接异常时排查原因等。
PassWall
可以前往固件下载中心或者Github下载PassWall OpenWrt固件;
前往服务-终端,登陆root
账户(默认密码password
);
执行下面命令安装依赖:
添加新的 opkg 密钥:
wget https://free.nchc.org.tw/osdn/storage/g/o/op/openwrt-passwall-build/passwall.pubopkg-key add passwall.pub
添加 opkg 存储库:
read release arch << EOF$(. /etc/openwrt_release ; echo ${DISTRIB_RELEASE%.*} $DISTRIB_ARCH)EOFforfeed inpasswall_luci passwall_packages passwall2; doecho "src/gz $feed https://free.nchc.org.tw/osdn/storage/g/o/op/openwrt-passwall-build/releases/packages-$release/$arch/$feed" >> /etc/opkg/customfeeds.confdone
安装包
opkg update
手动安装,选择刚才下载的ipk
文件或终端内继续执行下面命令安装;
opkg installluci-app-passwall
服务-PassWall此时PassWall就安装完成了;