Linux虛擬網路基礎 veth pair

2021-08-19 11:28:16 字數 1268 閱讀 2421

一 簡介

veth pair不是乙個裝置,而是一對裝置,以連線兩個虛擬乙太網埠。操作veth pair,需要跟namespace一起配合,不然就沒有意義。

我們設計乙個測試用例進行實踐,如下圖:

二 實戰

#建立veth pair

[root@centos ~]# ip link add tap1 type veth peer name tap2

#建立namespace:ns1和ns2

[root@centos ~]# ip netns add ns1

[root@centos ~]# ip netns add ns2

#把兩個tap分別遷移到對應的namespace中去

[root@centos ~]# ip link set tap1 netns ns1

[root@centos ~]# ip link set tap2 netns ns2

#分別給兩個tap繫結ip

[root@centos ~]# ip netns exec ns1 ip addr add local 192.168.50.1/24 dev tap1

[root@centos ~]# ip netns exec ns2 ip addr add local 192.168.50.2/24 dev tap2

#將兩個tap設定為up

[root@centos ~]# ip netns exec ns1 ifconfig tap1 up

[root@centos ~]# ip netns exec ns2 ifconfig tap2 up

#ping測試

[root@centos ~]# ip netns exec ns2 ping 192.168.50.1

ping 192.168.50.1 (192.168.50.1) 56(84) bytes of data.

64 bytes from 192.168.50.1: icmp_seq=1 ttl=64 time=0.051 ms

64 bytes from 192.168.50.1: icmp_seq=2 ttl=64 time=0.025 ms

64 bytes from 192.168.50.1: icmp_seq=3 ttl=64 time=0.027 ms

網路虛擬化之linux虛擬網路基礎

在linux裡面devic 裝置 與傳統網路概念裡的物理裝置 如交換機 路由器 不同,linux所說的裝置,其背後指的是乙個類似於資料結構 核心模組或裝置驅動這樣的含義。就是說device可能只是軟體系統裡的乙個驅動,乙個函式介面。tap位於二層資料鏈路層,tun位於三層網路層,兩者在linux裡的...

Linux虛擬網路基礎 iptables

iptables可以實現防火牆 nat等功能,不過這句話也對,也不對。說它對,我們確實是通過iptables相關命令列,實現了防火牆 nat的功能 說它不對,是因為iptables其實只是乙個執行在使用者空間的命令列工具,真正實現這些功能的是執行在核心空間的netfilter。它們之間的關係如下圖 ...

Linux虛擬網路基礎 tap(虛擬以太裝置)

虛擬網絡卡tun tap驅動是乙個開源專案,支援很多的類unix平台,openvpn和vtun都是基於它實現隧道包封裝。本文將介紹tun tap驅動的使用並分析虛擬網絡卡tun tap驅動程式在linux環境下的設計思路。tun tap驅動程式實現了虛擬網絡卡的功能,tun表示虛擬的是點對點裝置,t...