盐城做网站的公司地址/点击器

盐城做网站的公司地址,点击器,淄博网站关键词优化,网站备案被注销了怎么办案例目标 隔离性:在同一台物理机上创建两个独立的网络命名空间(模拟两台主机),确保其网络配置完全隔离。内部通信:允许两个命名空间通过虚拟设备直接通信。外部访问:通过宿主机的网桥和 NAT 规则&#xff…

在这里插入图片描述


案例目标
  1. 隔离性:在同一台物理机上创建两个独立的网络命名空间(模拟两台主机),确保其网络配置完全隔离。
  2. 内部通信:允许两个命名空间通过虚拟设备直接通信。
  3. 外部访问:通过宿主机的网桥和 NAT 规则,使两个命名空间能够访问外部互联网。

核心要求
  • 使用 ip netnsveth pair 实现网络隔离。
  • 通过网桥(Bridge)连接命名空间与宿主机物理网络。
  • 配置 NAT 实现外网访问。
  • 验证隔离性、内部通信及外部连通性。

实现步骤


步骤 1:清理旧配置(如有)
# 删除可能存在的旧命名空间和网桥
sudo ip netns delete ns1 2>/dev/null
sudo ip netns delete ns2 2>/dev/null
sudo ip link delete br0 2>/dev/null
sudo ip link delete veth1-host 2>/dev/null
sudo ip link delete veth2-host 2>/dev/null

步骤 2:创建网络命名空间
# 创建两个命名空间 ns1 和 ns2
sudo ip netns add ns1   # 模拟主机 A
sudo ip netns add ns2   # 模拟主机 B

步骤 3:创建网桥并连接物理网络
# 1. 创建网桥 br0
sudo ip link add br0 type bridge
sudo ip link set br0 up# 2. 将物理网卡 eth0 绑定到网桥(假设 eth0 是宿主机的外网接口)
sudo ip link set eth0 master br0
sudo dhclient br0   # 自动获取 IP(或手动分配:sudo ip addr add 192.168.1.100/24 dev br0)

步骤 4:为每个命名空间创建 veth pair 并连接网桥
# 为 ns1 创建 veth pair(宿主机端:veth1-host,命名空间端:veth1-ns)
sudo ip link add veth1-host type veth peer name veth1-ns
sudo ip link set veth1-host master br0   # 宿主机端加入网桥
sudo ip link set veth1-host up# 为 ns2 创建 veth pair(宿主机端:veth2-host,命名空间端:veth2-ns)
sudo ip link add veth2-host type veth peer name veth2-ns
sudo ip link set veth2-host master br0   # 宿主机端加入网桥
sudo ip link set veth2-host up# 将 veth 的另一端分配到命名空间
sudo ip link set veth1-ns netns ns1
sudo ip link set veth2-ns netns ns2

步骤 5:配置命名空间的网络
# 配置 ns1 的网络
sudo ip netns exec ns1 ip addr add 192.168.1.101/24 dev veth1-ns
sudo ip netns exec ns1 ip link set veth1-ns up
sudo ip netns exec ns1 ip route add default via 192.168.1.1  # 假设网关为 192.168.1.1# 配置 ns2 的网络
sudo ip netns exec ns2 ip addr add 192.168.1.102/24 dev veth2-ns
sudo ip netns exec ns2 ip link set veth2-ns up
sudo ip netns exec ns2 ip route add default via 192.168.1.1

步骤 6:配置 NAT 允许外网访问
# 1. 启用 IP 转发
sudo sysctl -w net.ipv4.ip_forward=1# 2. 添加 iptables NAT 规则(假设外网接口为 eth0)
sudo iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE
sudo iptables -A FORWARD -i br0 -o eth0 -j ACCEPT
sudo iptables -A FORWARD -i eth0 -o br0 -m state --state RELATED,ESTABLISHED -j ACCEPT

步骤 7:验证网络功能
# 1. 验证 ns1 和 ns2 的互通性
sudo ip netns exec ns1 ping -c 3 192.168.1.102   # ns1 -> ns2
sudo ip netns exec ns2 ping -c 3 192.168.1.101   # ns2 -> ns1# 2. 验证外网访问能力
sudo ip netns exec ns1 ping -c 3 8.8.8.8        # ns1 访问谷歌 DNS
sudo ip netns exec ns2 ping -c 3 8.8.8.8        # ns2 访问谷歌 DNS# 3. 验证宿主机无法直接访问命名空间 IP
ping -c 3 192.168.1.101   # 应失败(隔离性验证)

最终网络拓扑

宿主机网桥 br0 (IP: 自动获取或手动配置)
│
├─ eth0 (物理网卡,通过 DHCP/NAT 访问外网)
├─ veth1-host (连接到 ns1 的 veth1-ns, IP: 192.168.1.101)
└─ veth2-host (连接到 ns2 的 veth2-ns, IP: 192.168.1.102)

总结

实现目标回顾
  1. 隔离性:通过 ip netns 创建独立命名空间,确保 ns1 和 ns2 的网络配置互不影响。
  2. 内部通信:通过 veth pair 和网桥,两个命名空间可直接通信(同一子网)。
  3. 外部访问:通过网桥绑定物理网卡并配置 NAT,命名空间可访问外网。
关键技术点
  • 网络命名空间:隔离网络协议栈(IP、路由表、设备)。
  • veth pair:跨命名空间通信的虚拟“网线”。
  • 网桥:连接多个网络接口,模拟物理交换机。
  • NAT:通过 iptables 实现地址转换,允许内网访问外网。
应用场景
  • 容器网络:Docker/Kubernetes 使用类似机制为容器提供网络。
  • 多租户测试:为不同租户分配独立网络环境。
  • 安全实验:隔离测试环境,防止实验影响宿主机网络。

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

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

相关文章

DeepSeek面试——模型架构和主要创新点

本文将介绍DeepSeek的模型架构多头潜在注意力(MLA)技术,混合专家(MoE)架构, 无辅助损失负载均衡技术,多Token 预测(MTP)策略。 一、模型架构 DeepSeek-R1的基本架构沿用…

husky的简介以及如果想要放飞自我的解决方案

husky 是一个 Git Hooks 管理工具,它的主要作用是 在 Git 提交(commit)、推送(push)等操作时执行自定义脚本,比如代码检查(Lint)、单元测试(Test)、格式化代码…

【动手学深度学习】#4 深度学习计算

主要参考学习资料: 《动手学深度学习》阿斯顿张 等 著 【动手学深度学习 PyTorch版】哔哩哔哩跟李牧学AI 概述 为了实现更复杂的网络,我们需要研究比层更高一级的单元块,在编程中由类表示。通过自定义层和块,我们能更灵活地搭建网…

如何在 Windows 上安装并使用 Postman?

Postman 是一个功能强大的API测试工具,它可以帮助程序员更轻松地测试和调试 API。在本文中,我们将讨论如何在 Windows 上安装和使用 Postman。 Windows 如何安装和使用 Postman 教程?

26考研——图_图的基本概念(6)

408答疑 文章目录 一、图的基本概念图的定义非空性非线性结构 顶点和边的表示顶点边 有向图 & 无向图有向图有向图 G 1 G_1 G1​ 的表示 无向图无向图 G 2 G_2 G2​ 的表示 简单图 & 多重图简单图多重图 顶点的度、入度和出度顶点的度有向图的度 路径、路径长度和回路…

面向对象软件工程实践软件案例

智力运动-数字化思维训练课程介绍 数字化思维训练是科技赋能素质教育创新实践项目,通过数字化信息化手段,深度融合优质原创智力运动教育课程资源,服务幼儿园与小学,提供信息时代校园素质教育教学解决方案。在《面向对象软件工程》…

Linux学习笔记(应用篇一)

基于I.MX6ULL.MINI开发板 标准I/O库链接目录删除文件正则表达式系统标识时间堆内存信号标准信号 进程进程组进程间通信线程互斥锁线程安全 本文章是入门篇的概念,有点零散,后续需要补充复习 **inode(索引节点)**是 Linux 和 Unix …

医学交互作用分析步骤和目的(R语言)

医学交互作用分析的目的和用途(R语言) 医学交互作用分析一直是医学数据分析的组成部分,总结最近的一些认识。 目的: 在独立危险因素鉴定的研究中,(独立危险因素的)交互作用可以作为独立危险因…

Javaweb后端登录会话技术jwt令牌

jwt生成与校验 是base4补位的 最后面是签名,签名不是base64,是通过签名算法加密后来的 令牌长度不是固定的,长度取决于原始内容,载荷,大小 头有,类型,签名算法 base64可以对任意的二进制数据进…

Mybatis操作数据库(注解+xml两个方式)

文章目录 1.个人回顾2.关于mybatis注解的说明3.字段和属性不匹配的解决方案3.1第一个方案3.2第二个方案3.3第三个方案 4.xml路径配置5.xml里面的字段映射 1.个人回顾 刚刚翻看了一下自己的这个之前写的博客,上一次和这个javaee相关的博客还是去年写的,也…

SysVinit和Systemd的系统运行级别

Linux运行级别 SysVinit系统(init守护进程)Linux系统运行级别SysVinit系统(init守护进程)查看Linux运行级别SysVinit系统(init守护进程)修改运行级别: Systemd守护进程Linux系统运行级别systemd查看运行级别Systemd查看系统当前运行级别 systemd修改运行级别multi-u…

vscode终端不识别npm 无法解析npm

vscode 用以管理员打开识别npm vscode 用普通用户打开不识别npm 刚换了一台新电脑,寻思安装各种环境,一顿操作猛如虎,当最后一个打开vscode后,运行项目发现,新建终端>npm run dev 无法识别。 在cmd 中 打node -…

如何理解 Apache Iceberg 与湖仓一体(Lakehouse)?

一、什么是湖仓一体(Lakehouse)? 湖仓一体是一种融合了数据湖的灵活存储能力与数据仓库的高效分析功能的现代数据架构。它通过整合两者的优势,解决了传统架构的局限性,为企业数据处理提供了更全面的解决方案。 数据湖…

【鸿蒙开发】Hi3861学习笔记- TCP客户端

00. 目录 文章目录 00. 目录01. TCP概述02. TCP应用场景03. TCP和UDP比较04. TCP相关API05. TCP编程流程06. 硬件设计07. 软件设计08. 实验现象09. 附录 01. TCP概述 TCP(Transmission Control Protocol)是一种面向连接、可靠的传输层协议,旨…

2025-03-25 学习记录--C/C++-PTA 习题9-3 平面向量加法

合抱之木,生于毫末;九层之台,起于累土;千里之行,始于足下。💪🏻 一、题目描述 ⭐️ 习题9-3 平面向量加法 本题要求编写程序,计算两个二维平面向量的和向量。 输入格式: ❀ 输入在…

23种设计模式-桥接(Bridge)设计模式

桥接设计模式 🚩什么是桥接设计模式?🚩桥接设计模式的特点🚩桥接设计模式的结构🚩桥接设计模式的优缺点🚩桥接设计模式的Java实现🚩代码总结🚩总结 🚩什么是桥接设计模式…

go:前后端分离

1.前端代码 新建一个前端文件夹,在该文件夹下新建一个.html文件,写入自己的html代码。 前端搞定。 2.后端代码 其核心是挂载路由接受前端传来的数据核心代码如下: func main() { // 服务运行提示 fmt.Println("go web server is runn…

JetsonNano —— 4、Windows下对JetsonNano板卡烧录刷机Ubuntu20.04版本(官方教程)

介绍 NVIDIA Jetson Nano™ 开发者套件是一款面向创客、学习者和开发人员的小型 AI 计算机。按照这个简短的指南,你就可以开始构建实用的 AI 应用程序、酷炫的 AI 机器人等了。 烧录刷机 1、下载 Jetson Nano开发者套件SD卡映像 解压出.img文件并记下它在计算机上的…

文件I/O--C++的文件操作

一、打开文件&#xff0c;从文件中读取、写入文件 从文件中读取数据&#xff1a; #include<fstream> //fstream File stream:文件流 #include<iostream> //fstream包含了 iostream&#xff0c;所以这句可以省略&#xff0c;现在不能了 using namespace std;i…

C语言贪吃蛇实现

When the night gets dark,remember that the Sun is also a star. 当夜幕降临时&#xff0c;请记住太阳也是一颗星星。 ————《去月球海滩篇》 目录 文章目录 一、《贪吃蛇》游戏介绍 二、WIN32部分接口简单介绍 2.1 控制台窗口大小设置 2.2 命令行窗口的名称的变更 2…