为什么要引入命名空间?有哪些?
Linux系统是一个多用户操作系统,通常是服务器的操作系统。
服务器通常会运行很多服务,在其有限的资源下,必然会造成资源的争抢,可能导致整个服务器宕机。
需要找到一种方法来解决上面的问题,Linux便引入了命名空间机制(NameSpace)。
Linux包含PID(进程)、Network(网络)、Mount(挂载)、User(用户)、UTS(主机名)、IPC(进程间通信)等命名空间。
网络命名空间是什么?
Linux网络命名空间可以看成网络协议栈的副本,每个网络命名空间拥有独立的网络环境(回环设备、IPv4等)。
默认情况下,Linux提供init_net网络命名空间,网络协议栈和网络设备属于此命名空间。Linux也可支持用户自定义网络命名空间。
网络设备通过在其结构体中定义网络命名空间,来标识其属于某个网络命名空间。
用户如何自定义网络命名空间?
用户可以使用iproute2工具来自定义网络命名空间。
基础命令:
root@linux:/var/run# ip netns help
Usage: ip netns list # 列出网络命名空间
ip netns add NAME # 创建 NAME 命名空间
ip netns set NAME NETNSID # 分配网络命名空间id
ip [-all] netns delete [NAME] # 删除 NAME 命名空间
ip netns identify [PID] # 查看进程的网络命名空间
ip netns pids NAME # 查找使用 NAME 网络命名空间的进程
ip [-all] netns exec [NAME] cmd ... # 在 NAME 网络命名空间中执行命令CMD
ip netns monitor # 监控对网络命名空间的操作
ip netns list-id #
创建命名空间:
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的网卡信息,并设置为UP状态
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
测试回环口
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
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
服务器
+关注
关注
12文章
9342浏览量
86206 -
操作系统
+关注
关注
37文章
6905浏览量
123871 -
Linux系统
+关注
关注
4文章
596浏览量
27542
发布评论请先 登录
相关推荐
Linux基础知识
Linux基础知识
硬盘 硬盘是可以存储大量信息资源的媒介。我们平时看到的硬盘是方方正正的一块挺沉的铁匣子,但是其实硬盘是圆的,加上一些控制电路以后,为了便于
发表于 01-18 09:57
•496次阅读
Linux驱动编程基础知识讲解
由于Linux驱动编程的本质属于Linux内核编程,因此我们非常有必要熟悉Linux内核以及Linux内核的特点。 这篇文章将会帮助读者打下Linu
评论