Docker网络之Network Namespace

news2024/9/28 5:23:16

Docker网络中相关的命令非常少,但需要掌握的底层原理却又非常多。


1.Network Namespace

Docker网络底层原理是Linux的Network Namespace,所以说对于Linux Network Namespace的理解对Docker网络底层原理的理解就显得尤为重要了。

2.需求

通过手工的方式创建两个Network Namespace,并最终让它们相互互通,即可以通过ping命令测试成功。

在这里插入图片描述

3.创建两个命名空间

分别创建两个空间,命名为n1,和n2
在这里插入图片描述
因为每个网络空间都是独立的,所以每个Network Namespace都具有一个回环网络适配器io。

在这里插入图片描述
命令 ip netns exec ns1 ip a 是用于在指定的网络命名空间 “ns1” 中查看网络接口的配置信息。

  • ip a:显示网络接口的配置信息。
  • ip netns exec ns1:在网络命名空间 “ns1” 中执行命令。
  • 结果中的每一行显示一个网络接口的信息,包括接口名称、接口类型、MAC 地址和 IP 地址等。

获取网络命名空间 “ns1” 中网络接口的详细信息,包括接口名称、IP 地址、子网掩码、广播地址、MAC 地址等。

4.创建网络接口veth pair

  • 如果想要两个命名空间互通,则需要用到虚拟设备接口技术veth pair。 该技术需要一对网络接口分别置于两个命名空间中。

以下是具体的命令,用来创建veth-n1和veth-n2。
在这里插入图片描述
添加完成之后, 在通过ip link 命令查看当前网络的地址情况,可以看到新增了两个互通的veth pair。他们都具有mac地址,但是它们的状态都是DOWN,且都不具有IP。

在这里插入图片描述

5.命名空间添加veth接口

通过ip link set命令,将这两个网络接口分别分配给两个命名空间。

在这里插入图片描述
此时分别在两个命名空间中执行ip link命令,可以查看到,它们中分别新增了前面指定的一个网络接口。

在这里插入图片描述
此时在去看主机ip link , 就会发现之前的已经消失了~
·
在这里插入图片描述

6.为veth接口分配IP

前面创建的两个网络接口是没有IP的,需要通过命令,为每个指定的命名空间执行IP添加命令。

在这里插入图片描述
分配完之后再看~

== ip netns exec n1 ip a ==, 之后就能看到分配的ip地址了。
但是这个时候,状态还是为DOWN。

7.启动veth接口

使用命令开启ip link set dev 【接口】 up来启动指定的网络接口。

在这里插入图片描述

再去看的话就发现已经打开了。

在这里插入图片描述

8.相互ping

此时就可以完成我们当初提的需求了,互通~

在这里插入图片描述

9.总结

这个只是对Linux的Network Namespace的简单学习,Docker的网络知识不止于此。
仍需继续学习。


ok, 我已讲完。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/688329.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ICC2与INNOVUS命令对照表

ICC2与INNOVUS命令对照表 TargetICC2INNOVUS设置多CPU set_host_options -max_cores16 setMultiCpuUsage -localCpu 16 获得物体的属性 get_attribute

DSP,国产C2000横空出世,QX320F280049,替代TI 的 TMS320F280049,支持国产

一、特性参数 1、独立双核,32位CPU,单核主频400MHz 2、IEEE 754 单精度浮点单元 (FPU) 3、三角函数单元 (TMU) 4、1MB 的 FLASH (ECC保护) 5、1MB 的 SRAM (ECC保护&…

全网最全,Selenium自动化测试POM模式总结(详细)

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 在UI自动化测试中…

Python+Selenium+Unittest 之selenium7--元素定位6-CSS定位1(定位所有、定位class、定位id、tag定位)

目录 一、CSS简介 二、 定位方式 三、实践操作 1、*(定位所有元素) 2、. (定位class属性) 3、#(定位id属性) 4、tag定位 一、CSS简介 CSS属于是一种计算机语言,主要是用来为结构化文档的外…

软件测试期末速成(背题家出列!)

文章目录 一、前言二、选择题(15 X 2)1、概述2、相关概念3、黑盒测试4、白盒测试5、单元测试6、集成测试7、系统测试8、自动化测试9、实用软件测试技术 三、判断题(10 X 1’)四、简答题(4 X 5)1、软件测试生…

一文学会Nginx做图片服务器

Nginx做图片服务器 前言: Nginx是一个高性能的HTTP和反向代理web服务器,以及负载均衡器。根据nginx是高性能的http服务器,因此可以用作图片服务器使用。 本案例是在docker安装nginx来操作的。 什么是Nginx? Nginx是一款高性能的Web服务器和反向代理服…

linux入门之浅谈shell及权限的概念

文章目录 目录 文章目录 一、shell命令以及运行原理 二、linux权限的概念 1.Linux权限管理 a.文件访问者的分类(人) b.文件类型和访问权限 1)文件类型 2)基本权限 3)文件权限值的表示方法 4)文件访问权限的相…

docker快速部署oracle19c、oracle12c,测试环境问题复现demo快速搭建笔记

Oracle 19c测试环境快速搭建 安装 # 下载镜像 19.3.0.0.0 docker pull registry.cn-hangzhou.aliyuncs.com/laowu/oracle:19c # 创建文件 mkdir -p /mymount/oracle19c/oradata # 授权,不授权会导致后面安装失败 chmod 777 /mymount/oracle19c/oradatadocker run …

01背包思路解析+代码

01背包 题目链接:01背包 思路:题目要求是获取背包能装的最大重量。一个物品有体积和重量两个属性。而当我们判断一个物品是否要放进背包,第一取决于他的体积是否足以放进背包,第二取决于他的重量是否足以让我们取出已经放入的一部…

buuctf 你有没有好好看网课? 解析

打开文件得到两个压缩包,第一个压缩包flag2需要密码,第二个压缩包flag3打开后在备注可以获得提示 使用arc爆破,得到6位数字密码 解压压缩包得到一个视频和文档 文档内容包含6个数字,结合视频猜测是关键信息藏在这两个时间节点上 …

XSS注入——DOM型XSS

DOM型xss XSS根据恶意脚本的传递方式可以分为3种,分别为反射型、存储型、DOM型,前面两种恶意脚本都会经过服务器端然后返回给客户端,相对DOM型来说比较好检测与防御,而DOM型不用将恶意脚本传输到服务器在返回客户端,这…

如何优化Nginx服务进程(详细教程)

目录 一、了解Nginx服务配置内容 ① 外框架 ② 内框架 ③ 三个主模块 二、Nginx服务进程 访问信息的组成 Web服务的监听配置 LNMP架构 三、Nginx优化 隐藏版本号 可以查询指定地址的服务信息 更改配置文件内容 检查语法错误 重启服务 再次查看版本号是否隐藏 自…

【qiankun】前端微服务踩坑记录-长期更新

目录 前言 1.Cannot GET /cooperation/board 场景: 分析 解决 2.Invalid options in vue.config.js:"css.requireModuleExtension" is not allowed 原因 解决 3.less版本升级导致除法写法未转换 原因 解决 4.主子应用样式隔离 场景 解决 5…

Java进阶必读书单及博客

java基础 Java核心技术 卷I:开发基础(原书第12版) Java核心技术 卷II:高级特性(原书第12版) JVM 《深入理解Java虚拟机(第3版)》 并发 《Java并发编程实战》 《Java并发编程的艺术》 数据库 《MySQL技术…

win下安装Nginx

安装Nginx 前言 本文演示win11下安装Nginx-1.24.0。本文旨在记录安装流程以及梳理安装配置过程中的一些容易出错的地方。 目录 文章目录 前言目录下载Nginx安装包配置环境变量配置Nginx设置报错日志路径设置Nginx的启动端口号 启动Nginx 下载Nginx安装包 前往Nginx官方下载…

FineReport学习1

聚合报表是指将多个子报表数据进行集中汇总、分析和呈现的报表,通常用于展示公司的整体数据情况。聚合报表可以帮助管理人员和决策者更全面、准确地了解公司在不同维度上的业务情况,便于对公司业务进行分析和决策。 决策报表则是指根据决策需求构建的针…

性能测试——银行核心业务系统性能测试

目录 前言: 测试内容 测试方法 注意事项 总结: 前言: 本文讨论的是基于字符终端型的银行核心业务系统。银行核心业务系统由于其复杂的业务流程,以及特殊的终端字符形式,与一般的B/S结构、C/S结构系统有较大的差异&am…

Vue3新特性全预览

目录 自定义Hook函数 介绍 示例 toRef和toRefs 介绍 代码示例 shallowReactive和shallowRef(不常用只做了解) readonly与shallowReadonly(不常用只做了解) toRaw与markRaw(不太常用只做了解) provide与inject 介绍 代码示例 ​编辑 响应式数据的判断 Composition Api的…

QML Canvas 元素(渐变和阴影)

作者: 一去、二三里 个人微信号: iwaleon 微信公众号: 高效程序员 经过前面的 Canvas 学习,我们可以很容易地使用 strokeStyle 和 fillStyle 来设置图形的边框色和填充色,例如:“green”、“black” 等。其实除了使用纯色之外,我们还可以使用一些渐变色,如果你想让图形…

基于matlab使用卡尔曼滤波器进行对象跟踪(附源码)

一、前言 此示例演示如何使用对象和函数来跟踪对象。 二、介绍 卡尔曼滤波器有许多用途,包括控制、导航、计算机视觉和时间序列计量经济学方面的应用。此示例说明了如何使用卡尔曼滤波器跟踪对象,并重点介绍三个重要功能: 预测物体的未来位置…