[心得] UTM SE 使用者報告《第三章》網路設定與 iPad 檔案傳輸
https://i.imgur.com/nCseBwP.jpeg
【本文目錄】
前言:檔案互通是辦公的必要條件
第一節:UTM 的共享資料夾為什麼不能用
第二節:搞懂 UTM 網路設定與技術原理(文章較長)
第三節:透過個人熱點進行檔案傳輸(適合新手)
第四節:連接埠轉送的機制與技術原理(文章較長)
第五節:透過連接埠轉送進行檔案傳輸(適合進階)
【前言:檔案互通是辦公的必要條件】
1969年的美國國防部一項名為阿帕網(ARPANET)的計畫被正式投入執行,
可以被視為是網際網路的前身,其目的就是要讓電腦之間能夠互相交換研究資料,
1974年,TCP/IP協定被開發了出來,並定義了兩台電腦之間要如何溝通並傳輸資料。
這章節將會教各位如何讓虛擬機器與 iPad 的檔案系統進行雙向交換資料。
如果你看了許多坊間關於 UTM SE 的教學,無論是文章或影片,
通常會到本系列中的第二章就差不多結束了。
有些會說無法傳輸檔案,另一些會說請做成光碟映像 ISO 檔掛載。
(順帶一提,可以用 Free ISO Creator 將資料夾製作成 ISO 光碟映像檔。)
https://www.freeisocreator.com/
但是一台機器如果只能從外界讀取資料而無法把成果攜出的話,
在上面撰寫的文檔其實是沒有太大的意義。
也因此,作為本系列中最精彩也最硬核的一篇,
我們將從為什麼正常情況下 UTM 無法實現檔案共享,
到提出各式各樣(但失敗)的嘗試可能,
以及翻閱 QEMU (UTM 的底層) 關於網路設定的官方文檔,
從計算機網路概論的角度實現雙向區域網路檔案傳輸。
如果你也準備好了,就一起往下看吧。
【第一節:UTM 的共享資料夾為什麼不能用】
如果你有稍微把玩一下 UTM 介面的話,
會發現在掛載選單裡面有一個共享資料夾的選項,
可以讓你指定要把哪個 iPad 資料夾跟虛擬機器共享,
於是你很高興了選了檔案 App 中的某一個資料夾,
然後打開電腦後發現沒辦法使用,即使已經安裝 Windows 客體系統工具也是一樣。
https://docs.getutm.app/settings-qemu/sharing/
SPICE WebDAV
This requires the SPICE guest tools to be installed on the guest. The shared
directory is exposed as a WebDAV mount on the guest’s localhost (typically
on port 9843). This option has better support for Windows but can have worse
performance than VirtFS on Linux.
所以到底出了甚麼事情?
去 UTM Github Issue 列表中一找,會發現有大量的人都遇到問題:
Shared folder not working with WinXP guest
https://github.com/utmapp/UTM/discussions/3625
原因似乎是 Spice 工具用來負責共享資料夾的 WebDAV 服務在 Windows XP 上有點問題,導致沒有反應,服務沒有啟動或者是當掉,
有人甚至建議修改文檔說明 Windows XP 其實不支援客體工具,
但因為 Spice 工具已經早就放棄 Windows XP 的支援了,故這個問題估計無法修復。
有些人第一時間就想到說,那我們就讓電腦透過雲端硬碟共享就好了啊。
但是考慮到 UTM SE 速度實在是太慢,開個瀏覽器就會等到天荒地老,
且如果用舊版的瀏覽器根本開不了網頁,更不用提可能還要考慮資安的問題,
都這麼慢了還裝套防毒軟體那簡直是慢上加慢。
那如果我們掛載一顆空的硬碟,然後把 Windows XP 上面的檔案裝進去之後,
再開一台 Linux 機器聯網上傳出去可不可行,答案也是否定的,
經過實測,UTM 似乎只能掛接一顆磁碟機,
掛兩顆並設定讀寫的時候拿不到 write lock 開不了機,
且無法單獨建立磁碟機(檔案格式 qcow2),所以這條路也沒辦法。
因此,我們需要其他方法來實現檔案傳輸,而且最好是內網也能用。
【第二節:搞懂 UTM 網路設定與技術原理】
在上面那個 Issue 討論裡面,有人其實提到直接利用 Windows SMB 協定,
在客體虛擬機器(Guest)上面開一個伺服器,再透過主體實體機器(Host)連上即可。
https://i.imgur.com/tGlEuQQ.png
恰好 iOS 13 之後內建檔案 App 就支援 SMB 豈不是太完美了?
但當你照著步驟做就會發現:
1. 沒辦法把虛擬機器 IP 改成 Shared Network 模式 (192.168.xxx.xxx)
https://i.imgur.com/EctSVCz.png
2. 檔案 App 不確定是連不上機器還是連不上 SMB
要想講清楚原因,就得先提到 UTM 關於網路設定的部分:
https://docs.getutm.app/settings-qemu/devices/network/network/
UTM 網路模式主要分成四種:
Emulated VLAN、Shared Network、Host Only、Bridged,其中前兩個跟我們比較有關:
Emulated VLAN: Creates a new VLAN and connects this virtual machine to it. This VLAN is
created in userspace and requests from the VM will be seen by the host
operating system as originating from the UTM process. Different VMs will eachhave their own VLAN.
(macOS) Shared Network: Traffic is routed directly by the host operating systemand the guest shares a VLAN with the host. Services running on the guest and
the host can see each other without additional configuration. This is
recommended for new virtual machines.
簡單來說,Emulated VLAN 模式下每個 UTM 虛擬機器會有獨立 VLAN,
而 Shared Network 則是把實體主機與客體虛擬機連到相同的 VLAN,
每個 VLAN 就可以視為是一個區域網路。
虛擬區域網路(VLAN)通常是由一個實體 LAN 進行分割,
主要的目的就是為了把不同群組的電腦進行功能劃分以方便管理。
而虛擬區域網路本身具有防火牆的效果,
也就是說不同虛擬網路間的電腦彼此之間不可以直接通訊。
虛擬區域網路(Virtual LANs)
https://www.cs.nthu.edu.tw/~nfhuang/chap16.htm
https://savicontrols.com/what-is-vlan-i-quick-bytes-with-paul-zielie/
https://i.imgur.com/aY6Hozo.png
透過路由器設定我們可以將 Host 1-3 互相直接通訊與 Host 4-6 互相直接通訊,
而 VLAN 1 與 VLAN 2 之間無法直接通訊,必須要透過路由器。
回到我們的 UTM 網路設定,
也就是說 iPad 所處的 VLAN 與 虛擬機所處的 VLAN 不相同,
除非透過一個個人熱點(如手機開熱點)當作一個路由器,否則是無法直接通訊的。
在 QEMU 的網路文檔中提到:
https://people.redhat.com/pbonzini/qemu-test-doc/_build/html/topics/pcsys_005fnetwork.html
Using the user mode network stack
By using the option -net user (default configuration if no -net option is
specified), QEMU uses a completely user mode network stack (you don’t need
root privilege to use the virtual network). The virtual network configurationis the following:
QEMU VLAN <------> Firewall/DHCP server <-----> Internet
| (10.0.2.2)
|
----> DNS server (10.0.2.3)
|
----> SMB server (10.0.2.4)
The QEMU VM behaves as if it was behind a firewall which blocks all incoming
connections. You can use a DHCP client to automatically configure the networkin the QEMU VM. The DHCP server assign addresses to the hosts starting from
10.0.2.15.
也就是說除非我們把 UTM 網路能夠設定成共享模式,
否則基本上是無法區域網路內讓 iPad 與虛擬機器通訊的,
但是在文檔中也寫到共享模式僅限 MacOS,也就是 iOS 只能使用模擬 VLAN。
【第三節:透過個人熱點進行檔案傳輸】
前面提到,雖然 VLAN 之間是無法通訊的,
但是我們只要有一個路由器就能讓 iPad 與虛擬機器進行通訊,
其實就是讓手機開一個熱點(建議停用行動網路避免資安問題),
這個時候 iPad 上 App 啟動的伺服器都會變成 192.168.xxx.xxx,
我們就能在虛擬機器裡面連上這個伺服器進行檔案交換了。
以下介紹幾個可行的方案:
(1) 用 iPad App 開 WebDAV 伺服器:
類似軟體如:Documents:PDF 閱讀器軟體,音樂播放器, VPN
https://i.imgur.com/jfPVJCL.png
優點:很容易找到 App 支援 WebDAV 伺服器
缺點:常常會連不上,不是很穩定
https://i.imgur.com/GMPyOoT.png
https://i.imgur.com/FqMrzpy.png
(2) 用 iPad App 開 FTP 伺服器:
類似軟體如:GoFTP Server
https://i.imgur.com/gbEkxbI.png
優點:穩定度高
缺點:內建檔案管理 FTP 瀏覽器很慢,建議安裝 FileZilla,且 App 數量較少
https://i.imgur.com/PipM8Bn.png
https://i.imgur.com/XFu2qG1.png
(3) 用 iPad App 開一個網頁上傳伺服器:
類似軟體如:Documents:PDF 閱讀器軟體,音樂播放器, VPN
https://i.imgur.com/jfPVJCL.png
優點:容易使用,瀏覽器輸入 IP 地址即可
缺點:XP 瀏覽器通常無法正常開啟 App 產生的檔案上傳網頁
【第四節:連接埠轉送的機制與技術原理】
UTM 還有提供一項機制,叫做連接埠轉送(Port Forwarding)。
https://docs.getutm.app/settings-qemu/devices/network/port-forwarding/
Port forwarding is only available on QEMU backend virtual machines using
Emulated VLAN network mode. To create a new port forward, press the “New…”
button and fill in the fields. To modify an existing port forward, either
double click on the entry in the table or select an entry and click “Edit…
”. On macOS 11, click on an entry to modify it.
這個連接埠轉送功能簡單來說,
就是把虛擬機器上的某一個連接埠(Port)接上實體機器上的某一個連接埠(Port)。
而每一個連接埠,其實就是用來給特定軟體通訊用的通道,
並且透過轉送可以改變指定的連接埠。
https://en.wikipedia.org/wiki/Port_forwarding
https://i.imgur.com/oMFCWVz.png
比如說:我們設定虛擬機器 A 連接埠轉送,
那在 iPad 上就能透過這個 A 連接埠進行通訊。
也就是說,只要把檔案傳輸會用到的連接埠加到 UTM 網路設定,
就能在 iPad 上面跟虛擬機進行檔案傳輸。
https://i.imgur.com/r4PZocI.png
【第五節:透過連接埠轉送進行檔案傳輸】
以下介紹幾個可行的方案(記得去防火牆設定例外):
(1) 虛擬機開啟 SMB 協定:設定轉送連接埠 445,iPad 端連上 127.0.0.1:445
優點:Windows 內建檔案傳輸,不用安裝其他軟體
缺點:在 AppStore 要找到 SMBv1 的 App 有點困難,內建檔案 App 不支援舊版 SMB,多數檔案 App 拒絕連接到 127.0.0.1 並需要聯網
類似軟體如:NPlayer (只能讀取檔案)
https://i.imgur.com/hH8z88W.png
https://i.imgur.com/hnRchCv.png
https://i.imgur.com/FrcW66r.png
https://i.imgur.com/Oe7B0VL.png
https://i.imgur.com/x6Kmdne.png
https://i.imgur.com/N2jEqx3.png
https://i.imgur.com/j59D1pb.png
(2) 虛擬機開啟 FTP 伺服器:設定轉送連接埠 21 用於監聽(Listening),
另外設定幾個連接埠來作為檔案傳輸連接埠,
並於 FTP 伺服器內設定被動模式(Passive Mode) 為這幾個檔案傳輸連接埠,
iPad 端連上 127.0.0.1:21
優點:iPad 要找到 FTP 客戶端 App 較容易,伺服器控制台訊息可協助找問題 Debug
缺點:隨時 FTP 伺服器開啟有資安疑慮,需安裝額外 FTP 軟體
類似軟體如:FTPManager - FTP, SFTP client
https://i.imgur.com/dou4imJ.png
https://i.imgur.com/KGXDDwi.png
https://i.imgur.com/jOkLhcj.png
--
--
買一台真正的win會不會比較省事?
推實測……
詳細說明推
願意這樣花時間 我也只能給個respect
Win98如果跑得順的話 對於還在寫 VB6/VBA 的人
(醫院軍隊鐵路等國家基礎設施 程式維護開發)
用 ipad 來寫感覺很酷 XD
推,認真實作,詳細教學
91
[情報] 五個免費的手機傳檔案工具跨系統和跨裝置的檔案傳輸一直難有一體適用的解決方案(真希望 Air Drop 可以開源給所有系統使用),有時候只是想單純傳張照片 卻還是要安裝、註冊、登入...等流程。下面分享幾個免費的線上 檔案傳輸工具,或許能找到適合自己的。 1. 62Drop8
[問題] iPad Pro檔案傳輸剛寄到的ipad pro11設定完成後 突然發現 我PC上的檔案沒有什麼方法可以傳輸到ipad上 USB typeC的端子我的PC沒有 是否該去買一條傳輸線? 有想過雲端,不過這樣就沒辦法透過iTunes做PC上面的備份了...8
[討論] 安卓 USB有線連接電腦 問題各位好,因為工作需求,常常會需要USB有線連接至安卓手機抓資料, 在USB用途的設定裡,有下列4點: 1.檔案傳輸 2.USB數據連線 3.PTP7
[心得] 手機無線傳照片檔案到電腦 ~ 使用SSHFS*本文僅適用Android手機,iOS的情況見文末 要將大量手機檔案整理到電腦時,如果要用檔案總管像整理硬碟般的操作,那我們會將手 機接上電腦用MTP傳輸。 但是MTP功能有限,並且檔案一多直接卡。整理相片也看不到縮圖:7
Re: [軟體] mac air M2 13 吋 買來灌windows 11這陣子研究了一下用m1/m2 mac上的非PD免費軟體 裝windows 11 arm跑atm讀卡機還是自然人憑證的 寫些心得給有需要的人參考 首先主要是參考以下 Vmware Fusion6
[問題] 手機電量低時 傳輸線優先充電無法傳檔案?請問一下各位的經驗,因為我搞不清楚是標題的原因或是傳輸線自身問題的原因。 我的手機傳輸線如果連接電腦的USB插孔後,原本既可(透過電腦的電源)充電、也可傳輸 檔案,手機連接電腦的當下,會在手機螢幕出現小視窗讓我選擇要充電或傳輸檔案。如果 選擇傳輸檔案,電腦的檔案總管中也會出現手機的資料區,以供點選貼到電腦的資料夾。 但是有幾次,傳輸線連接手機與電腦以後,手機螢幕上並未出現這個提供選擇的小視窗;4
[問題] 下載到""檔案""APP中的檔案如何傳到電腦機型:(請使用正確名稱勿簡稱) iPhone XS MAX 系統版本:(設定→一般→關於本機→版本) 14.2 問題描述:4
Re: [問題] 背景自動傳輸 A7C 或其他相機就是FTP背景傳輸功能,裡面有個拍攝時自動傳輸 以行動裝置來說,需要先下載Transfer & Tagging add-on APP 下載完以後使用有兩種方式 一種是連接周遭熱點,一種是手機直接開熱點讓相機去連 反正先到相機的存取點手動設定中看要連哪一個就連上去4
[問題] 請問網路瓶頸如何改善?先說明使用環境: 連外網路:Seednet 100M/40M 內網環境:四樓層 Cat5e佈線 ASUS RT-AC68U- 因為限流最簡單啊 不然網管會森氣氣阿 很早就有各種檔案分享的技術 FTP 檔案傳輸協定
44
[心得] Z FOLD4冷筍訴訟打贏三星17
[問題] 手機使用ptt 除了Mo那個最好用?14
[問題] 小米自帶線行動電源17
[購機] oppo find x8pro/小米15pro14
[情報] 小米平板 7 系列換上 3:2 螢幕,瞄準「輕辦公」場景 充電6
[討論] 抗刮的保護貼3
[購機] 萬元備用機推薦1
[討論] 小白 榮耀Magic7系列 評測15
[購機] 20k左右休閒用平板17
[閒聊] 充電器統一規格前 是什麼樣的世界?