当前位置: 首页 > news >正文

Network(四)NAT实现方式与VRRP概述

一  NAT

1  NAT概述

(1)NAT的作用

Network Address Translation,网络地址转换

通过将内部网络的私有IP地址转换成全球唯一的公网IP地址使内部网络可以连接到互联网。

(2)私有IP地址分类

A类10.0.0.0~10.255.255.255
B类172.16.0.0~172.31.255.255
C类192.168.0.0~192.168.255.255

(3)NAT的特性

使用NAT带来的好处

  • 节省公有合法IP地址
  • 处理地址重叠
  • 提高安全

(4)NAT的实现方式

  • 静态转换

  • Easy IP

2  静态NAT

(1)静态NAT概述

静态转换是指将内部网络的私有地址转换为公有地址时IP地址的对应关系是确定的

静态转换是一对一的转换

静态转换是双向的

(2)静态NAT的配置

按下图所示,在路由器上配置静态NAT使192.168.2.1与192.168.2.2实现外网访问

 步骤一:首先按图配置ip

路由器ip配置:
[Huawei]interface GigabitEthernet 0/0/0                     //进0口
[Huawei-GigabitEthernet0/0/0]ip address 100.0.0.1 8         //配置ip
[Huawei-GigabitEthernet0/0/0]in g0/0/1                      //进1口
[Huawei-GigabitEthernet0/0/1]ip address 192.168.2.254  24   //配置ip
[Huawei-GigabitEthernet0/0/1]quitpc1的ip是 192.168.2.1  网关是192.168.2.254
pc2的ip是 192.168.2.2  网关是192.168.2.254
pc3的ip是 100.0.0.10  网关不需要配

 步骤二:然后在路由器配置静态nat,使用nat前要进入外网接口

[Huawei-GigabitEthernet0/0/0]nat static global 100.0.0.2 inside 192.168.2.1  //使用静态nat技术,将内部的2.1与外部的公网地址100.0.0.2进行相互

转换然后测试使用192.168.2.1 ping 100.0.0.10可以互通说明地址转换成功

如果配置错误可以用undo删除,比如:
undo nat static global 100.0.0.2 inside 192.168.2.4
[Huawei-GigabitEthernet0/0/0]nat static global 100.0.0.3 inside 192.168.2.2  //可以通过上述方案让2.2也实现外网的访问,利用的公网地址是100.0.0.3

3  Easy IP

EasyIP允许多个内部地址使用一个公网ip

Easy IP的配置

继续使用上图,在路由器配置easy ip,让所有的内部主机仅仅利用唯一的一个公网地址100.0.0.1访问外网

删除已有的静态nat
[Huawei-GigabitEthernet0/0/0]undo nat static global 100.0.0.3 inside 192.168.2.2 
[Huawei-GigabitEthernet0/0/0]undo nat static global 100.0.0.2 inside 192.168.2.1[Huawei]acl 2000   //通过acl定义允许访问外网的设备
[Huawei-acl-basic-2000]rule permit source any   //这里放行所有设备,如果将any换成192.168.2.0 0.0.0.255则是仅仅允许2.0网段的设备访问外网
[Huawei-acl-basic-2000]in g0/0/0                //进入0接口(外网接口)
[Huawei-GigabitEthernet0/0/0]nat outbound 2000  //应用nat (easy ip方式)

二  VRRP

1  VRRP概述

(1)单网关的缺陷

当网关路由器出现故障时,本网段内以该设备为网关的主机都不能与其他网络进行通信

(2)多网关存在的问题

通过部署多网关的方式实现网关的备份

存在的问题

  • 网关间IP地址冲突
  • 主机会频繁切换网络出口

(3)VRRP定义与原理

VRRP定义

VRRP是虚拟路由冗余协议

VRRP能够在不改变组网的情况下,将多台路由器虚拟成一个虚拟路由器,通过配置虚拟路由器的IP地址为默认网关实现网关的备份
 

VRRP原理 

(4)VRRP组成员

  • 主(Master)路由器
  • 备份 (Backup)路由器
  • 虚拟 (Virtual) 路由器
如果打算将某个设备定义为主:
in vlan 1
vrrp vrid 1 priority 105   //修改vrrp优先级,默认值是100,越高越优先成为主

2  VRRP配置

在三层交换机配置VRRP产生一个虚拟网关192.168.1.254为vlan1的设备使用,实验拓扑如下图所示。

步骤一:pc配置ip

pc1的ip是 192.168.4.1 网关是192.168.4.254

pc2的ip是 192.168.1.1 网关是192.168.1.254

步骤二:第一台三层交换机配置

[Huawei]sysname sw1                 //修改主机名为sw1    
[sw1]undo info-center enable        //关闭日志
[sw1]in vlan 1  //进入vlan1
[sw1-Vlanif1]ip add 192.168.1.252 24  //配置ip
[sw1]vlan 2    //创建vlan2
[sw1-vlan2]in vlan 2   //进入vlan虚拟接口
[sw1-Vlanif2]ip add 192.168.2.2 24  //配ip
[sw1-Vlanif2]in g0/0/2  //进入要配ip的接口
[sw1-GigabitEthernet0/0/2]port link-type access
[sw1-GigabitEthernet0/0/2]port default vlan 2另外一台s5700        
<Huawei>sys
[Huawei]sysname sw2
[sw2]undo info-center enable 
[sw2]in vlan 1
[sw2-Vlanif1]ip add 192.168.1.253 24
[sw2]vlan 3            //创建vlan3
[sw2-vlan3]in vlan 3   //进入vlan虚拟接口
[sw2-Vlanif3]ip add 192.168.3.2 24  //配ip
[sw2-Vlanif3]in g0/0/2  //进入要配ip的接口
[sw2-GigabitEthernet0/0/2]port link-type access
[sw2-GigabitEthernet0/0/2]port default vlan 3

步骤三:路由器配置ip

<Huawei>system-view
[Huawei]interface GigabitEthernet 0/0/0
[Huawei-GigabitEthernet0/0/0]ip address 192.168.2.1 24
[Huawei-GigabitEthernet0/0/0]in g0/0/1
[Huawei-GigabitEthernet0/0/1]ip address 192.168.3.1 24
[Huawei-GigabitEthernet0/0/1]in g0/0/2
[Huawei-GigabitEthernet0/0/2]ip address 192.168.4.254 24

步骤四:分别在路由器与三层交换机上配置ospf

[Huawei]ospf    //在路由器配置ospf
[Huawei-ospf-1]area 0
[Huawei-ospf-1-area-0.0.0.0]network 192.168.2.0 0.0.0.255
[Huawei-ospf-1-area-0.0.0.0]network 192.168.3.0 0.0.0.255
[Huawei-ospf-1-area-0.0.0.0]network 192.168.4.0 0.0.0.255[sw1]ospf       //在sw1配置ospf
[sw1-ospf-1]area 0
[sw1-ospf-1-area-0.0.0.0]network 192.168.1.0 0.0.0.255
[sw1-ospf-1-area-0.0.0.0]network 192.168.2.0 0.0.0.255[sw2]ospf      //在sw2配置ospf
[sw2-ospf-1]area 0
[sw2-ospf-1-area-0.0.0.0]network 192.168.1.0 0.0.0.255
[sw2-ospf-1-area-0.0.0.0]network 192.168.3.0 0.0.0.255

步骤五:在两台三层交换机配置vrrp

[sw1]in vlan 1  //vrrp需要在接口中配置,进入vlan接口
[sw1-Vlanif1]vrrp vrid 1 virtual-ip 192.168.1.254  //开启vrrp功能,组号是1,虚拟设备的ip是1.254[sw2]in vlan 1   //另外这台设备配置一样的内容
[sw2-Vlanif1]vrrp vrid 1 virtual-ip 192.168.1.254
[sw2-Vlanif1]display this  //查看当前视图配置
<sw1>display vrrp brief   //分别在两台三层交换机查看vrrp状态,看到一台是Master一台是backup即可

3  网络负载均衡

组建如下图拓扑结构,通过配置VRRP实现负载均衡的效果

 

首先按图组建拓扑

pc1的ip是192.168.1.1 网关是192.168.1.254

pc2的ip是192.168.2.1 网关是192.168.2.254

pc3的ip是192.168.1.2 网关是192.168.1.254

pc4的ip是192.168.2.2 网关是192.168.2.254

所有交换机依次改名为sw1~sw4并且都要创建vlan2

然后将所有交换机之间的接口都配置成tunk中继链路

第1台s5700配置:
[Huawei]sysname  sw1
[sw1]vlan 2
[sw1-vlan2]quit
[sw1]port-group 1    //创建接口组,组号是1
[sw1-port-group 1]group-member gigabitethernet 0/0/1 to gigabitethernet 0/0/3  
//添加组成员,从g0/0/1到g0/0/3一共3个接口
[sw1-port-group 1]port link-type trunk   //将这些接口配置为中继链路
[sw1-port-group 1]port trunk allow-pass vlan all    //放行所有vlan 的数据
第2台s5700配置:
[Huawei]sysname  sw2
[sw2]vlan 2
[sw2-vlan2]quit
[sw2]port-group 1    //创建接口组,组号是1
[sw2-port-group 1]group-member gigabitethernet 0/0/1 to gigabitethernet 0/0/3  
//添加组成员,从g0/0/1到g0/0/3一共3个接口
[sw2-port-group 1]port link-type trunk   //将这些接口配置为中继链路
[sw2-port-group 1]port trunk allow-pass vlan all    //放行所有vlan 的数据
第1台s3700配置:
[Huawei]sysname  sw3
[sw3]vlan 2
[sw3-vlan2]quit
[sw3]port-group 1    //创建接口组,组号是1
[sw3-port-group 1]group-member ethernet 0/0/1 to ethernet 0/0/2  
//添加组成员,从e0/0/1到e0/0/2一共2个接口
[sw3-port-group 1]port link-type trunk   //将这些接口配置为中继链路
[sw3-port-group 1]port trunk allow-pass vlan all    //放行所有vlan 的数据
[sw3-port-group 1]quit
[sw3]interface ethernet 0/0/4
[sw3-Ethernet0/0/4]port link-type access
[sw3-Ethernet0/0/4]port default vlan 2     //将4口加入vlan2
第2台s3700配置:
[Huawei]sysname  sw4
[sw4]vlan 2
[sw4-vlan2]quit
[sw4]port-group 1    //创建接口组,组号是1
[sw4-port-group 1]group-member ethernet 0/0/1 to ethernet 0/0/2  
//添加组成员,从e0/0/1到e0/0/2一共2个接口
[sw4-port-group 1]port link-type trunk   //将这些接口配置为中继链路
[sw4-port-group 1]port trunk allow-pass vlan all    //放行所有vlan 的数据
[sw4-port-group 1]quit
[sw4]interface ethernet 0/0/4
[sw4-Ethernet0/0/4]port link-type access
[sw4-Ethernet0/0/4]port default vlan 2     //将4口加入vlan2三层交换机配置ip
[sw1]in vlan 1     //第一台三层交换机
[sw1-Vlanif1]ip address  192.168.1.252 24  //配置ip
[sw1-Vlanif1]in vlan 2
[sw1-Vlanif2]ip address 192.168.2.252 24     
[sw2]in vlan 1    //第二台三层交换机
[sw2-Vlanif1]ip address 192.168.1.253 24   //配置ip
[sw2-Vlanif1]in vlan 2
[sw2-Vlanif2]ip address 192.168.2.253 24配置VRRP,实现vrrp负载均衡要做到sw1 vlan1 主 vlan2 备
sw2 vlan1 备 vlan2 主
[sw1]in vlan 1     //第一台三层交换机
[sw1-Vlanif1]vrrp vrid 1 virtual-ip 192.168.1.254   //在sw1配置vrrp 
[sw1-Vlanif1]vrrp vrid 1 priority 105   //设置优先级称为vlan1的主
[sw1]in vlan 2 
[sw1-Vlanif2]vrrp vrid 2 virtual-ip 192.168.2.254   //开启vrrp功能
[sw2]in vlan 1    //第二台三层交换机
[sw2-Vlanif1]vrrp vrid 1 virtual-ip 192.168.1.254  //开启vlan1的vrrp
[sw2-Vlanif1]in vlan 2
[sw2-Vlanif2]vrrp vrid 2 virtual-ip 192.168.2.254
[sw2-Vlanif2]vrrp vrid 2 priority 105    //为vlan2的vrrp设置优先级
配置完毕后使用display vrrp brief 检查,每个5700的vrrp是一主一备即可

相关文章:

Network(四)NAT实现方式与VRRP概述

一 NAT 1 NAT概述 &#xff08;1&#xff09;NAT的作用 Network Address Translation&#xff0c;网络地址转换 通过将内部网络的私有IP地址转换成全球唯一的公网IP地址使内部网络可以连接到互联网。 &#xff08;2&#xff09;私有IP地址分类 A类10.0.0.0~10.255.255.…...

C#_键盘钩子

一、class class KeyboardHook{public event KeyEventHandler KeyDownEvent;public event KeyPressEventHandler KeyPressEvent;public event KeyEventHandler KeyUpEvent;public delegate int HookProc(int nCode, Int32 wParam, IntPtr lParam);static int hKeyboardHook 0;…...

YOLO免费数据集网站收集

目录 Roboflow Universe: Open Source Computer Vision Community Find Open Datasets and Machine Learning Projects | Kaggle ​编辑 【火焰和烟雾图像数据集】-计算机视觉数据集-极市开发者平台 (cvmart.net) 开放数据集- 飞桨AI Studio星河社区 - 人工智能学习与实训社…...

拼图小游戏

package li;import ui.tu; //启动类 public class 主 {public static void main(String[] args) {new tu(); //创建登陆界面} }package ui;import javax.swing.*; import javax.swing.border.BevelBorder; import java.awt.event.ActionEvent; import java.awt.event.ActionLi…...

卷积神经网络(CNN)天气识别

文章目录 前期工作1. 设置GPU&#xff08;如果使用的是CPU可以忽略这步&#xff09;我的环境&#xff1a; 2. 导入数据3. 查看数据 二、数据预处理1. 加载数据2. 可视化数据3. 再次检查数据4. 配置数据集 三、构建CNN网络四、编译五、训练模型六、模型评估 前期工作 1. 设置GP…...

Linux进程间通信之匿名管道

文章目录 为什么要有进程间通信pipe函数共享管道原理管道特点管道的四种情况 管道的应用场景&#xff08;进程池&#xff09;ProcessPool.ccTask.hpp 为什么要有进程间通信 数据传输&#xff1a;一个进程需要将它的数据发送给另一个进程 资源共享&#xff1a;多个进程之间共享…...

【PTA题目】6-19 使用函数输出指定范围内的Fibonacci数 分数 20

6-19 使用函数输出指定范围内的Fibonacci数 分数 20 全屏浏览题目 切换布局 作者 C课程组 单位 浙江大学 本题要求实现一个计算Fibonacci数的简单函数&#xff0c;并利用其实现另一个函数&#xff0c;输出两正整数m和n&#xff08;0<m≤n≤10000&#xff09;之间的所有F…...

运行ps显示msvcp140.dll丢失怎么恢复?msvcp140.dll快速解决的4个不同方法

msvcp140.dll无法继续执行代码的主要原因有以下几点 系统缺失&#xff1a;msvcp140.dll是Visual Studio 2015编译的程序默认的库文件&#xff0c;如果系统中没有这个库文件&#xff0c;那么在运行相关程序时就会出现找不到msvcp140.dll的错误提示。 文件损坏&#xff1a;如果…...

Java多线程(3)

Java多线程(3) 深入剖析Java线程的生命周期&#xff0c;探秘JVM的线程状态&#xff01; 线程的生命周期 Java 线程的生命周期主要包括五个阶段&#xff1a;新建、就绪、运行、阻塞和销毁。 **新建&#xff08;New&#xff09;&#xff1a;**线程对象通过 new 关键字创建&…...

Java线程周期

Java线程的生命周期包含以下状态&#xff1a; 新建&#xff08;New&#xff09;&#xff1a;当一个线程被创建但还没有被启动时&#xff0c;它的状态是新建。就绪&#xff08;Runnable&#xff09;&#xff1a;当线程已经被启动并且没有任何阻止它立即运行的条件时&#xff0c;…...

map与set的封装

目录 红黑树的结点 与 红黑树的迭代器 红黑树的实现&#xff1a; 迭代器&#xff1a; ​编辑 红黑树的查找&#xff1a; 红黑树的插入&#xff1a; ​编辑 检查红色结点&#xff1a;​编辑红黑树的左旋 ​编辑红黑树的右旋 ​编辑红黑树的双旋 Map的封装 ​编辑set的…...

mac无法向移动硬盘拷贝文件怎么解决?不能读取移动硬盘文件怎么解决

有时候我们在使用mac的时候&#xff0c;会遇到一些问题&#xff0c;比如无法向移动硬盘拷贝文件或者不能读取移动硬盘文件。这些问题会给我们的工作和生活带来不便&#xff0c;所以我们需要找到原因和解决办法。本文将为你介绍mac无法向移动硬盘拷贝文件怎么回事&#xff0c;以…...

基于Netty实现的简单聊天服务组件

目录 基于Netty实现的简单聊天服务组件效果展示技术选型&#xff1a;功能分析聊天服务基础设施配置&#xff08;基于Netty&#xff09;定义组件基础的配置&#xff08;ChatProperties&#xff09;定义聊天服务类&#xff08;ChatServer&#xff09;定义聊天服务配置初始化类&am…...

视频封面:从视频中提取封面,轻松制作吸引人的视频

在当今的数字时代&#xff0c;视频已成为人们获取信息、娱乐和交流的重要方式。一个吸引人的视频封面往往能抓住眼球&#xff0c;提高点击率和观看率。今天将介绍如何从视频中提取封面&#xff0c;轻松制作吸引人的视频封面。 一、准备素材选择合适的视频片段 首先&#xff0…...

CICD 持续集成与持续交付——gitlab

部署 虚拟机最小需求&#xff1a;4G内存 4核cpu 下载&#xff1a;https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/ 安装依赖性 [rootcicd1 ~]# yum install -y curl policycoreutils-python openssh-server perl[rootcicd1 ~]# yum install -y gitlab-ce-15.9.3-ce.0…...

Linux - 驱动开发 - RNG框架

说明 公司SOC上有一个新思的真随机数&#xff08;TRNG&#xff09;模块&#xff0c;Linux平台上需要提供接口给外部使用。早期方式是提供一个独立的TRNG驱动&#xff0c;实现比较简单的&#xff0c;但是使用方式不open&#xff0c;为了加入Linux生态环境&#xff0c;对接linux…...

qsort使用举例和qsort函数的模拟实现

qsort使用举例 qsort是C语言中的一个标准库函数&#xff0c;用于对数组或者其他数据结构中的元素进行排序。它的原型如下&#xff1a; void qsort(void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void *)); 我们可以去官网搜来看一看&#xff1a;…...

AttributeError: module ‘gradio‘ has no attribute ‘ClearButton‘解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…...

Kafka 集群如何实现数据同步?

哈喽大家好&#xff0c;我是咸鱼 最近这段时间比较忙&#xff0c;将近一周没更新文章&#xff0c;再不更新我那为数不多的粉丝量就要库库往下掉了 T﹏T 刚好最近在学 Kafka&#xff0c;于是决定写篇跟 Kafka 相关的文章&#xff08;文中有不对的地方欢迎大家指出&#xff09;…...

一本了解生成式人工智能

上周&#xff0c;发了一篇关于大语言模型图数据库技术相结合的文章&#xff0c;引起了很多朋友的兴趣。当然了&#xff0c;这项技术本身就让俺们很兴奋&#xff0c;比如我就是从事图研发的&#xff0c;当然会非常关注它在图领域的应用与相互促就啦。 纵观人类文明历史&#xff…...

golang循环变量捕获问题​​

在 Go 语言中&#xff0c;当在循环中启动协程&#xff08;goroutine&#xff09;时&#xff0c;如果在协程闭包中直接引用循环变量&#xff0c;可能会遇到一个常见的陷阱 - ​​循环变量捕获问题​​。让我详细解释一下&#xff1a; 问题背景 看这个代码片段&#xff1a; fo…...

C++.OpenGL (20/64)混合(Blending)

混合(Blending) 透明效果核心原理 #mermaid-svg-SWG0UzVfJms7Sm3e {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-icon{fill:#552222;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-text{fill…...

【JVM】Java虚拟机(二)——垃圾回收

目录 一、如何判断对象可以回收 &#xff08;一&#xff09;引用计数法 &#xff08;二&#xff09;可达性分析算法 二、垃圾回收算法 &#xff08;一&#xff09;标记清除 &#xff08;二&#xff09;标记整理 &#xff08;三&#xff09;复制 &#xff08;四&#xff…...

android13 app的触摸问题定位分析流程

一、知识点 一般来说,触摸问题都是app层面出问题,我们可以在ViewRootImpl.java添加log的方式定位;如果是touchableRegion的计算问题,就会相对比较麻烦了,需要通过adb shell dumpsys input > input.log指令,且通过打印堆栈的方式,逐步定位问题,并找到修改方案。 问题…...

MySQL 主从同步异常处理

阅读原文&#xff1a;https://www.xiaozaoshu.top/articles/mysql-m-s-update-pk MySQL 做双主&#xff0c;遇到的这个错误&#xff1a; Could not execute Update_rows event on table ... Error_code: 1032是 MySQL 主从复制时的经典错误之一&#xff0c;通常表示&#xff…...

redis和redission的区别

Redis 和 Redisson 是两个密切相关但又本质不同的技术&#xff0c;它们扮演着完全不同的角色&#xff1a; Redis: 内存数据库/数据结构存储 本质&#xff1a; 它是一个开源的、高性能的、基于内存的 键值存储数据库。它也可以将数据持久化到磁盘。 核心功能&#xff1a; 提供丰…...

[论文阅读]TrustRAG: Enhancing Robustness and Trustworthiness in RAG

TrustRAG: Enhancing Robustness and Trustworthiness in RAG [2501.00879] TrustRAG: Enhancing Robustness and Trustworthiness in Retrieval-Augmented Generation 代码&#xff1a;HuichiZhou/TrustRAG: Code for "TrustRAG: Enhancing Robustness and Trustworthin…...

云原生周刊:k0s 成为 CNCF 沙箱项目

开源项目推荐 HAMi HAMi&#xff08;原名 k8s‑vGPU‑scheduler&#xff09;是一款 CNCF Sandbox 级别的开源 K8s 中间件&#xff0c;通过虚拟化 GPU/NPU 等异构设备并支持内存、计算核心时间片隔离及共享调度&#xff0c;为容器提供统一接口&#xff0c;实现细粒度资源配额…...

LLaMA-Factory 微调 Qwen2-VL 进行人脸情感识别(二)

在上一篇文章中,我们详细介绍了如何使用LLaMA-Factory框架对Qwen2-VL大模型进行微调,以实现人脸情感识别的功能。本篇文章将聚焦于微调完成后,如何调用这个模型进行人脸情感识别的具体代码实现,包括详细的步骤和注释。 模型调用步骤 环境准备:确保安装了必要的Python库。…...

ubuntu22.04 安装docker 和docker-compose

首先你要确保没有docker环境或者使用命令删掉docker sudo apt-get remove docker docker-engine docker.io containerd runc安装docker 更新软件环境 sudo apt update sudo apt upgrade下载docker依赖和GPG 密钥 # 依赖 apt-get install ca-certificates curl gnupg lsb-rel…...