為什么要引入命名空間?有哪些?
Linux系統(tǒng)是一個(gè)多用戶操作系統(tǒng),通常是服務(wù)器的操作系統(tǒng)。
服務(wù)器通常會(huì)運(yùn)行很多服務(wù),在其有限的資源下,必然會(huì)造成資源的爭(zhēng)搶,可能導(dǎo)致整個(gè)服務(wù)器宕機(jī)。
需要找到一種方法來解決上面的問題,Linux便引入了命名空間機(jī)制(NameSpace)。
Linux包含PID(進(jìn)程)、Network(網(wǎng)絡(luò))、Mount(掛載)、User(用戶)、UTS(主機(jī)名)、IPC(進(jìn)程間通信)等命名空間。
網(wǎng)絡(luò)命名空間是什么?
Linux網(wǎng)絡(luò)命名空間可以看成網(wǎng)絡(luò)協(xié)議棧的副本,每個(gè)網(wǎng)絡(luò)命名空間擁有獨(dú)立的網(wǎng)絡(luò)環(huán)境(回環(huán)設(shè)備、IPv4等)。
默認(rèn)情況下,Linux提供init_net網(wǎng)絡(luò)命名空間,網(wǎng)絡(luò)協(xié)議棧和網(wǎng)絡(luò)設(shè)備屬于此命名空間。Linux也可支持用戶自定義網(wǎng)絡(luò)命名空間。
網(wǎng)絡(luò)設(shè)備通過在其結(jié)構(gòu)體中定義網(wǎng)絡(luò)命名空間,來標(biāo)識(shí)其屬于某個(gè)網(wǎng)絡(luò)命名空間。
用戶如何自定義網(wǎng)絡(luò)命名空間?
用戶可以使用iproute2工具來自定義網(wǎng)絡(luò)命名空間。
基礎(chǔ)命令:
root@linux:/var/run# ip netns help
Usage: ip netns list # 列出網(wǎng)絡(luò)命名空間
ip netns add NAME # 創(chuàng)建 NAME 命名空間
ip netns set NAME NETNSID # 分配網(wǎng)絡(luò)命名空間id
ip [-all] netns delete [NAME] # 刪除 NAME 命名空間
ip netns identify [PID] # 查看進(jìn)程的網(wǎng)絡(luò)命名空間
ip netns pids NAME # 查找使用 NAME 網(wǎng)絡(luò)命名空間的進(jìn)程
ip [-all] netns exec [NAME] cmd ... # 在 NAME 網(wǎng)絡(luò)命名空間中執(zhí)行命令CMD
ip netns monitor # 監(jiān)控對(duì)網(wǎng)絡(luò)命名空間的操作
ip netns list-id #
創(chuàng)建命名空間:
root@linux:/var/run# ip netns add netns0
root@linux:/var/run# ip netns list
netns0
命名空間文件在/var/run/netns/目錄下
root@linux:/var/run# ls /var/run/netns/
netns0
查看netns0的網(wǎng)卡信息,并設(shè)置為UP狀態(tài)
root@linux:/var/run# ip netns exec netns0 ip addr
1: lo: mtu 65536 qdisc noop state DOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
測(cè)試回環(huán)口
root@linux:/var/run# ip netns exec netns0 ping 127.0.0.1
PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.069 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.041 ms
64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.039 ms
64 bytes from 127.0.0.1: icmp_seq=4 ttl=64 time=0.039 ms
^C
--- 127.0.0.1 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3074ms
rtt min/avg/max/mdev = 0.039/0.047/0.069/0.012 ms
-
服務(wù)器
+關(guān)注
關(guān)注
12文章
9425瀏覽量
86494 -
操作系統(tǒng)
+關(guān)注
關(guān)注
37文章
6941瀏覽量
124155 -
Linux系統(tǒng)
+關(guān)注
關(guān)注
4文章
599瀏覽量
27742
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論