网站首页 > 博客文章 正文
一、Namespace核心原理
- 隔离类型
Linux支持6种Namespace:
- PID:隔离进程ID,不同Namespace的进程可拥有相同PID。
- Network:隔离网络设备、IP地址、端口等。
- Mount:隔离文件系统挂载点。
- UTS:隔离主机名和域名。
- IPC:隔离进程间通信资源(如消息队列)。
- User:隔离用户和组ID。
- 实现机制
通过clone()系统调用创建新Namespace,配合unshare()或setns()动态调整。内核为每个Namespace维护独立数据结构(如struct pid_namespace)。
二、典型示例分析
案例1:PID Namespace隔离
# 创建新PID Namespace
unshare --pid --fork /bin/bash
echo $ # 显示新Namespace中的PID(可能仍为原值,需配合/proc)
ps aux # 仅显示当前Namespace内的进程
原理:子进程的PID从1开始计数,父Namespace无法直接访问子Namespace的进程。
案例2:Network Namespace
# 创建隔离的网络环境
ip netns add ns1
ip netns exec ns1 ip link show # 仅显示ns1内的网络设备
原理:每个Namespace拥有独立的网络协议栈、路由表和防火墙规则。
案例3:Mount Namespace
unshare --mount --fork /bin/bash
mount --bind /tmp /mnt # 仅影响当前Namespace
原理:文件系统挂载点变更不会传播到其他Namespace。
三、应用场景
- 容器技术:Docker利用Namespace实现进程、网络等资源的隔离。
- 安全沙箱:限制进程访问范围,如systemd服务单元。
- 开发测试:快速构建隔离的测试环境。
猜你喜欢
- 2025-08-06 nginx 反向代理
- 2025-08-06 跨表插入连续的日期,sheetsname函数#excel技巧
- 2025-08-06 初中生也能学的编程,不走弯路,先用后学
- 2025-08-06 find命令的“七种武器”:远不止-name和-type
- 2025-08-06 恶意代码常见的编程方式
- 2025-08-06 kali2021ping 外网不通
- 2025-08-06 因为一个函数strtok踩坑,我被老工程师无情嘲笑了
- 2025-08-06 hadoop集群搭建详细方法
- 2025-08-06 Redis安装和开机自启,看这一篇就够了
- 2025-08-06 Linux Namespace原理
你 发表评论:
欢迎- 08-06nginx 反向代理
- 08-06跨表插入连续的日期,sheetsname函数#excel技巧
- 08-06初中生也能学的编程,不走弯路,先用后学
- 08-06find命令的“七种武器”:远不止-name和-type
- 08-06恶意代码常见的编程方式
- 08-06kali2021ping 外网不通
- 08-06因为一个函数strtok踩坑,我被老工程师无情嘲笑了
- 08-06hadoop集群搭建详细方法
- 最近发表
- 标签列表
-
- ifneq (61)
- 字符串长度在线 (61)
- googlecloud (64)
- powershellfor (73)
- messagesource (71)
- plsql64位 (73)
- vueproxytable (64)
- npminstallsave (63)
- #NAME? (61)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- nacos启动失败 (64)
- ssh-add (70)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- qcombobox样式表 (68)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)