久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

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

 拿破侖小子 2018-08-29

namespace

前言

namespace是Linux虛擬網(wǎng)絡(luò)的一個(gè)重要概念,,傳統(tǒng)的Linux的許多資源是全局的,如果進(jìn)程id資源,。而namespace的目的首先就是講這些資源做資源隔離,。Linux可以在一個(gè)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ò)信息)。

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

命令實(shí)操

Linux 操作namespace的命令是ip netns。

# ip netns help

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

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

# ip netns list

# ip netns add ns_test

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

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

# tunctl -t tap_test

# ip addr add local 10.0.0.190/24 dev tap_test

# ip a show

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

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

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

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

# ip link set tap_test netns ns_test

# ip netns exec ns_test ip a s

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

veth pair

前言

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

簡(jiǎn)單的拓?fù)鋱D:

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

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

命令實(shí)操

創(chuàng)建 veth pair:

# ip link add tap1 type veth peer name tap2

# ip a s

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

創(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

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

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

# ip netns exec ns1 ping 192.168.10.201

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

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

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

Bridge

前言

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

命令實(shí)操

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

# yum -y install bridge-utils

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

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

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

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

命令操作:

# 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

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

創(chuàng)建namespace:

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

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

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

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

# brctl addbr br1

# ip a s | grep br1

# brctl addif br1 tap1_peer

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

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

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

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

將 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

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

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

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

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

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多