一 簡介
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...