码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 容器技术涉及linux内核关键技术


    目录

    一.容器技术的前世今生

    二.Namespace

    1.NameSpace介绍

    2.linux系统中的NameSpace分类

    三.NameSpace 应用案例

     相关命令

    1.创建net命名空间

    2.删除net命名空间

    3.在net命名空间中执行命令

    4.查看已经创建的网络命名空间

    5.退出当前的net命名空间

    6.在net命名空间中执行查看网络连接(网卡)命令

    7.在命名空间中查看防火墙规则

    8.在命名空间中查看路由器表

    9.创建虚拟网卡(同时创建一对虚拟网卡)

    10.迁移虚拟网卡到命名空间中

    11.在linux系统中查看命名空间中的网络

    12.从命名空间中迁出虚拟网卡

    13.配置虚拟网卡ip地址

    14.启动虚拟网卡

    15.给物理机的虚拟网卡配置ip地址

    16 ping一下aaaa中的ip


    一.容器技术的前世今生

    从1979年的chroot到2013年的docker

    二.Namespace

    1.NameSpace介绍

    利用命名空间来隔离进程 

    2.linux系统中的NameSpace分类

    命名空间分六类:进程命名空间,网络命名空间,IPC命名空间,挂载命名空间,UTS命名空间,用户命名空间

      

    三.NameSpace 应用案例

     相关命令

    1.创建net命名空间

    1. ip netns add aaaa 
    2. #创建一个名为aaaa的命名空间

    2.删除net命名空间

    1. ip netns delete aaaa
    2. 删除已创建的网络命名空间aaaa

    3.在net命名空间中执行命令

    1. ip netns exec aaaa bash
    2. 在网络命名空间中执行bash命令,如果想退出,需要使用exit

    4.查看已经创建的网络命名空间

    ip netns ls

    5.退出当前的net命名空间

    exit

    6.在net命名空间中执行查看网络连接(网卡)命令

    1. ip link 
    2. 在linux主机中则需要输入 ip netns exec aaaa ip link list

    7.在命名空间中查看防火墙规则

    iptables -t nat -nl

    8.在命名空间中查看路由器表

    1. route -n 
    2. linux主机中就是 ip netns exec aaaa route -n

    9.创建虚拟网卡(同时创建一对虚拟网卡)

    ip link add veth0 type veth peer name veth1

    type veth 说明veth0网卡类型是虚拟以太网网卡

    peer name 伙伴名

    eth以太网;v代表virtual,虚拟

    在物理机上查看: ip a s 

    10.迁移虚拟网卡到命名空间中

    这两个网卡都还属于 "default"或"global"命名空间,和物理网卡一样。把其中一个网卡转移到命名空间aaaa中

    ip link set veth1 netns aaaa (把创建的veth1网卡添加到aaaa网络命名空间中)

    11.在linux系统中查看命名空间中的网络

    ip netns exec aaaa ip link 

    12.从命名空间中迁出虚拟网卡

    linux命令行中: ip netns exec aaaa ip link delete veth1

    当删除命名空间中的虚拟网卡时,会将物理机中的的虚拟网卡一起干掉

    就是 veth0 和 veth1 一起被删除

    13.配置虚拟网卡ip地址

    1. ip netns exec aaaa ip addr add 192.168.50.2/24 dev veth1
    2. 在linux中查看网络状态:ip netns exec aaaa ip addr

    在虚拟网卡配置ip后,还是属于down状态,需要启动后才能用 

    14.启动虚拟网卡

    1. ip netns exec aaaa ip link set veth1 up
    2. ip netns exec aaaa ip link set lo up

    此时,物理机中的虚拟网卡还是没有地址,因此需要给物理机的虚拟网卡配一下地址

    15.给物理机的虚拟网卡配置ip地址

    1. ip addr add 192.168.50.3/24 dev veth0
    2. 查看状态
    3. ip a s veth0
    4. 启动
    5. ip link set veth0 up

    16 ping一下aaaa中的ip

    ping 192.168.50.2

    此时的命名空间aaaa,只能访问192.168.50.0/24这个网段如果需要访问物理机中所有的网段,需要添加下默认路由条目(跟fq有点像)

    ip netns exec aaaa ip route add default via 192.168.50.3

     将 192.168.50.3作为默认网关,来进行转发数据包

  • 相关阅读:
    计算机毕业设计家校通微信小程序源码
    CTFshow,信息搜集:web4
    NISP二级考试内容是什么?
    Rust有没有信号量机制,在缓存有数据的时候才允许等待的进程取数据?
    性格孤僻的原因和改善方法
    anaconda、python卸载后重装以及anaconda--443
    用numpy生成18种特殊数组
    usb hid协议简明简介及使用
    【NodeJS编辑出现版本错误:is incompatible with this module】
    记一次坎坷的调试|Mosquitto通过TLS连接EMQ时阻塞的问题
  • 原文地址:https://blog.csdn.net/qq_44418229/article/details/126915471
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号