Windows Hyper-V OpenWrt搭建與配置教學(xué)
簡介
這里使用的是Windows11的雙網(wǎng)口主機(jī)安裝OpenWrt(iStoreOS),通過光貓撥號進(jìn)行連接,實現(xiàn)兩個路由器可以訪問不同的網(wǎng)絡(luò),詳情可以查看下面的網(wǎng)絡(luò)拓?fù)鋱D。


系統(tǒng)要求
Windows 專業(yè)版企業(yè)版和教育版;
具有二級地址轉(zhuǎn)換 (SLAT) 的 64 位處理器;
CPU 支持 VM 監(jiān)視器模式擴(kuò)展(Intel CPU 上的 VT-x);
最少 4 GB 內(nèi)存;
啟用Hyper-V
Windows 控制面板-程序-啟用或關(guān)閉 Windows 功能
勾選Hyper-V|NFS服務(wù)|SMB|Windows 虛擬機(jī)監(jiān)控程序平臺|適用于 Linux 的 Windows 子系統(tǒng)確定并重啟安裝功能;

虛擬交換機(jī)管理
開始-Windows管理工具-Hyper-V


點(diǎn)擊右側(cè)虛擬交換機(jī)管理器;
點(diǎn)擊新建虛擬網(wǎng)絡(luò)交換機(jī),選擇外部,點(diǎn)擊創(chuàng)建,更改名稱隨意(假設(shè)我網(wǎng)口1設(shè)置為?NetWork-A),在外部網(wǎng)絡(luò)中選擇連接至光貓的接口(網(wǎng)口1),并勾選允許管理操作系統(tǒng)共享此網(wǎng)絡(luò)配置器;
依次創(chuàng)建網(wǎng)口2(連接子設(shè)備或路由器)為NetWork-B的外部網(wǎng)絡(luò),并勾選允許管理操作系統(tǒng)共享此網(wǎng)絡(luò)配置器;
最后創(chuàng)建名稱為NetWork的內(nèi)部網(wǎng)絡(luò)(用于虛擬機(jī)和宿主機(jī)通信)。
虛擬網(wǎng)絡(luò)交換機(jī)連接類型連接網(wǎng)口NetWork-A外部網(wǎng)絡(luò)網(wǎng)口1(光貓或上級路由)NetWork-B外部網(wǎng)絡(luò)網(wǎng)口2(子設(shè)備)NetWork內(nèi)部網(wǎng)絡(luò)?NetWork-X外部網(wǎng)絡(luò)網(wǎng)口X(子設(shè)備)
如果你還有其他網(wǎng)口依次添加?NetWork-X?對應(yīng)?網(wǎng)口X
注:兩個都勾選允許管理操作系統(tǒng)共享此網(wǎng)絡(luò)適配器。



此時在控制面板-網(wǎng)絡(luò)和 Internet-網(wǎng)絡(luò)和共享中心-更改適配器設(shè)置中,會多出三個虛擬網(wǎng)卡:vEthernet (NetWork),vEthernet (NetWork-A)和vEthernet (NetWork-B)。

創(chuàng)建虛擬機(jī)
這里使用的是iStoreOS 固件,前往固件下載中心下載x86_64固件(img.gz文件需要解壓);使用StarWind Software V2V Image Converter(點(diǎn)擊下載)?或?Microsoft Virtual Machine Converter將img鏡像轉(zhuǎn)換為.vhdx鏡像;
StarWind Software V2V Image Converter鏡像轉(zhuǎn)換
下載并安裝StarWind Software V2V Image Converter;
點(diǎn)擊Local file-Next 選擇下載并解壓的img鏡像文件,繼續(xù)選擇Local file?-?Local file?-?VHD/HDX?-?VHDX growable image?- 選擇導(dǎo)出位置 - Convert,鏡像轉(zhuǎn)換完成。


創(chuàng)建虛擬機(jī)
Hyper-V 管理器?- 主界面右側(cè)窗口點(diǎn)擊新建-虛擬機(jī),進(jìn)入新建虛擬機(jī)向?qū)А?/p>

點(diǎn)擊下一步,輸入名稱:iStoreOS?(任意);
選擇第一代虛擬機(jī);
分配內(nèi)存;
不配置網(wǎng)絡(luò);
連接虛擬硬盤(上一步轉(zhuǎn)換的vhdx鏡像文件);
完成!


設(shè)置虛擬機(jī)
在Hyper-V 管理器選中剛才創(chuàng)建的名為iStoreOS的虛擬機(jī),然后點(diǎn)擊主界面右下部分的設(shè)置;
適量分配內(nèi)存及處理器數(shù)量;

添加網(wǎng)絡(luò)適配器;(添加硬件-網(wǎng)絡(luò)適配器-點(diǎn)擊添加)

依次添加網(wǎng)絡(luò)適配器
NetWork-A?NetWork?NetWork-B?分別對應(yīng)?網(wǎng)口1?內(nèi)部網(wǎng)絡(luò)?網(wǎng)口2?為eth0?eth1?eth2;
虛擬網(wǎng)絡(luò)交換機(jī)連接類型連接網(wǎng)口虛擬機(jī)網(wǎng)口NetWork-A外部網(wǎng)絡(luò)網(wǎng)口1(光貓或上級路由)eth0NetWork內(nèi)部網(wǎng)絡(luò)?eth1NetWork-B外部網(wǎng)絡(luò)網(wǎng)口2(子設(shè)備)eth2
如果你還有其他網(wǎng)口依次添加?NetWork-X?對應(yīng)?網(wǎng)口X?ethx

點(diǎn)擊三個網(wǎng)絡(luò)適配器左側(cè)的+,選擇高級功能,在右側(cè)MAC地址中勾選啟用MAC地址欺騙。

點(diǎn)擊左側(cè)自動啟動操作,在右側(cè)選擇始終自動啟動此虛擬機(jī),在開機(jī)時自動啟動。

點(diǎn)擊確定完成設(shè)置。
回到Hyper-V管理器,點(diǎn)擊點(diǎn)擊連接并啟動。

待出現(xiàn)
iStoreos is ready! Please press Enter to activate this console.
并不再滾動后,按回車鍵出現(xiàn)OpenWRT版本信息。
OpenWRT基礎(chǔ)網(wǎng)絡(luò)設(shè)置
在終端中輸入命令:?
vim etc/config/network
?(注意vi和etc之間有個空格,命令不含雙引號)并回車顯示當(dāng)前網(wǎng)絡(luò)設(shè)置情況;
設(shè)置LAN口IP地址為:192.168.1.100?(如果你是光貓撥號,這樣設(shè)置避免與光貓的192.168.1.1沖突。)
(光標(biāo)移動到數(shù)字下面按英文鍵盤上面的對應(yīng)數(shù)字鍵),編輯完后按
esc
鍵退出編輯模式。退出編輯后再輸入命令?:wq
?退到命令提示符下(注意wq前面要帶英文的冒號),最有在命令提示符下輸入命令:reboot
?重啟OpenWRT系統(tǒng)。重啟完成后瀏覽器訪問?192.168.1.100?跳轉(zhuǎn)到OpenWRT管理界面;
默認(rèn)用戶?
root
默認(rèn)密碼?
password
設(shè)置網(wǎng)絡(luò)接口
網(wǎng)絡(luò)-接口?中刪除?WAN和?WAN6?,保存并應(yīng)用;
網(wǎng)絡(luò)-接口-設(shè)備?中編輯?br-lan,配置網(wǎng)橋端口?為?eth0?eth1?eth2?保存并應(yīng)用;
網(wǎng)絡(luò)-接口?中編輯?LAN,常規(guī)設(shè)置iPv4網(wǎng)關(guān)為上級路由的網(wǎng)關(guān)(直連光貓撥號為192.168.1.1);
網(wǎng)絡(luò)-接口?中編輯?LAN,高級設(shè)置使用自定義的 DNS 服務(wù)器(直連光貓撥號為192.168.1.1),也可以添加其他的自定義的 DNS 服務(wù)器;
保存并應(yīng)用,此時虛擬機(jī)的網(wǎng)絡(luò)已經(jīng)配置完成。
宿主機(jī)網(wǎng)絡(luò)設(shè)置
Windows 控制面板-網(wǎng)絡(luò)和 Internet-網(wǎng)絡(luò)和共享中心-更改適配器設(shè)置
分別設(shè)置三個網(wǎng)絡(luò)適配器的iP地址,子網(wǎng)掩碼和默認(rèn)網(wǎng)關(guān)及DNS服務(wù)器,iP地址為內(nèi)網(wǎng)iP段(192.168.1.X),子網(wǎng)掩碼(255.255.255.0),默認(rèn)網(wǎng)關(guān)設(shè)置及DNS服務(wù)器為OpenWrt(iStoreOS)的地址;
比如我的網(wǎng)絡(luò)設(shè)置:
此時虛擬機(jī)與宿主機(jī)的網(wǎng)絡(luò)已連通。

進(jìn)階玩法
基礎(chǔ)網(wǎng)絡(luò)配置完成,開始進(jìn)階配置更多玩法:
虛擬磁盤設(shè)置
掛載一個新的內(nèi)部磁盤
默認(rèn)的虛擬磁盤僅允許iStoreOS,我們需要一個新虛擬磁盤掛載運(yùn)行Docker,易有云及其他的程序防止系統(tǒng)錯亂。
打開Hyper-V 管理器?關(guān)閉正在運(yùn)行的iStoreOS,打開設(shè)置;
IDE 控制器0 - 硬盤驅(qū)動器?添加一個新的虛擬磁盤;

點(diǎn)擊新建打開?新建虛擬磁盤向?qū)?/strong>;

根據(jù)向?qū)?chuàng)建一個VHDX動態(tài)或固定大小的磁盤,并選擇虛擬磁盤文件保存位置,最后設(shè)置虛擬磁盤大??;

虛擬磁盤創(chuàng)建完成!

接下來再次啟動虛擬機(jī),并通過瀏覽器訪問管理界面;
可以看到主界面出現(xiàn)一個新磁盤,點(diǎn)擊格式化并掛載;(格式化為EXT4文件系統(tǒng))

掛載完成,掛載目錄為/mnt/-1;

你也可以更換掛載目錄,系統(tǒng)-掛載點(diǎn)?編輯剛才掛載的磁盤;

修改掛載點(diǎn)(以 /mnt/data 目錄為例),回車并保存;

繼續(xù)保存并應(yīng)用;

重啟iStoreOS;

重新進(jìn)入管理頁面,系統(tǒng)-磁盤管理?可以看到已經(jīng)更換掛載目錄為?/mnt/data;

更改Docker目錄
管理頁面可以看到Docker目錄,點(diǎn)擊快速配置遷移到/mnt/data/docker并確定;


此時Docker在新加的DATA磁盤運(yùn)行。

掛載Windows磁盤
將Windows驅(qū)動器掛載到iStoreOS中
此電腦-右鍵屬性-共享-高級共享,設(shè)置共享名及權(quán)限,確定并保存;

此時瀏覽器直接訪問網(wǎng)絡(luò)路徑可以查看磁盤文件;

在管理頁面,網(wǎng)絡(luò)存儲-掛載網(wǎng)絡(luò)共享?中,啟用并添加Windows 網(wǎng)絡(luò)共享磁盤,同理可以掛載更多Windows磁盤;
術(shù)語描述服務(wù)器IP控制面板中對應(yīng)Hyper-V內(nèi)部網(wǎng)絡(luò)的靜態(tài)iP共享文件夾Windows驅(qū)動器的共享名掛載路徑要掛載到內(nèi)部虛擬機(jī)的路徑掛載參數(shù)讀寫權(quán)限用戶Windows用戶名密碼Windows密碼

掛載成功可以在系統(tǒng)-掛載點(diǎn)?中查看掛載的Windows磁盤;

服務(wù)-易有云文件管理器?中本地文件管理可以查看掛載目錄的文件。

istorex
在iStore中安裝istorex并打開,可以進(jìn)入路由模式及NAS模式;
NAS
離線下載
打開istorex進(jìn)入NAS模式;
自動彈出設(shè)置向?qū)Щ蚴謩狱c(diǎn)擊NAS套件;

配置主目錄(可以將下載目錄配置到掛載的Windows磁盤)

安裝下載器

此時下載器自動配置完成;

易有云
在應(yīng)用商店安裝并打開易有云;下載客戶端并掃碼登錄;


配置存儲端,設(shè)置主目錄為外部的Windows磁盤目錄,確定開始綁定;

安裝完成;(訪問地址http://istoreosip:8897)

此時通過客戶端即可查看掛載的目錄文件。

DDNSTO路由遠(yuǎn)程
域名映射,一個瀏覽器遠(yuǎn)程訪問NAS、路由器、docker等;遠(yuǎn)程應(yīng)用,玩轉(zhuǎn)遠(yuǎn)程下載、遠(yuǎn)程SSH、遠(yuǎn)程Windows桌面、遠(yuǎn)程開機(jī);文件管理,支持訪問samba、sftp、webdav等協(xié)議。
在應(yīng)用商店安裝并打開DDNSTO路由遠(yuǎn)程;前往官網(wǎng)并掃碼登錄;
獲取訪問令牌,

在服務(wù)-DDNSTO 遠(yuǎn)程控制粘貼訪問令牌并啟用保存;

此時在官網(wǎng)可以查看到目前的設(shè)備;

添加域名解析,填入主域名及內(nèi)網(wǎng)服務(wù)地址,等待域名生效;

此時就可以通過公網(wǎng)訪問內(nèi)網(wǎng)服務(wù)了。

關(guān)閉iPv6
注意: 路由不建議開啟 IPV6 和相關(guān)服務(wù),偶爾會造成莫名其妙的BUG;
在應(yīng)用商店安裝并打開SysTools工具集;

系統(tǒng)-System Convenient Tools?選擇關(guān)閉iPv6并執(zhí)行;

網(wǎng)絡(luò)-接口-全局網(wǎng)絡(luò)選項?刪除IPv6 ULA 前綴?保存并應(yīng)用。

OpenClash
可以前往固件下載中心或者Github下載OpenClash OpenWrt固件;
前往服務(wù)-終端,登陸
root
賬戶(默認(rèn)密碼password
);

執(zhí)行下面命令安裝依賴:
opkg update
opkg 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
文件;
安裝完成就可以在?服務(wù)-OpenClash?查看裝好的程序;
更新內(nèi)核,全局設(shè)置-版本更新?檢查并更新內(nèi)核文件;
此時OpenClash就安裝完成了,你可以前往官方Wiki查看使用手冊,網(wǎng)絡(luò)連接異常時排查原因等。
PassWall
可以前往固件下載中心或者Github下載PassWall OpenWrt固件;
前往服務(wù)-終端,登陸
root
賬戶(默認(rèn)密碼password
);
執(zhí)行下面命令安裝依賴:
添加新的 opkg 密鑰:
wget https://free.nchc.org.tw/osdn/storage/g/o/op/openwrt-passwall-build/passwall.pub
opkg-key add passwall.pub
添加 opkg 存儲庫:
read release arch << EOF
$(. /etc/openwrt_release ; echo ${DISTRIB_RELEASE%.*} $DISTRIB_ARCH)
EOFfor feed in passwall_luci passwall_packages passwall2; do
?echo "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
文件或終端內(nèi)繼續(xù)執(zhí)行下面命令安裝;
opkg install luci-app-passwall
服務(wù)-PassWall?此時PassWall就安裝完成了;