九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
Linux 虛擬網(wǎng)絡(luò)——namespace、veth pair、bridge 說明和命令實(shí)操

namespace

前言

namespace是Linux虛擬網(wǎng)絡(luò)的一個重要概念,傳統(tǒng)的Linux的許多資源是全局的,如果進(jìn)程id資源。而namespace的目的首先就是講這些資源做資源隔離。Linux可以在一個Host內(nèi)創(chuàng)建許多namespace,于是那些原本是linux的全局資源,就變成了namespace范圍內(nèi)的“全局”資源,而且不同namespace的資源相互不可見,彼此透明。

Linux namespace 可以隔離的資源有:uts_ns(內(nèi)存、版本等底層信息)、ipc_ns(所有與進(jìn)程通信的信息)、 mnt_ns(當(dāng)前裝載的文件系統(tǒng))、 pid_ns(有關(guān)進(jìn)程id的信息)、 user_ns(資源配額的信息)、 net_ns(網(wǎng)絡(luò)信息)。

一個設(shè)備(Linux Device)只能位于一個namespace中,不同namespace中的設(shè)備可以利用veth pair進(jìn)行橋接。

命令實(shí)操

Linux 操作namespace的命令是ip netns。

# ip netns help

首先創(chuàng)建一個namespace:

# ip netns list

# ip netns add ns_test

當(dāng)創(chuàng)建一個namespace后,就可以將一些虛擬設(shè)備遷移到這個namespace中去了,比如上一篇中介紹的tap。

# tunctl -t tap_test

# ip addr add local 10.0.0.190/24 dev tap_test

# ip a show

創(chuàng)建namespace后,將前面創(chuàng)建的tap_test遷移到這個namespace中。

遷移之后,在外直接 ip a s 已經(jīng)看不到這個虛擬設(shè)備了

# ip link set tap_test netns ns_test

# ip netns exec ns_test ip a s

veth pair

前言

veth pair 不是一個設(shè)備,而是一對設(shè)備,以連接兩個虛擬以太端口。操作veth pair,需要跟namespace一起配合,不然就沒有意義。

簡單的拓?fù)鋱D:

兩個namespace ns1/ns2 中各有一個tap組成veth pair,兩個tap 上配置的ip進(jìn)行互ping。

命令實(shí)操

創(chuàng)建 veth pair:

# ip link add tap1 type veth peer name tap2

# ip a s

創(chuàng)建namespace,并將tap遷移至namespace中:

# ip netns add ns1

# ip netns add ns2

# ip link set tap1 netns ns1

# ip link set tap2 netns ns2

# ip netns exec ns1 ip addr add local 192.168.10.200/24 dev tap1

# ip netns exec ns2 ip addr add local 192.168.10.201/24 dev tap2

# ip netns exec ns1 ifconfig tap1 up

# ip netns exec ns2 ifconfig tap2 up

根據(jù)ip進(jìn)行ping操作,驗(yàn)證連通性:

# ip netns exec ns1 ping 192.168.10.201

通過以上的測試用例,可以了解通過veth pair連接兩個namespace的方法。

下面就要依靠Bridge/Switch 實(shí)現(xiàn)三個或多個namespace進(jìn)行互通。

Bridge

前言

在Linux的語境中,Bridge和Switch是一個概念。Bridge是一個虛擬網(wǎng)絡(luò)設(shè)備,所以具有網(wǎng)絡(luò)設(shè)備的特征,可以配置IP、MAC地址等;Bridge是一個虛擬交換機(jī),和物理交換機(jī)有類似的功能。對于普通的網(wǎng)絡(luò)設(shè)備來說,只有兩端,從一端進(jìn)來的數(shù)據(jù)會從另一端出去,如物理網(wǎng)卡從外面網(wǎng)絡(luò)中收到的數(shù)據(jù)會轉(zhuǎn)發(fā)給內(nèi)核協(xié)議棧,而從協(xié)議棧過來的數(shù)據(jù)會轉(zhuǎn)發(fā)到外面的物理網(wǎng)絡(luò)中。 而Bridge不同,Bridge有多個端口,數(shù)據(jù)可以從任何端口進(jìn)來,進(jìn)來之后從哪個口出去和物理交換機(jī)的原理差不多,要看mac地址。

命令實(shí)操

Linux實(shí)現(xiàn)Bridge功能是brctl模塊??梢灾苯釉诿钚猩喜榭矗绻麤]有回顯的話,可直接使用yum進(jìn)行安裝。

# yum -y install bridge-utils

根據(jù)如下拓?fù)鋱D,我們模擬創(chuàng)建相應(yīng)的虛擬網(wǎng)絡(luò)設(shè)備,進(jìn)行實(shí)現(xiàn):

命令操作:

# ip link add tap1 type veth peer name tap1_peer

# ip link add tap2 type veth peer name tap2_peer

# ip link add tap3 type veth peer name tap3_peer

# ip link add tap4 type veth peer name tap4_peer

創(chuàng)建namespace:

將設(shè)備遷移至namespace:

創(chuàng)建 Bridge,并tap 添加到 Bridge中:

# brctl addbr br1

# ip a s | grep br1

# brctl addif br1 tap1_peer

配置 tap 對應(yīng)的ip地址:

# ip netns exec ns1 ip addr add local 192.168.10.200/24 dev tap1

將 Bridge 以及所有 tap 狀態(tài)設(shè)置為 up:

# ip link set br1 up

# ip link set tap1_peer up

# ip netns exec ns1 ip link set tap1 up

相互進(jìn)行ip 互ping ,驗(yàn)證網(wǎng)絡(luò)連通:

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Docker深入淺出系列 | 單節(jié)點(diǎn)多容器網(wǎng)絡(luò)通信
036.Kubernetes集群網(wǎng)絡(luò)-K8S網(wǎng)絡(luò)模型及Linux基礎(chǔ)網(wǎng)絡(luò)
docker 之網(wǎng)絡(luò)配置
手工模擬實(shí)現(xiàn) Docker 容器網(wǎng)絡(luò)!
如何用100行實(shí)現(xiàn)Docker?
Docker基礎(chǔ)技術(shù):Linux Namespace(下) | 酷 殼
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服