在 VirtualBox 中安裝 Openwrt 後,為方便開發與訪問 Openwrt 的 web server,需要設定 virtual machine 的網路配置。我們期望 Openwrt 對外可以連到外網,更新既有的 package;對內,可以連到內網,扮演 router 的角色。
因此我們需要兩張網卡,打開 VirtualBox 的 網路 > 介面卡1
勾選啟用網路卡,底下的 附加到
選擇 NAT
。接著打開網路 > 介面卡2
勾選啟用網路卡,底下的 附加到
選擇 「僅限主機」介面卡
。
VirtualBox 有多種的網路連接方式可以選擇,最常用到的 NAT
是 Network Address Translation
,我們可以把它當成是以 VirtualBox 為 Router 的區域網路,如果有其他的 virtual machine,由於不在同樣的 LAN 中,無法訪問設為 NAT
的 VM。這張網卡的目的是將 Openwrt 連到外面網路。
另一種「僅限主機」介面卡
則是在 Guest 跟 Host 間創造一個虛擬網路,Host 上會多出一張虛擬網卡,等同將 Guest 跟 Host 都接到相同的 switch,因此除了 Openwrt 外,其他 VM 也可以透過這個 switch 訪問 Openwrt 或 Host,但外界的機器則無法訪問。
為方面後續的開發,最好連 Serial Port 也設定。進入 串列埠
勾選 啟用串列埠
,模式選擇 主機管線
,然後不要勾 連線到現有管線/通訊端
,路徑地址依照 Host 的 OS 來設定,如果是 windows,使用 \\.\pipe\$(NAME)
,例如 \\.\pipe\Openwrt
。後續就能用 putty 之類的軟體來開啟 Serial Port。
完成後進入 Openwrt,設定 Openwrt 內的 IP
cd /etc/config/
vi network
將原先的設定改為
config interface 'wan'
#option type 'bridge'
option ifname 'eth0'
option proto 'dhcp'
#option proto 'static'
#option ipaddr '192.168.1.1'
#option netmask '255.255.255.0'
#option ip6assign '60'config interface 'lan'
option ifname 'eth1'
option proto 'dhcp'
有打 #
表示原來有的設定;#
是忽略的意思。這裡將 eth0 跟 eth1 兩張網卡都設為 dhcp。
ping 個 ip 試試看,確認能連到外網。
ping 8.8.8.8
用 Browser 開啟 eth1,確認能連到 Openwrt 的 Web server 頁面。
大功告成!