linux-vlan
# VLAN
# 1.topo
# 2.创建命名空间
ip netns add ns1
ip netns add ns2
ip netns add ns3
# 3.创建veth设备
ip link add ns1-veth0 type veth peer name ns21-veth0
ip link add ns3-veth0 type veth peer name ns23-veth0
# 4.veth设备放入命名空间,启动接口
ip link set ns1-veth0 netns ns1
ip link set ns3-veth0 netns ns3
ip -netns ns1 link set ns1-veth0 up
ip -netns ns3 link set ns3-veth0 up
ip link set ns21-veth0 netns ns2
ip link set ns23-veth0 netns ns2
ip -netns ns2 link set ns21-veth0 up
ip -netns ns2 link set ns23-veth0 up
# 5.创建br0,添加接口到br0
ip netns exec ns2 brctl addbr br0
ip netns exec ns2 ip link set br0 up
ip netns exec ns2 brctl addif br0 ns21-veth0
ip netns exec ns2 brctl addif br0 ns23-veth0
# 6.创建vlan
## 6.1.创建ns1 vlan
ip netns exec ns1 ip link add link ns1-veth0 name ns1-veth0.100 type vlan id 100
ip netns exec ns1 ip link set dev ns1-veth0.100 up
ip netns exec ns1 ip link add link ns1-veth0 name ns1-veth0.200 type vlan id 200
ip netns exec ns1 ip link set dev ns1-veth0.200 up
## 6.2.创建ns2 vlan
ip netns exec ns2 ip link add link ns21-veth0 name ns21-veth0.100 type vlan id 100
ip netns exec ns2 ip link set dev ns21-veth0.100 up
ip netns exec ns2 ip link add link ns21-veth0 name ns21-veth0.200 type vlan id 200
ip netns exec ns2 ip link set dev ns21-veth0.200 up
ip netns exec ns2 ip link add link ns23-veth0 name ns23-veth0.100 type vlan id 100
ip netns exec ns2 ip link set dev ns23-veth0.100 up
ip netns exec ns2 ip link add link ns23-veth0 name ns23-veth0.200 type vlan id 200
ip netns exec ns2 ip link set dev ns23-veth0.200 up
## 6.3.创建ns3 vlan
ip netns exec ns3 ip link add link ns3-veth0 name ns3-veth0.100 type vlan id 100
ip netns exec ns3 ip link set dev ns3-veth0.100 up
ip netns exec ns3 ip link add link ns3-veth0 name ns3-veth0.200 type vlan id 200
ip netns exec ns3 ip link set dev ns3-veth0.200 up
# 7.添加子接口到br0
ip netns exec ns2 brctl addif br0 ns21-veth0.100
ip netns exec ns2 brctl addif br0 ns21-veth0.200
ip netns exec ns2 brctl addif br0 ns23-veth0.100
ip netns exec ns2 brctl addif br0 ns23-veth0.200
# 8.配置地址
ip -netns ns1 addr add 1.1.1.11/24 dev ns1-veth0.100
ip -netns ns1 addr add 1.1.1.12/24 dev ns1-veth0.200
ip -netns ns3 addr add 1.1.1.31/24 dev ns3-veth0.100
ip -netns ns3 addr add 1.1.1.32/24 dev ns3-veth0.200
# 9.测试
# 9.1测试1
ip netns exec ns1 ping -c 3 -W 1 1.1.1.31 -I ns1-veth0.100
ip netns exec ns1 ping -c 3 -W 1 1.1.1.31 -I ns1-veth0.200
为什么走不同的vlan都可以ping通1.1.1.31?
# 9.2测试2
ip netns exec ns1 ping -W 1 1.1.1.31 -I ns1-veth0.100
ip netns exec ns2 tcpdump -i ns21-veth0 -e
ip netns exec ns2 tcpdump -i ns23-veth0 -e
ip netns exec ns2 tcpdump -i br0 -e
ns1通过ns1-veth0.100 ping 1.1.1.31时,ns21-veth0和ns23-veth0 vlan id都是100,br0不带vlan id。
# 9.3测试3
ip netns exec ns1 ping 3 -W 1 1.1.1.31 -I ns1-veth0.200
ip netns exec ns2 tcpdump -i ns21-veth0 -e
ip netns exec ns2 tcpdump -i ns23-veth0 -e
ip netns exec ns2 tcpdump -i br0 -e
ns1通过ns1-veth0.200 ping 1.1.1.31时,ns21-veth0是vlan id是200,ns23-veth0 vlan id是100,br0不带vlan id。
为什么带不同的vlan id都可以ping通1.1.1.31?
# 9.4测试4
ping 1 1.1.1.32 为什么指定ns23-veth0、ns23-veth0.100、ns23-veth0.200都不行,只能指定br0?
# 10.删除
ip netns del ns1
ip netns del ns2
ip netns del ns3
# 11.参考
VLAN - ArchWiki
相关文章:
linux-vlan
# VLAN # 1.topo # 2.创建命名空间 ip netns add ns1 ip netns add ns2 ip netns add ns3 # 3.创建veth设备 ip link add ns1-veth0 type veth peer name ns21-veth0 ip link add ns3-veth0 type veth peer name ns23-veth0 # 4.veth设备放入命名空间,启动接口 ip link set n…...
前端跨域~简述
前言 :绿蚁新醅酒,红泥小火炉 第一:前端跨域(粗谈概念) 1. 疑惑 当前端请求后端接口不通,浏览器控制台出现类似信息,则需要解决跨域 Access to XMLHttpRequest at ‘http://47.100.214.160:10…...
GIN:逼近WL-test的GNN架构
Introduction 在 图卷积网络GCN 中我们已经知道图神经网络在结点分类等任务上的作用,但GIN(图同构神经网络)给出了一个对于图嵌入(graph embedding)更强的公式。 GIN,图同构神经网络,致力于解…...
NIST密码学未来展望:Naughty Step 上的 SHA-1、3DES 和 SHA-224
1. 引言 NIST 几十年来一直致力于推动密码学标准的发展,2024年10月,其发布了Transitioning the Use of Cryptographic Algorithms and Key Lengths 草案: 概述了 SHA-1(为160位哈希算法) 将在不久的将来退役…...
go 集成gorm 数据库操作
一、什么是gorm GORM 是一个用于 Go 语言的 ORM(对象关系映射)库,它提供了一种简单而强大的方式来与数据库进行交互。GORM 支持多种数据库,包括 MySQL、PostgreSQL、SQLite、SQL Server 等,并且提供了丰富的功能&…...
进程 线程 和go协程的区别
进程和线程是操作系统中两个重要的执行单元,理解它们的区别对于编程和系统设计非常重要。以下是它们的主要区别: ### 进程(Process) 定义:进程是一个正在执行的程序的实例,具有独立的地址空间。 资源&…...
STM32获取SHT3X温湿度芯片数据
目录 一、概述 二、单次数据采集模式的测量 1、配置说明 2、代码实现方式 三、周期性数据采集模式的测量 1、配置说明 2、代码实现方式 四、完整代码下载链接 一、概述 SHT3X是Sensirion公司推出的一款高精度、完全校准的温湿度传感器,基于CMOSens技术。它提…...
卸载miniconda3
1. 找到miniconda目录,删除。 rm -rf miniconda3/ 2. 编辑bashrc sudo vim .bashrc setup路径改回anaconda3的,注释掉“>>> conda initialize >>>”和"<<< conda initialize <<<"之间的miniconda的语…...
游戏中的设计模式及杂项
概述 如果要做以下游戏功能会用到哪些设计模式。比如创建一个人物角色,这个角色可以装备刀,然后角色可以用刀砍怪物,造成流血。 对于这个游戏功能,可以使用以下设计模式: 工厂模式(Factory Pattern&#x…...
Docker网络和overlay的基础讲解
本人发现了两篇写的不错的文章:Docker网络 - docker network详解-CSDN博客,Docker 容器跨主机通信 overlay_docker overlay 网络-CSDN博客 因为这两篇文章中含有大量的例子,新手看起来毫不费力。于是我偷了个小懒,在本篇文章中没有…...
分布式数据库:深入探讨架构、挑战与未来趋势
引言 在数字化时代,数据已成为企业的核心资产。随着数据量的爆炸性增长和业务需求的多样化,传统的集中式数据库已难以满足现代应用对于高可用性、可扩展性和性能的需求。分布式数据库以其独特的优势,如数据的高可用性、容错性和可扩展性&…...
基于Springboot+Vue的仓库管理系统 (含源码数据库)
1.开发环境 开发系统:Windows10/11 架构模式:MVC/前后端分离 JDK版本: Java JDK1.8 开发工具:IDEA 数据库版本: mysql5.7或8.0 数据库可视化工具: navicat 服务器: SpringBoot自带 apache tomcat 主要技术: Java,Springboot,mybatis,mysql,vue 2.视频演示地址 3.功能 这个系…...
基于立体连接与开源链动 2+1 模式的新商业路径探索
摘要:本文深入剖析了立体连接的内涵,包括其核心关键词、连接路径与主体,同时详细阐述了开源链动 2 1 模式、AI 智能名片和 S2B2C 商城小程序源码的特点与功能。在此基础上,深入研究这些要素的融合方式及其在商业实践中的应用&…...
开启鸿蒙开发之旅:核心组件及其各项属性介绍——布局容器组件
写在前面 组件的结构 rkTS通过装饰器 Component 和 Entry 装饰 struct 关键字声明的数据结构,构成一个自定义组件。 自定义组件中提供了一个 build 函数,开发者需在该函数内以链式调用的方式进行基本的 UI 描述 今天我们要学习的就是写在build 函数里的系…...
RabbitMQ 全面解析:语法与其他消息中间件的对比分析
1. 引言 在分布式系统和微服务架构中,消息中间件扮演着重要的角色。它们能够解耦服务、平衡负载、提高系统的可扩展性和可靠性。RabbitMQ 是其中广受欢迎的一种。本文将从 RabbitMQ 的基础概念、语法介绍、以及与其他消息中间件的对比角度,全面剖析其在…...
Three.js 搭建3D隧道监测
Three.js 搭建3D隧道监测 Three.js 基础元素场景scene相机carema网络模型Mesh光源light渲染器renderer控制器controls 实现3d隧道监测基础实现道路实现隧道实现多个摄像头点击模型进行属性操作实现点击模型发光效果 性能监视器stats引入使用 总结完整代码 我们将通过three.js技…...
「IDE」集成开发环境专栏目录大纲
✨博客主页何曾参静谧的博客📌文章专栏「IDE」集成开发环境📚全部专栏「Win」Windows程序设计「IDE」集成开发环境「UG/NX」BlockUI集合「C/C」C/C程序设计「DSA」数据结构与算法「UG/NX」NX二次开发「QT」QT5程序设计「File」数据文件格式「UG/NX」NX定…...
MySQL-初识数据库
目录 一、数据库基础概念 1、SQL 2、数据(Data) 3、数据库(DB) 4、数据库管理系统DBMS 5、数据库系统DBS 6、关系模型(Relational Model) 7、E-R图 8、常见的数据库 9、数据库基本操作 一、数据库…...
初始 html
html 文件结构 html 标签是整个 html 文件的根标签(最顶层标签) head 标签中写页面的属性. body 标签中写的是页面上显示的内容 title 标签中写的是页面的标题 <html><head><title>这是一个标题</title></head><body></body> <…...
前端 call、bind、apply的实际使用
目录 一、call 1、继承的子类可以使用父类的方法 2、可以接收任意参数 二、call、apply、bind比较 1、案例一 2、案例二 三、总结 这个三个方法都是改变函数的this指向的方法。 一、call 代码: const obj{uname:"pink"}function fn(){console.log…...
非关系型数据库NoSQL的类型与优缺点对比
NoSQL数据库根据数据模型和应用场景主要分为四种类型:键值型、列族型、文档型和图形型。以下是对每种类型的详细描述,包括其应用场景、优缺点的比较: 1. 键值型数据库 (Key-Value Store) 典型代表 RedisMemcachedAmazon DynamoDB 应用场景…...
面试击穿mysql
Mysql三大范式: 第一范式(1NF): 不符合第一范式的典型情况是在一个字段中存放多种不同类型的详细信息。例如,在商品表中,若将商品名称、价格和类型都存储在同一个字段中,会带来诸多弊端。首先,在…...
PyQt5超详细教程终篇
PyQt5超详细教程 前言 接: [【Python篇】PyQt5 超详细教程——由入门到精通(序篇)](【Python篇】PyQt5 超详细教程——由入门到精通(序篇)-CSDN博客) 建议把代码复制到pycahrm等IDE上面看实际效果,方便理…...
Android OpenGL ES详解——纹理:纹理过滤GL_NEAREST和GL_LINEAR的区别
目录 一、概念 1、纹理过滤 2、邻近过滤 3、线性过滤 二、邻近过滤和线性过滤的区别 三、源码下载 一、概念 1、纹理过滤 当纹理被应用到三维物体上时,随着物体表面的形状和相机视角的变化,会导致纹理在渲染过程中出现一些问题,如锯齿…...
Elasticsearch实战应用:从入门到精通
在当今这个数据爆炸的时代,如何快速、有效地从海量数据中检索信息,已经成为了许多企业和开发者面临的挑战。Elasticsearch,作为一个基于Lucene的搜索引擎,以其强大的全文搜索能力、分布式特性以及易用性,成为了解决这一…...
axios平替!用浏览器自带的fetch处理AJAX(兼容表单/JSON/文件上传)
fetch 是啥? fetch 函数是 JavaScript 中用于发送网络请求的内置 API,可以替代传统的 XMLHttpRequest。它可以发送 HTTP 请求(如 GET、POST 等),并返回一个 Promise,从而简化异步操作 基本用法 /* 下面是…...
【优选算法 — 滑动窗口】水果成篮 找到字符串中所有字母异位词
水果成篮 水果成篮 题目描述 因为只有两个篮子,每个篮子装的水果种类相同,如果从 0 开始摘,则只能摘 0 和 1 两个种类 ; 因为当我们在两个果篮都装有水果的情况下,如果再走到下一颗果树,果树的水果种类…...
Go 数据库查询与结构体映射
下面是关于如何使用 Go 进行数据库查询并映射数据到结构体的教程,重点讲解 结构体字段导出 和 db 标签 的使用。 Go 数据库查询与结构体映射教程 在 Go 中,我们可以使用 database/sql 或 sqlx 等库与数据库进行交互。为了方便地将数据库查询结果映射到结…...
Wi-Fi背后的工作原理与技术发展历程介绍【无线通信小百科】
1个视频说清楚WIFI:频段/历程/技术参数/常用模块 智能手机拥有率越来越高的今天,大家已经习惯了通过无线网络上网的方式。除了在外面需要用手机流量,我们通常在家里或者机场,商场都可以通过Wi-Fi连接上网。本期文章将为大家介绍Wi…...
2024 年(第 7 届)“泰迪杯”数据分析技能赛B 题 特殊医学用途配方食品数据分析 完整代码 结果 可视化分享
一、背景特殊医学用途配方食品简称特医食品,是指为满足进食受限、消化吸收障碍、代谢素乱或者特定疾病状态人群对营养素或者膳食的特殊需要,专门加工配置而成的配方食品,包括0月龄至12月龄的特殊医学用途婴儿配方食品和适用于1岁以上的特殊医…...
wordpress css导航/无锡网站建设优化公司
return和finally谁先执行 finally是什么呢? finally是用于try-catch-finally捕获异常语句中的代码块,其作用为:在进行异常的处理之后,在异常的处理格式中还有一个finally语句,那么此语句将作为异常的统一出口…...
做内网网站/seo去哪里学
基于计算机视觉技术的入侵检测通过设计图像处理方法实现对某一动态场景的实时观测,并在场景存在外来入侵情况时向上层管理系统发送入侵检测结果;要求独立编写具有以下功能模块的程序源码, 1. 通过手机/个人笔记本内置摄像机连续…...
辽宁网站建设找哪家/seo关键字排名
首先介绍Web服务器是什么Web服务器一般指网站服务器,是指驻留于因特网上某种类型计算机的程序,可以向浏览器等Web客户端提供文档,我们可以放置网站文件,让全世界浏览;可以放置数据文件,让全世界下载 常见的…...
wordpress实现选项卡/百度热词指数
主机发现 靶机 nmap扫描端口 扫描服务 -sT 说明用tcp协议(三次握手)扫描 -sV扫描版本 O扫描系统 UDP扫描 漏洞脚本扫描 web渗透 Squid代理分析 检索信息 可以判断是代理 3128端口与代理有关 对3128端口进行目录爆破 dirb爆破 goboster爆破 没法扫…...
上海网站建设过程/优化培训课程
虚拟机克隆完成之后,子机和母机的MAC地址、IP地址、主机名、密码都是一致的。为了不影响上网,需要更改这几项:操作系统物理地址、IP地址、主机名。4步走战略:1、删除网卡文件中的mac地址,保存退出。[rootcent67 ~]# vi…...
微信分享网站短链接怎么做/怎么做网址
本文转载自 QbitAI,作者 贾浩楠 写代码时提笔千行,debug时却低效抓狂…… 几乎每个编程者都逃不了这样的纠结。 通过编译器一行行地去找bug,太浪费时间。 所以,一位清华校友、谷歌工程师laike9m,便开发了一个强大的Pyt…...