首页 > 系统相关 >linux实现namespace间通信

linux实现namespace间通信

时间:2024-05-21 11:08:10浏览次数:28  
标签:ip namespace ns1 veth 间通信 linux netns ns2

一 目的

linux实现两个namespace间通信

 

二 操作

1. 逻辑

①创建两个namespace
②创建一对网络接口
③给每个namespace分配网络接口
④每个namespace设置ip,激活网卡
⑤测试两个namespace能否通信

 

 三 资料

Network namespace是linux内核提供的用于实现网络虚拟化的重要功能,能创建多个隔离的网空间,每个网络空间的防火墙,网卡,路由表,邻居表,协议栈,都是独立的。

# 创建命名空间
ip netns add ns1 
# 查看命名空间
ip netns list
# 删除命令空间
ip netns delete ns1
# 进入命名空间,执行命令
ip netns exec ns1 ip a

# 给网口分配ip
ip netns exec ns1 ip addr add 192.168.1.1/24 dev veth-ns1
ip netns exec ns2 ip addr add 192.168.1.2/24 dev veth-ns2

# 激活网卡
ip netns exec ns1 ip link set dev veth-ns1 up
ip netns exec ns2 ip link set dev veth-ns2 up
veth pair虚拟设备接口技术,该技术需要一对网络接口,分别置于两个命名空间中

# 创建一对儿网络接口
ip link add veth-ns1 type veth peer name veth-ns2

# 把网络接口分配给网络空间
ip link set veth-ns1 netns ns1
ip link set veth-ns2 netns ns2 

 

标签:ip,namespace,ns1,veth,间通信,linux,netns,ns2
From: https://www.cnblogs.com/qxAndWorld/p/18203552

相关文章

  • windows cmd拉取linux文件夹下的文件,并解压
    前言:nginx静态文件从linux文件夹下拉取,然后放到windows下,并且解压 需要安装putty,用pscp命令del-pull.bat文件,负责删除本地文件夹下所有文件,并且拉取数据@echooffsetlocalsetFOLDER_PATH=C:\Users\admin\Desktop\yaya_nginx\web\echoDeletingfilesinfolder...rm......
  • 关于Linux OpenSSH登录的问题
    OpenSSH由7.6升级到8.2和9.0之后用密码登录登不上去了,提供以下思路:1、7.6之前的版本SSH启动路径为/usr/local/sbin/sshd,7.6之后的版本启动路径为/usr/sbin/sshd,控制启动文件为vi/etc/rc.d/init.d/sshd 2、检查SSH服务的配置文件 /etc/ssh/sshd_config。确保没有设置 Passwo......
  • mit6.828笔记 - lab4 Part C:抢占式多任务和进程间通信(IPC)
    PartC:抢占式多任务和进程间通信(IPClab4到目前为止,我们能够启动多个CPU,让多个CPU同时处理多个进程。实现了中断处理,并且实现了用户级页面故障机制以及写时复制fork。但是,我们的进程调度不是抢占式的,现在每个进程只有在发生中断的时候,才会被调度(调用shed_yeild),这样就有可能会有......
  • Linux 中 如何判断每一行的数据都是相同的
     001、Linux中如何判断每一行的数据都是相同的 [root@PC1test2]#lsa.txt[root@PC1test2]#cata.txt##测试数据aabbccaabbccaabbccaakkccaabbccaabbcc[root@PC1test2......
  • linux配置 CentOS安装
    CentOS7安装安装镜像安装镜像完成、配置网卡find/-nameifcfg-ens33找到ifcfg-ens33文件配置ip配置动态ip修改ONBOOT=YES此时为自动获取ip配置静态ip需要在底下添加四行重启网络systemctlrestartnetwork,此时可以ping通外部网络安装图形化界面yumgrou......
  • linux用户组相关操作
    建新用户adduserusername//新建用户passwdusername//给user设置密码建工作组groupaddtest//建立test工作组新建用户的同时增加工作组useradd-gtestusername//新建user并添加到test组给已有用户增加工作组usermod-Ggroupnameusername或者gpasswd-ausergro......
  • linux 数据库安装配置
    如果有原来的数据库,需要先卸载摘自https://blog.csdn.net/weixin_50367873/article/details/134551859,本文通过yum安装mysql,如需离线安装mysql,查看原文1.检查是否有mariadb存在,centos默认自带 psajx|grepmariadb查找是否存在 systemctlstopmariadb.service停止服务......
  • [转帖]Linux内存管理基本概念
    最近在学习Linux系统的内存管理,小白一枚,零散从网上收集的一些笔记如下:/proc目录提供了很多工具给我们查看当前内存情况1./proc/meminfo是什么$cat/proc/meminfoMemTotal:2052440kB//总内存MemFree:50004kB//空闲内存Buffers:19976kB/......
  • Linux中查看yum安装的jdk位置
    Linux中查看yum安装的jdk位置第一步which指令会在环境变量$PATH设置的目录里查找符合条件的文件。whichjava第二步获取对应的文件/etc/alternatives/java[root@192local]#ls-lr/usr/bin/java第三步ls-lrt/etc/alternatives/java#t:将按照修改时间排序,最新的......
  • netcore6 发布到linux centos7 踩坑记录
    具体dotnet6部署的过程,用守护进程。参考:https://blog.csdn.net/qq_45602658/article/details/129299814还有解决出现dotnet:/lib64/libstdc++.so.6:versionGLIBCXX_3.4.21'notfound(requiredbydotnet)dotnet:/lib64/libstdc++.so.6:未找到版本GLIBCXX_3.4.21(dot......