Docker网络

news2024/12/28 19:43:02

网络基础知识

网络相关命令

查看Linux中的网卡

  1. [root@localhost ~]# ip link show
  2. [root@localhost ~]# ls /sys/class/net
  3. [root@localhost ~]# ip a

状态: UP、DOWN、UNKNOW
link/ether:MAC地址
inet:该网卡绑定的IPv4地址

[root@localhost ~]# ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
    link/ether 00:0c:29:43:ed:74 brd ff:ff:ff:ff:ff:ff
3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT group default 
    link/ether 02:42:60:35:29:a1 brd ff:ff:ff:ff:ff:ff
[root@localhost ~]# ls /sys/class/net
docker0  ens33  lo
[root@localhost ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:43:ed:74 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.104/24 brd 192.168.1.255 scope global ens33
       valid_lft forever preferred_lft forever
    inet6 2409:8a70:1062:aa70:20c:29ff:fe43:ed74/64 scope global mngtmpaddr dynamic 
       valid_lft 247096sec preferred_lft 160696sec
    inet6 fe80::20c:29ff:fe43:ed74/64 scope link 
       valid_lft forever preferred_lft forever
3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default 
    link/ether 02:42:60:35:29:a1 brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
       valid_lft forever preferred_lft forever
[root@localhost ~]#

网卡对应的配置文件

网卡对应配置文件目录:/etc/sysconfig/network-scripts/

以ifcfg-ens33为例

[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens33 
TYPE="Ethernet"                        # 表示接口类型:Ethernet-以太网,Bridge-桥接接口
PROXY_METHOD="none"                    
BROWSER_ONLY="no"      
BOOTPROTO="static"                    # 网卡类型:dhcp-动态 static-静态 none-固定
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="46d7dee9-2fae-4f9d-b695-22e96afc984c"
DEVICE="ens33"                        # 网卡名称
ONBOOT="yes"                          # 开机或重启网卡时,是否启用该网卡

IPADDR="192.168.1.104"
NETMASK="255.255.255.0"               # 子网掩码
DNS1="192.168.1.1"                    # DNS 地址
GATEWAY="192.168.1.1"                 # 网关

Network Namespace

在linux中,网络的隔离是通过network namespace来管理,不同的network namespace是相互隔离的。

ip netns list                 查看network namespace
ip netns add ns2         添加network namespace ns2
ip netns delete ns3         删除ns3
ip netns exec ns1 ip a         查看namesapce ns1下的网卡情况
ip netns exec ns1 ifup lo         启动namespace ns1
ip netns exec ns1 ip link set lo up        启动namespace ns1

veth pair

不同Namespace下的网络是不互通的

veth pair: virtual ethernet pair, 这是一个成对的端口,可以实现不同命名空间下的网络互通功能。

第一步:首先创建一个成对的veth pair

[root@localhost ~]# ip link add veth-ns1 type veth peer name veth-ns2

第二步:将这对veth pair放到对应的网络空间

[root@localhost ~]# ip link set veth-ns1 netns ns1
[root@localhost ~]# ip link set veth-ns2 netns ns2

设置后可以发现原来的网络下已经没有这两个网卡了

发现网络空间ns1和ns2下分别多了一个网卡

第三步:给网络空间下的veth添加 ip 地址

[root@localhost ~]# ip netns exec ns1 ip addr add 192.168.1.11/24 dev veth-ns1
[root@localhost ~]# ip netns exec ns2 ip addr add 192.168.1.12/24 dev veth-ns2

第四步:启动网络空间

[root@localhost ~]# ip netns exec ns1 ip link set veth-ns1 up
[root@localhost ~]# ip netns exec ns2 ip link set veth-ns2 up
[root@localhost ~]# ip netns exec ns1 ip a

第五步:ping测试,发现可以彼此互通

[root@localhost ~]# ip netns exec ns1 ping 192.168.1.12

[root@localhost ~]# ip netns exec ns2 ping 192.168.1.11

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

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

相关文章

Python和MySQL对比(1):用Pandas 实现MySQL语法效果

文章目录一、前言二、语法对比数据表SELECTASWHEREDISTINCTGROUP BYORDER BYHAVINGLIMIT三、小结一、前言 环境&#xff1a; windows11 64位 Python3.9 MySQL8 pandas1.4.2 本文主要介绍 MySQL 中的关键字&#xff1a;SELECT、AS、WHERE、DISTINCT、GROUP BY、ORDER BY、HAVING…

文献检索

文献检索第一篇检索作业总结第一章检索任务1.1检索课题1.2确定选题所属学科1.3中英文检索词第二章检索策略与结果2.1检索中文期刊文献2.1.1 CNKI中国期刊全文数据库2.1.2 维普期刊全文数据库2.1.3 万方期刊数据库2.1.4 超星期刊全文2.2检索中文学位论文2.2.1 CNKI博硕学位论文数…

Java项目:SpringBoot美容院后台管理系统

作者主页&#xff1a;源码空间站2022 简介&#xff1a;Java领域优质创作者、Java项目、学习资料、技术互助 文末获取源码 项目介绍 本项目为美容院后台管理系统&#xff0c; 操作员包含以下功能&#xff1a;操作员登陆,操作员首页,会员列表,添加会员,添加美容产品,购买商品,添…

YOLOV7学习记录之mAP计算

如何评估一个训练好模型的好坏&#xff0c;是目标检测中一个很重要的因素&#xff0c;如常见的TP、FP、AP、PR、map等 TP、FP、TN、FN TP&#xff1a;被正确分类为正样本的数量&#xff1b;实际是正样本&#xff0c;也被模型分类为正样本 FP&#xff1a;被错误分类为正样本的…

Node.js - 数据库与身份认证

文章目录目标一、数据库的基本概念1、什么是数据库2、常见的数据库及分类3、传统型数据库的数据组织结构&#xff08;1&#xff09;Excel 的数据组织结构&#xff08;2&#xff09;传统型数据库的数据组织结构&#xff08;3&#xff09;实际开发中库、表、行、字段的关系二、安…

RV1126笔记十二:实现RTMP多路拉流

若该文为原创文章,转载请注明原文出处。 一、介绍 通过RV1126实现RTMP的多路拉流,并在屏幕上显示出来,这里涉及到ffmpeg几个重要知识点,和RV1126如何在屏幕分屏显示。 二、流程图 流程和单路拉流类似,这里只是涉及拉取后的图像需要解码缩放,在合成分屏显示出来。 具…

阳过→阳康,数据里的时代侧影;谷歌慌了!看各公司如何应对ChatGPT;两份优质AI年报;本周技术高光时刻 | ShowMeAI每周通讯 #003-12.24

这是ShowMeAI每周通讯的第3期。通讯聚焦AI领域本周热点&#xff0c;及其在各圈层泛起的涟漪&#xff1b;关注AI技术进步&#xff0c;并提供我们的商业洞察。欢迎关注与订阅&#xff01; 本周在 CSDN 积极答题一路升到 Top2&#xff0c;被系统误判为 ChatGPT 机器人X﹏X 可见压力…

自动化测试-Cypress快速入门

cypress介绍 一个前端自动化测试工具不同于其他只能测试 UI 层的前端测试工具&#xff0c;Cypress 允许编写所有类型的测试&#xff0c;覆盖了测试金字塔模型的所有测试类型**【界面测试&#xff0c;集成测试&#xff0c;单元测试】**Cypress 测试代码和应用程序均运行在由 Cy…

拦截器与过滤器

什么是过滤器 过滤器 Filter 基于 Servlet 实现&#xff0c;过滤器的主要应用场景是对字符编码、跨域等问题进行过滤。Servlet 的工作原理是拦截配置好的客户端请求&#xff0c;然后对 Request 和 Response 进行处理。Filter 过滤器随着 web 应用的启动而启动&#xff0c;只初…

电商订单对接系列-第1章-整体设计

背景 电商行业在处理订单的业务时&#xff0c;初创一般是直接通过电商后台导出表格&#xff0c;然后根据其来跟进进销存。在单量到了一定规模时&#xff0c;业务场景会变得复杂&#xff0c;如促销套餐&#xff0c;拆单&#xff0c;合单等&#xff0c;一般会购买市面上的…

Android -- 每日一问:介绍一下你经常浏览的 Android 技术网站

经典回答 做为一个合格的 Android 开发者&#xff0c;我想官方的 developer 站点是必上的&#xff0c;有什么网站能比官方更全面和权威呢。而且 Android Developer 站点上还有很多指导性的文章写得很不错&#xff0c;也不用担心英文不好&#xff0c;因为基本上官方都翻译了中文…

一文轻松图解搞懂Elasticsearch原理!

ES 的集群模式和 kafka 很像&#xff0c;kafka 又和 redis 的集群模式很像。总之就是相互借鉴&#xff01; 不管你用没用过 ES&#xff0c;今天我们一起聊聊它。就当扩展大家的知识广度了&#xff01; 认识倒排索引 「正排索引 VS 倒排索引&#xff1a;」 正排索引 VS 倒排索…

【PyTorch深度学习项目实战100例】—— 基于FastText实现情感二分类任务 | 第78例

前言 大家好,我是阿光。 本专栏整理了《PyTorch深度学习项目实战100例》,内包含了各种不同的深度学习项目,包含项目原理以及源码,每一个项目实例都附带有完整的代码+数据集。 正在更新中~ ✨ 🚨 我的项目环境: 平台:Windows10语言环境:python3.7编译器:PyCharmPy…

【Pandas入门教程】如何重塑表格布局

如何重塑表格布局 来源&#xff1a;Pandas官网&#xff1a;https://pandas.pydata.org/docs/getting_started/intro_tutorials/index.html 笔记托管&#xff1a;https://gitee.com/DingJiaxiong/machine-learning-study 文章目录如何重塑表格布局导包数据准备【1】对表行进行排…

3.11.1、虚拟局域网 VLAN 概述

以太网交换机工作在数据链路层&#xff08;也包括物理层) 使用一个或多个以太网交换机互连起来的交换式以太网&#xff0c;其所有站点都属于同一个广播域。 随着交换式以太网规模的扩大&#xff0c;广播域相应扩大。 巨大的广播域会带来很多弊端: 广播风暴难以管理和维护潜在…

LVGL学习笔记2 - 对象

目录 1. 创建对象 2. 设置大小 3. 设置位置 4. 设置对齐方式 5. 对象的父子关系 6. 其他 前面的例子中&#xff0c;一个矩形创建都是用到obj的函数&#xff0c;obj即是指对象。LVGL的基本要素是对象&#xff0c;实现了屏幕上组件的基本属性&#xff0c;包括大小、坐标、父…

SQLite数据库-学生管理系统(2.0)

SQLite数据库-学生管理系统 1.要求 布局文件 --------View层Activity文件---------Controller层Helper文件&#xff1a;建立数据库和表&#xff0c;版本更新Dao层&#xff1a;对数据库表中数据增删改查操作Entity&#xff1a;数据库在项目中的类&#xff0c;主要用于定义与数据…

短视频创业:大部分人都误解了豆荚的作用,掌握正确方法你就悟了

短视频&#xff0c;豆荚是避不过的功能&#xff0c;那么豆荚的作用和要不要投豆荚呢&#xff1f; 对于一般人来说&#xff0c;可能会觉得那投豆荚就是向买粉丝、买播放量、买数据的这么一个付费工具 对于一个专业的短视频运营来说&#xff0c;它其实是一个撬动自然流量的工具…

GROMACS模拟分析-自由能形貌图的绘制

自由能形貌&#xff08;free energy landscape&#xff0c;FEL&#xff09;表征了模拟过程中蛋白质的自由能变化。自由能形貌图一般通过两个描述体系特征的量来进行绘制&#xff0c;例如RMSD和Rg&#xff0c;也有文献中用主成分分析PC1和PC2绘制。本文以RMSD和Rg两个特征量绘制…

C++ 实现字符串查找 KMP算法

前言 众所周知&#xff0c;字符串查找的应用范围非常广&#xff0c;网页上有各式各样的浏览器搜索&#xff0c;再到编程需要的vsCode或vsStudio都自带了搜索功能&#xff1b;一个查找算法的优劣可以直接影响用户的搜索体验如何但鉴于暴力搜索算法的O(m * n)复杂度&#xff0c;…