三层网络 (服务器1 和 服务器2 在不同网段)
服务器1 和 服务器2 在不同网段,并且通过三层交换机实现通信
1. 网络拓扑
假设网络拓扑如下:
-
服务器1:
-
mac0:IP 地址192.168.1.10/24,网关192.168.1.1 -
mac1:IP 地址10.0.1.10/24,网关10.0.1.1
-
-
服务器2:
-
mac0:IP 地址192.168.2.10/24,网关192.168.2.1 -
mac1:IP 地址10.0.2.10/24,网关10.0.2.1
-
-
三层交换机:
-
连接服务器1和服务器2,并配置 VLAN 和路由。
-
2. 配置步骤
(1) 配置 VLAN
在三层交换机上创建 VLAN,并将端口划分到对应的 VLAN。
-
创建 VLAN:
vlan 10 name Server1_mac0 exit vlan 20 name Server1_mac1 exit vlan 30 name Server2_mac0 exit vlan 40 name Server2_mac1 exit
-
将端口划分到 VLAN:
-
假设服务器1的
mac0连接交换机的GigabitEthernet 0/1,mac1连接GigabitEthernet 0/2。 -
服务器2的
mac0连接交换机的GigabitEthernet 0/3,mac1连接GigabitEthernet 0/4。
interface GigabitEthernet 0/1 switchport mode access switchport access vlan 10 exit interface GigabitEthernet 0/2 switchport mode access switchport access vlan 20 exit interface GigabitEthernet 0/3 switchport mode access switchport access vlan 30 exit interface GigabitEthernet 0/4 switchport mode access switchport access vlan 40 exit
-
(2) 配置 VLAN 接口 IP 地址
在三层交换机上为每个 VLAN 配置 IP 地址,作为对应网段的网关。
-
配置 VLAN 接口 IP:
interface Vlan 10 ip address 192.168.1.1 255.255.255.0 exit interface Vlan 20 ip address 10.0.1.1 255.255.255.0 exit interface Vlan 30 ip address 192.168.2.1 255.255.255.0 exit interface Vlan 40 ip address 10.0.2.1 255.255.255.0 exit
-
启用路由功能:
ip routing
(3) 2台配置静态路由
如果服务器1和服务器2需要通过三层交换机访问其他网络,可以配置静态路由。
-
假设服务器1需要访问
172.16.1.0/24网络:ip route 172.16.1.0 255.255.255.0 192.168.1.10
-
假设服务器2需要访问
172.16.2.0/24网络:ip route 172.16.2.0 255.255.255.0 192.168.2.10
(4) 配置服务器1和服务器2的 IP 地址和网关
确保服务器1和服务器2的 IP 地址和网关配置正确。
-
服务器1:
-
mac0:ip address 192.168.1.10/24 gateway 192.168.1.1
-
mac1:ip address 10.0.1.10/24 gateway 10.0.1.1
-
-
服务器2:
-
mac0:ip address 192.168.2.10/24 gateway 192.168.2.1
-
mac1:ip address 10.0.2.10/24 gateway 10.0.2.1
-
3. 验证配置
(1) 检查 VLAN 配置
运行以下命令检查 VLAN 配置:
show vlan brief
(2) 检查接口 IP 地址
运行以下命令检查 VLAN 接口 IP 地址:
show ip interface brief
(3) 测试连通性
在服务器1和服务器2上测试连通性:
-
从服务器1的
mac0ping 服务器2的mac0:ping 192.168.2.10
-
从服务器1的
mac1ping 服务器2的mac1:ping 10.0.2.10
4. 注意事项
IP 地址规划:确保服务器1和服务器2的 IP 地址和网关配置正确,且不在同一网段。
路由功能:确保三层交换机的路由功能已启用(ip routing)。
防火墙规则:如果服务器或交换机启用了防火墙,确保允许相关流量通过。
MTU 设置:如果使用 VLAN 或隧道,确保 MTU 设置正确,避免分片。
例如:
ens0(sw10)---------- (SW13)ens22f0
ip:10.0.1.10/24 gw:10.0.1.1 ip:10.0.2.10/24 gw:10.0.2.1
vlan 3020 ip 10.0.1.1 255.255.255.0 vlan 3021 ip 10.0.2.1/24 255.255.255.0
route add -net 10.0.2.0/24 gw 10.0.1.1 route add -net 10.0.1.0/24 gw 10.0.2.1
ens1(sw12)---------- (SW14)ens22f1
ip:11.0.1.10/24 gw:11.0.1.1 ip:11.0.2.10/24 gw:11.0.2.1
vlan 3030 ip 11.0.1.1/24 255.255.255.0 vlan 3031 ip 11.0.2.1/24 255.255.255.0
route add -net 11.0.2.0/24 gw 11.0.1.1 route add -net 11.0.1.0/24 gw 11.0.2.1
配置文件新增ip示例:
IPADDR1=10.0.1.10 PREFIX1=24 GATEWAY1=10.0.1.1
获取路由
route -n
ip route show
华为交换机配置方法
华为交换机默认支持路由功能,但需要正确配置 VLAN 接口和路由协议才能实现不同网段之间的通信。以下是详细配置步骤:
1. 进入系统视图
首先,登录交换机并进入系统视图:
<Huawei> system-view [Huawei]
2. 创建 VLAN 并配置 VLAN 接口 IP 地址
如果交换机需要路由不同 VLAN 之间的流量,需要先创建 VLAN 并为其配置 IP 地址。
(1) 创建 VLAN
[Huawei] vlan batch 10 20
-
这里创建了 VLAN 10 和 VLAN 20。
(2) 配置 VLAN 接口 IP 地址
[Huawei] interface Vlanif 10 [Huawei-Vlanif10] ip address 192.168.1.1 255.255.255.0 [Huawei-Vlanif10] quit[Huawei] interface Vlanif 20 [Huawei-Vlanif20] ip address 192.168.2.1 255.255.255.0 [Huawei-Vlanif20] quit
-
为 VLAN 10 和 VLAN 20 分别配置 IP 地址,作为对应网段的网关。
3. 配置端口加入 VLAN
将交换机的物理端口划分到对应的 VLAN。
(1) 配置端口为 Access 模式
[Huawei] interface GigabitEthernet 0/1 [Huawei-GigabitEthernet0/1] port link-type access [Huawei-GigabitEthernet0/1] port default vlan 10 [Huawei-GigabitEthernet0/1] quit[Huawei] interface GigabitEthernet 0/2 [Huawei-GigabitEthernet0/2] port link-type access [Huawei-GigabitEthernet0/2] port default vlan 20 [Huawei-GigabitEthernet0/2] quit
-
将
GigabitEthernet 0/1划分到 VLAN 10,GigabitEthernet 0/2划分到 VLAN 20。
4. 启用路由功能
华为交换机默认启用路由功能,但需要确保路由功能已开启。可以通过以下命令检查:
[Huawei] display ip routing-table
-
如果路由表为空,可能需要手动启用路由功能:
[Huawei] ip routing
静态路由配置方法
route add -net 10.0.2.0/24 gw 10.0.1.1 是一个 Linux 命令,用于手动添加一条静态路由。以下是该命令的详细解释:
1. 命令组成
-
route add:表示添加一条路由。 -
-net 10.0.2.0/24:表示目标网络是10.0.2.0/24(即 IP 地址范围为10.0.2.0到10.0.2.255)。 -
gw 10.0.1.1:表示下一跳网关地址是10.0.1.1。
2. 命令的作用
该命令的作用是:告诉系统,所有发送到 10.0.2.0/24 网段的流量,应该通过网关 10.0.1.1 转发。
3. 使用场景
假设网络拓扑如下:
-
当前主机 IP 地址:
10.0.1.10/24网关:10.0.1.1目标网络:10.0.2.0/24
当前主机需要访问 10.0.2.0/24 网段,但默认路由无法到达该网段。因此,需要手动添加一条静态路由,指定流量通过 10.0.1.1 转发。
4. 命令执行
运行以下命令添加静态路由:sudo route add -net 10.0.2.0/24 gw 10.0.1.1
5. 验证路由
运行以下命令,检查路由表是否已添加新路由:route -n
输出示例:
Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 10.0.1.1 0.0.0.0 UG 100 0 0 eth0 10.0.1.0 0.0.0.0 255.255.255.0 U 100 0 0 eth0 10.0.2.0 10.0.1.1 255.255.255.0 UG 0 0 0 eth0
-
可以看到,目标网络
10.0.2.0/24的路由已添加,网关为10.0.1.1。
6. 删除路由
如果需要删除该路由,可以运行以下命令:
sudo route del -net 10.0.2.0/24 gw 10.0.1.1
7. 持久化配置
通过 route add 添加的路由在系统重启后会失效。如果需要持久化配置,可以将路由添加到网络配置文件中。
(1) 使用 /etc/network/interfaces(Debian/Ubuntu)
编辑 /etc/network/interfaces 文件,添加以下内容:
up route add -net 10.0.2.0/24 gw 10.0.1.1
(2) 使用 /etc/sysconfig/network-scripts/route-<interface>(CentOS/RHEL)
创建或编辑 /etc/sysconfig/network-scripts/route-eth0 文件,添加以下内容:
10.0.2.0/24 via 10.0.1.1
8. 注意事项
网关可达性:确保网关 10.0.1.1 可以从当前主机访问(例如,通过 ping 10.0.1.1 测试)。
路由冲突:如果路由表中已存在到 10.0.2.0/24 的路由,新路由可能不会生效。
权限:添加路由需要 root 权限,因此需要使用 sudo。
总结
-
route add -net 10.0.2.0/24 gw 10.0.1.1用于手动添加一条静态路由,指定到10.0.2.0/24网段的流量通过10.0.1.1转发。 -
该命令适用于临时路由配置,持久化配置需要编辑网络配置文件。
相关文章:
三层网络 (服务器1 和 服务器2 在不同网段)
服务器1 和 服务器2 在不同网段,并且通过三层交换机实现通信 1. 网络拓扑 假设网络拓扑如下: 服务器1: mac0:IP 地址 192.168.1.10/24,网关 192.168.1.1 mac1:IP 地址 10.0.1.10/24,网关 10.0…...
AI Tokenization
AI Tokenization 人工智能分词初步了解 类似现在这个,一格子 一格子,拼接出来的,一行或者一句,像不像,我们人类思考的时候组装出来的话,并用嘴说出来了呢。...
关于大数据的基础知识(四)——大数据的意义与趋势
成长路上不孤单😊😊😊😊😊😊 【14后😊///计算机爱好者😊///持续分享所学😊///如有需要欢迎收藏转发///😊】 今日分享关于大数据的基础知识(四&a…...
某视频的解密下载
下面讲一下怎么爬取视频,这个还是比小白的稍微有一点绕的 首先打开网址:aHR0cDovL3d3dy5wZWFydmlkZW8uY29tL3BvcHVsYXJfNA 首页 看一下: 有一个标题和一个href,href只是一个片段,待会肯定要拼接, 先找一…...
Day20-前端Web案例——部门管理
目录 部门管理1. 前后端分离开发2. 准备工作2.1 创建Vue项目2.2 安装依赖2.3 精简项目 3. 页面布局3.1 介绍3.2 整体布局3.3 左侧菜单 4. Vue Router4.1 介绍4.2 入门4.3 案例4.4 首页制作 5. 部门管理5.1部门列表5.1.1. 基本布局5.1.2 加载数据5.1.3 程序优化 5.2 新增部门5.3…...
从切图仔到鸿蒙开发01-文本样式
从切图仔到鸿蒙开发01-文本样式 本系列教程适合 HarmonyOS 初学者,为那些熟悉用 HTML 与 CSS 语法的 Web 前端开发者准备的。 本系列教程会将 HTML/CSS 代码片段替换为等价的 HarmonyOS/ArkUI 代码。 页面结构 HTML 与 ArkUI 在 Web 开发中,HTML 文档结…...
菱形虚拟继承的原理
一 :菱形继承的问题 普通的菱形继承存在数据冗余和二义性的问题 ,如下代码: class Person { public:string _name; //姓名 };class Student : public Person { protected:int _num; //学号 };class Teacher : public Person { protected:int…...
【数据结构】C语言实现树和森林的遍历
C语言实现树和森林的遍历 导读一、树的遍历二、森林的遍历2.1 为什么森林没有后序遍历?2.2 森林中存不存在层序遍历?三、C语言实现3.1 准备工作3.2 数据结构的选择3.3 树与森林的创建3.4 树与森林的遍历3.4.1 先根遍历3.4.2 后根遍历3.4.3 森林的遍历3.5 树与森林的销毁3.6 算…...
第四天 开始Unity Shader的学习之旅之Unity中的基础光照
Unity Shader的学习笔记 第四天 开始Unity Shader的学习之旅之Unity中的基础光照 文章目录 Unity Shader的学习笔记前言一、我们是如何看到这个世界的1. 光源2.吸收和散射3.着色 二、标准光照模型1. 自发光2. 高光反射① Phong模型② Blinn-Phong模型 3.漫反射4.环境光 总结 前…...
基于SpringBoot的“社区居民诊疗健康管理系统”的设计与实现(源码+数据库+文档+PPT)
基于SpringBoot的“社区居民诊疗健康管理系统”的设计与实现(源码数据库文档PPT) 开发语言:Java 数据库:MySQL 技术:SpringBoot 工具:IDEA/Ecilpse、Navicat、Maven 系统展示 系统模块功能结构图 局部E-R图 系统首…...
React Native集成到现有原生Android应用
使用React Native(以下简称RN)从头开始制作一个新的应用会是一个非常好的选择。但如果只想给现有的原生应用中添加一两个视图或是业务流程,RN也同样不在话下。只需简单几步,就可以给原有应用加上新的基于RN的特性、画面和视图等。 一、核心概念 把 React Native 组件集成…...
Java-空链基础入门
经过调研和细致观察,我们发现空链对于初次接触或是对Stream和Optional不太熟悉的人来说,确实存在一定的上手难度,宛如开启了“地狱模式”。为了降低这一门槛,我们决定通过一系列由简入深的案例演示,来逐步引导大家掌握…...
【江协科技STM32】Unix时间戳BKP备份寄存器RTC实时时钟(学习笔记)
Unix时间戳 Unix 时间戳(Unix Timestamp)定义为从UTC/GMT的1970年1月1日0时0分0秒开始所经过的秒数,不考虑闰秒时间戳存储在一个秒计数器中,秒计数器为32位/64位的整型变量世界上所有时区的秒计数器相同,不同时区通过…...
PCDN网络设备
PCDN(Peer-to-Peer Content Delivery Network,点对点内容分发网络)是一种基于P2P技术的内容分发网络。它利用用户终端设备之间的直接数据传输来减少中心服务器的压力,并提高内容交付的速度和效率。 PCDN的工作原理 节点共享&…...
3.17-3.23 Web3 游戏周报:Pixudi 双榜领跑,The Forgotten Runiverse 登陆三大主机平台
回顾上周的区块链游戏概况,查看 Footprint Analytics 与 ABGA 最新发布的数据报告。 【3.17–3.23】Web3 游戏行业动态 Ronin 将与 Alpha Growth 等合作推出 1300 万美元增长计划,以向 DeFi 扩张Notcoin 开发工作室 Open Builders 宣布推出 Not Games …...
AppInventor2生成3位数的水仙花数
生成3位水仙花数(每位数字的立方之和刚好等于这个数字)的代码,如下: 来源:【生成Python】AppInventor2中文网已支持代码块转换Python源码! - App Inventor 2 中文网 - 清泛IT社区,为创新赋能&…...
【聚类算法解析系列02】经典聚类算法(上)——K-Means与层次聚类
【聚类算法解析系列02】经典聚类算法(上)——K-Means与层次聚类 引言:算法背后的认知革命 K-Means与层次聚类,这两个诞生于1960年代的算法,至今仍是工业界使用率最高的聚类工具。它们分别代表了两种根本性的世界观&am…...
shadcn如何给dialog增加关闭按钮和隐藏右上角关闭按钮
增加关闭按钮: <DialogFooter><DialogClose asChild><button className"rounded-sm bg-black/100 px-3 py-2 text-xs font-semibold text-white shadow-xs hover:bg-black/90" >Close</button></DialogClose> </DialogF…...
华为机试牛客刷题之HJ59 找出字符串中第一个只出现一次的字符
HJ59 找出字符串中第一个只出现一次的字符 描述 对于给定的字符串,找出第一个只出现一次的字符。如果不存在,则输出 −1。 输入描述: 在一行上输入一个长度为 1≦len(s)≦10^3 、仅由小写字母构成的字符串 s。 输出描述: 如果存…...
C# 中实现一个线程持续读取,另一个线程负责写入,且写入时读取线程暂停
实现思路 暂停信号:通过 ManualResetEventSlim 通知读取线程暂停。 暂停确认:读取线程收到暂停信号后,发送确认信号。 原子性控制:确保写入操作执行期间,读取线程处于完全暂停状态。 恢复机制:写入完成后…...
[Effective C++]条款22:将成员变量声明为private
. 在C中,将成员变量声明为private而不是public,主要是为了遵循面向对象编程(OOP)的封装原则。他有助于隐藏对象的内部实现细节,提供更好地控制,安全性和可维护性。 1、数据隐藏与封装 将成员变量声明为pr…...
心法利器[132] | 大模型系统性能优化trick
心法利器 本栏目主要和大家一起讨论近期自己学习的心得和体会。具体介绍:仓颉专项:飞机大炮我都会,利器心法我还有。 2023年新的文章合集已经发布,获取方式看这里:又添十万字-CS的陋室2023年文章合集来袭,更…...
Android第六次面试总结(Java设计模式篇一)
单例模式属于创建型设计模式,它保证一个类仅有一个实例,并且提供一个全局访问点来获取该实例。下面为你详细阐述单例模式的好处和坏处。 好处 资源优化:单例模式能保证一个类只有一个实例,这对于那些创建和销毁开销大的对象&…...
stm第九天433M无线遥控灯
1.433M无线模块工作原理 数据发射模块的工作频率为315M,采用声表谐振器SAW稳频,频率稳定度极高,当环境温度在-25~85度之间变化时,频飘仅为3ppm.接收到信号,接收模块对应针脚输出高电平,有DO D1 D2 D3&#…...
六十天前端强化训练之第三十天之深入解析Vue3电商项目:TechStore全栈实践(文结尾附有源代码)
欢迎来到编程星辰海的博客讲解 看完可以给一个免费的三连吗,谢谢大佬! 目录 深入解析Vue3电商项目:TechStore全栈实践 一、项目架构设计 二、核心功能实现 三、组合式API深度实践 四、性能优化实践 五、项目扩展方向 六、开发经验总结…...
类与对象(中)(详解)
【本节目标】 1. 类的6个默认成员函数 2. 构造函数 3. 析构函数 4. 拷贝构造函数 5. 赋值运算符重载 6. const成员函数 7. 取地址及const取地址操作符重载 1.类的6个默认成员函数 如果一个类中什么成员都没有,简称为空类。 空类中真的什么都没有吗&…...
Spring Boot框架中常用注解
以下是Spring Boot框架中常用注解的详细说明,包括名称、用途、用法、使用位置及扩展示例,按功能模块分类整理: 一、核心启动与配置注解 1. SpringBootApplication 用途:主启动类注解,整合了 Configuration、EnableAu…...
ResNet与注意力机制:深度学习中的强强联合
引言 在深度学习领域,卷积神经网络(CNN)一直是图像处理任务的主流架构。然而,随着网络深度的增加,梯度消失和梯度爆炸问题逐渐显现,限制了网络的性能。为了解决这一问题,ResNet(残差…...
notify_one() 会阻塞吗?
notify_one() 不会阻塞。它是用于唤醒一个等待中的线程,通常是通过条件变量(std::condition_variable)来使用的。调用 notify_one() 会使一个处于等待状态的线程被唤醒并继续执行,但它本身并不会阻塞。 当调用 notify_one() 时&a…...
Flutter项目之页面实现以及路由fluro
目录: 1、项目代码结构2、页面编写以及路由配置main.dart(入口文件)page_content.dartindex.dartapplication.dartpubspec.yamllogin.dartdio_http.dart 3、Fluro路由routes.dartnot_found_page.dart(路由优化,找不到页面时展示此页面) 4、注册页面 1、项…...
