Linux下qemu網路配置(不使用en網路介面)

2021-10-08 12:49:49 字數 2864 閱讀 4373

示例系統:ubuntu 18.04

安裝docker。

sudo apt install docker.io
建立docker。

systemctl start docker
這時使用ifconfig,可以看到docker0。

install bridge-utils # 虛擬網橋工具

sudo

apt-get

install uml-utilities # uml(user-mode linux)工具

建立tap裝置,作為qemu端的乙個介面。

sudo tunctl -t tap0                                          # 建立乙個 tap0 介面

sudo brctl addif docker0 tap0 # 在虛擬網橋中增加乙個 tap0 介面

sudo

ifconfig tap0 0.0.0.0 promisc up # 啟用 tap0 介面

brctl showstp docker0 # 顯示 docker 的各個介面

顯示結果示例:

此時tap0的狀態為disable是正常的。

開啟虛擬機器之後狀態會變為forwording。

qemu的選項中新增:

-net nic,model=rtl8139 -net tap,ifname=tap0,script=no,downscript=no

引數意義:

①-net nic,model=rtl8139:表示希望qemu在虛擬機器中模擬一張rtl8139虛擬網絡卡,缺省會模擬一張e1000網絡卡。

②-net tap,ifname=tap0,script=no,downscript=no:qemu使用tap網路通訊方式,並且指定了網絡卡介面名稱為tap0。設定宿主機在啟動客戶機時自動執行的網路配置指令碼和宿主機在客戶機關閉時自動執行的網路配置指令碼。由於qemu中執行自主系統,所以這裡不使用系統指令碼。

qemu網路通訊方式:

user mode stack:使用者協議棧方式,這種方式的大概原理是在 qemu 程序中實現乙個協議棧,這個協議棧可以被視為乙個主機與虛擬機器之間的 nat 伺服器,它負責將 qemu 所模擬的系統網路請求**到外部網絡卡上面,從而實現網路通訊。但是不能將外面的請求**到虛擬機器內部,並且虛擬機器 vlan 中的每個介面必須放在 10.0.2.0 子網中。

socket: 為 vlan 建立套接字,並把多個 vlan 連線起來。

tap/bridge:最重要的一種通訊方式,我們想要實現 qemu 虛擬機器和外部通訊就需要使用這種方式。

vde:也是用於連線 vlan 的,如果沒有 vlan 連線需求基本用不到。

配置過程中若出現錯誤需要刪除網橋或網路介面可使用下列命令:
tunctl -d 虛擬網絡卡

#示例:

#sudo tunctl -d tap0

ifconfig

網橋 down

brctl delbr 網橋

#示例:

#sudo ifconfig docker0 down

#sudo brctl -d docker0

sudo brctl delif docker0 tap0
#if config_level == 0

ip4_addr

(&ipaddr,

172,17,

1,1)

;ip4_addr

(&gateway,

192,

168,0,

1);ip4_addr

(&netmask,

255,

255,0,0);

在xbook2目錄下執行:

sudo

make run

#使用tap通訊方式會訪問系統檔案/dev/net/tun,所以使用sudo啟動。

在宿主機瀏覽器中訪問該配置的伺服器ip位址。接收到資料報則配置成功。示例如下。

在宿主機重啟後之前配置的網橋和tap0介面會消失,需要重新配置。

以上為個人配置。

如出現錯誤或配置不成功可查閱其他資料。

參考文獻:

[1] catalpa. qemu 網路配置一把梭 2019-09-10

[2] jongwu3. 一種簡單的qemu網路配置方法 2018-05-29

[3] leoe_. ubuntu 刪除虛擬網絡卡/網橋的命令 2018-01-04

Linux下配置網路

cd etc sysconfig network scripts 拷貝乙份設定檔案 cp ifcfg eth0 ifcfg eth0.bak 編輯檔案 vi ifcfg eth0 onboot 是否啟動網路 bootoroto ip的設定方式 dhcp自動設定 static手動設定 新增ip位址 a...

linux下qemu安裝簡要介紹

由於工作中要用到虛擬化相關知識,就在linux下安裝了qemu 注1,以kvm qemu模式來模擬虛擬機器,在安裝的過程中,發現一些問題,就這些問題來一一記錄。currently holding the yumlock,一直在重複,沒有盡頭。後來看了下 google 原來貌似是系統在公升級,殺掉程序...

qemu安裝debian後的網路配置

1 host 核心需要支援 tap tun,lsmod grep tun 看支不支援。2 啟動並在 host 生成乙個虛擬網絡卡 tap0 sudo qemu m pc m 1024 net nic net tap,ifname tap0,script etc qemu ifupdebian.1.i...