linux上使用tun/tap設(shè)備模擬一個虛擬網(wǎng)卡,并將該虛擬網(wǎng)卡連接到新創(chuàng)建的網(wǎng)橋上
一、tun/tap設(shè)備簡介
tun/tap
設(shè)備是操作系統(tǒng)內(nèi)核中的虛擬網(wǎng)絡(luò)設(shè)備,是用軟件模擬的網(wǎng)絡(luò)設(shè)備,提供與硬件網(wǎng)絡(luò)設(shè)備完全相同的功能。主要用于用戶空間和內(nèi)核空間傳遞報文。
tun/tap
設(shè)備與物理網(wǎng)卡的區(qū)別:
- 對于硬件網(wǎng)絡(luò)設(shè)備而言,一端連接的是物理網(wǎng)絡(luò),一端連接的是網(wǎng)絡(luò)協(xié)議棧。
- 對于
tun/tap
設(shè)備而言,一端連接的是應(yīng)用程序(通過 字符設(shè)備文件/net/dev/tun
),一端連接的是網(wǎng)絡(luò)協(xié)議棧。
二、在linux上使用tun/tap設(shè)備模擬一個虛擬網(wǎng)卡
-
確認(rèn)內(nèi)核是否支持
tun/tap
確認(rèn)內(nèi)核是否有
tun
模塊modinfo tun
出現(xiàn)如下提示,表示有
tun
模塊加載
tun
模塊modprobe tun
-
創(chuàng)建和配置虛擬網(wǎng)卡
先安裝
tunctl
,該工具可以通過安裝軟件包uml-utilities
來獲得,我的環(huán)境ubuntu
,具體命令如下:apt install uml-utilities # 如果安裝的時候找不到安裝包,就使用如下命令更新軟件列表信息 apt upgrade
創(chuàng)建虛擬網(wǎng)卡設(shè)備,命名為
tap0
tunctl -t tap0 -u root
設(shè)置虛擬網(wǎng)卡,并配置
ip
地址和子網(wǎng)掩碼等信息ifconfig tap0 192.168.0.1 netmask 255.255.255.0 promisc
三、 創(chuàng)建網(wǎng)橋連接到虛擬網(wǎng)卡上
# 創(chuàng)建一個名為br1的網(wǎng)橋
ip link add br1 type bridge
# 將tap0網(wǎng)卡設(shè)備加進(jìn)來
ip tuntap add dev tap0 mode tap
# 將br1設(shè)置為tap0的目標(biāo)網(wǎng)橋
ip link set dev tap0 master br1
# 啟動網(wǎng)橋
ip link set dev br0 up
都搞定以后,查看網(wǎng)橋狀態(tài),需要安裝brctl
,該工具可以通過安裝軟件包bridge-utils
來獲得,具體命令如下:
apt install bridge-utils
安裝好以后,用brctl show
命令來查看網(wǎng)橋狀態(tài)
四、參考資料:
Linux下添加虛擬網(wǎng)卡
在Linux系統(tǒng)下使用TUN/TAP虛擬網(wǎng)卡的基本教程
Linux 虛擬網(wǎng)卡技術(shù):Macvlan文章來源:http://www.zghlxwxcb.cn/news/detail-644913.html
qemu網(wǎng)橋配置文章來源地址http://www.zghlxwxcb.cn/news/detail-644913.html
到了這里,關(guān)于linux上使用tun/tap設(shè)備模擬一個虛擬網(wǎng)卡,并將該虛擬網(wǎng)卡連接到新創(chuàng)建的網(wǎng)橋上的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!