在 Win7 VirtualBox 中安裝 Ubuntu 12.04 並架設 Samba 共享伺服器,預設 NAT 網路模式導致虛擬機 IP (10.0.2.15) 與宿主機/區域網路 (10.0.9.x) 不在同一網段,無法存取共享。本文完整記錄 Samba 安裝設定、網路模式原理比較、橋接模式解決流程。
sudo apt-get update sudo apt-get install samba samba-common-bin
mkdir -p /home/andy/share chmod 777 /home/andy/share
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.backup sudo nano /etc/samba/smb.conf
在檔案末尾新增:
[Share] comment = Shared Folder with username and password path = /home/andy/share public = yes writable = yes available = yes browseable = yes
說明: public = yes 允許匿名存取;若需帳密驗證,移除此行並設定 valid users。
sudo useradd smbuser sudo smbpasswd -a smbuser # 輸入兩次密碼
sudo service smbd restart sudo service nmbd restart
\\10.0.2.15\Share。| 模式 | 網路拓撲 | IP 來源 | 外部存取虛擬機 | 虛擬機上網 | 適用場景 |
|---|---|---|---|---|---|
| 橋接 | 虛擬網卡 ↔ 虛擬交換機 ↔ 實體網卡/交換機 | 實體路由器 DHCP / 靜態設定 | ✅ 直接可存取 | ✅ 正常 | 伺服器服務 (Samba, Web, SSH)、叢集測試、需同網段 |
| NAT | 虛擬機 → 虛擬 NAT 裝置 → 宿主機 → 實體網路 | VirtualBox 內建 DHCP (10.0.2.x) | ❌ 需設定連接埠轉發 | ✅ 正常 | 一般上網、不對外提供服務、宿主機攜帶筆電頻繁換網路 |
| Host-Only | 虛擬機 ↔ 虛擬網卡 (vmnet1) ↔ 宿主機 (封閉網路) | VirtualBox 內建 DHCP (192.168.56.x) | ✅ 僅宿主機可存取 | ❌ 無法上網 (除非宿主機啟用 ICS/路由) | 隔離測試環境、內部通訊、安全實驗 |
不想手動編輯 smb.conf?安裝 system-config-samba:
sudo apt-get install system-config-samba sudo system-config-samba
圖形化介面新增共享、設定權限、管理使用者,更直觀易用。
掌握 VirtualBox 網路模式切換,讓您的虛擬機 Samba 伺服器真正融入區域網路,實現宿主機、手機、其他電腦無縫存取共享檔案。