若要使用 TUN/TAP 介面,請切換至 /dev 目錄中,執行 代碼:
MAKEDEV tun 來建立 tun 之裝置檔。之後,在執行 QEMU 時,QEMU 便會自行載入 tun 模組並產生一個名為 tun0 的網路介面;之後 Guest System 便能夠藉由這個 tun0 介面和外部連線了。
請參考以下這個 script 來設定 TUN/TAP 介面: (請將 192.168.1.254 替換成一個空的 IP 位址。這個位址將由 tun 介面所使用。) (請將 192.168.1.101 替換成一個空的 IP 位址。這個位址將由 Guest System 使用。)
代碼:
#!/bin/bash
/sbin/ifconfig ${1##/*/} 192.168.1.254
route add -host 192.168.1.101 dev ${1##/*/}
這樣子在 QEMU 啟動時,就會將 tun 裝置設定為 192.168.1.254 了。由於執行這個 Scrip 需要 root
之權限, 所以必須具有 root 身份才能正常啟用這個模式的。且 tun 裝置的 IP 位置和 Guest System 的 IP 位址是寫死在
script 裡的, 所以在使用上並不是很方便。
藉由 TUN/TAP 介面來和網路連線。必須採用固定 IP,但 IP 可以隨意指定;Guest System 可以連線出去,Host
OS 也可以和 Guest System 連線, 但外部網路的其它電腦則完全無法連線進來。User-Nat 模式 使用 User Mode
Network Stack 來模擬網路界面。Guest System 必須採用 DHCP,且一定會得到 10.0.2.x
的IP,同時,Gateway 會指向 10.0.2.2,DNS 則指向 10.0.2.2。
Guest System 可以連線出去,但 Host OS 和外部網路的其它電腦則完全無法連線進來。
由於 User Mode Network Stack 無法完全支援 ping 指令,所以 Guest System 只能 Ping 到 Host OS,無法 ping 到外部網路的其它電腦。
Dummy Net 模式
並不實地得進行任何網路連線。 網路介面的命令例參數(節錄)
-nics n:
模擬幾個網路介面。預設為 1 個,最多為 6 個。
-n script:
設定 TUN/TAP 網路連線的 script;預設為使用 /etc/qemu-ifup。
-user-net:
使用 User Mode Network Stack。
若未指定或找不到 TUN/TAP 的 script 時,則會採用這個模式。