虛擬網路卡介面VETH(Virtual Ethernet )建立使用和繫結關係
1. veth建立與使用
VETH(Virtual Ethernet )是Linux提供的另外一種特殊的網路裝置,中文稱為虛擬網路卡介面。它總是成對出現,要建立就建立一個pair。一個Pair中的veth就像一個網路線纜的兩個端點,資料從一個端點進入,必然從另外一個端點流出。每個veth都可以被賦予IP地址,並參與三層網路路由過程,可以實現不同netns之間網路通訊。
# yum install -y iproute ##確保安裝iproute工具
$ ip netns add blue #建立命令空間
$ ip link add veth-red type veth peer name veth-blue
$ ip link set veth-blue up netns blue
$ ip link set veth-red up
# 開啟veth-red,賦予它IP地址192.168.15.1,子網掩碼為255.255.255.0
$ ip addr add 192.168.15.1/24 dev veth-red
$ ip link set veth-red up
# 開啟veth-blue,賦予它IP地址192.168.15.2,子網掩碼為255.255.255.0
$ ip netns exec blue ip addr add 192.168.15.2/24 dev veth-blue
$ ip netns exec blue ip link set veth-blue up
#檢視命令空間blue的路由
$ ip netns exec blue route -n
# 互相ping通
$ ip netns exec red ping 192.168.15.2
#檢視arp表,發現blue的arp表中出現了red的ip地址以及MAC地址記錄,相應的red的arp表中也出現了blue的記錄。
$ ip netns exec blue arp
2. 檢視docker veth pair與網路卡的對應關係
- 執行ip link命令檢視veth的對映關係
...
$ ip link
#如下示例:
18: veth5971b02@if17: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-6c2a98b60161 state UP mode DEFAULT group default
link/ether ce:52:40:36:5d:1b brd ff:ff:ff:ff:ff:ff link-netnsid 2
通過該命令,看到18: veth5971b02@if17,代表當前網路卡的id號18和網路卡介面(interface)id號17相互對映;
- 在檢視iflink檔案
我們可以通過/sys/class/net/目錄,看到當前網路名稱空間所有邏輯網路卡的路徑;然後,通過檢視各自路徑下的iflink檔案檢視到對應網路卡的id號;
#當前預設網路空間中的網路卡
$ ls /sys/class/net
br-6c2a98b60161 docker0 lo veth5971b02 veth-red virbr0-nic
br-8aa7231af266 ens33 veth079ec9b veth6448963 virbr0
$ cat /sys/class/net/veth5971b02/iflink
18
這樣就可以確定:
nginx這個容器的eth0在物理機上對應的veth pair是18: veth5971b02@if17;
同時可以查詢blue網路名稱空間中的veth網路卡id號
$ ip netns exec blue ls /sys/class/net
lo veth-blue
$ ip netns exec blue cat /sys/class/net/veth-blue/iflink
23
相關文章
- 虛擬機器雙網路卡繫結虛擬機
- 【kubernetes】網路虛擬網路卡對veth pair、flannel網路模型實現原理AI模型
- 關於AIX雙網路卡繫結AI
- Liunx 網路卡繫結
- 雙網路卡繫結
- Linux虛擬網路卡TUN和TAPLinux
- kvm虛擬化關閉虛擬網路卡virbr0的方法
- 從veth看虛擬網路裝置的qdisc
- openNebula 運維繫列虛擬機器virtual machines operations運維虛擬機Mac
- 代理伺服器和虛擬專業網的關係伺服器
- Linux網路卡繫結Linux
- 剖析網路卡繫結模式模式
- linux 網路卡繫結Linux
- CentOS 5.4上雙網路卡(多網路卡)繫結CentOS
- 虛擬機器網路卡配置虛擬機
- CENTOS 7 使用ORACLE VM VirtualBox 建立兩個虛擬網路卡注意事項CentOSOracle
- Linux(09):網路卡繫結Linux
- linux雙網路卡繫結Linux
- Oracle RAC 與 網路卡繫結Oracle
- redhat 6.3 雙網路卡繫結Redhat
- Linux 繫結雙網路卡Linux
- Linux 雙網路卡繫結Linux
- Redhat AS 5.4 雙網路卡繫結Redhat
- 網路卡繫結七種模式模式
- centos 6.5 雙網路卡繫結CentOS
- linux rac 網路卡繫結Linux
- 【轉】redhat 雙網路卡繫結Redhat
- liunx下雙網路卡繫結
- Xen虛擬機器新增網路卡虛擬機
- Oracle11G 虛擬列 Virtual Column使用Oracle
- linux6.5 網路卡繫結Linux
- RHEL6 雙網路卡繫結
- linux redhat 雙網路卡繫結LinuxRedhat
- NIC bonding 雙網路卡繫結
- 虛擬機器、容器和沙箱是什麼關係?虛擬機
- Linux 虛擬網路卡技術:MacvlanLinuxMac
- KVM虛擬機器新增物理網路卡虛擬機
- Azure 基礎:使用 powershell 建立虛擬網路