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

配置公网和私网用户通过非公网口的IP地址访问内部服务器和Internet示例

组网需求

如配置公网和私网用户通过非公网口的IP地址访问内部服务器和Internet示例所示,某小型企业内网部署了一台路由器、一台FTP服务器和一台Web服务器。路由器作为接入网关,为下挂的内网用户提供上网服务,主要包括浏览网页、使用即时通信工具、观看视频、访问邮箱等。企业内网的FTP/Web服务器对内网和外网用户分别提供FTP服务和WWW服务。该企业有两个公网IP地址,一个1.1.1.1/24部署在网关上行接口,另一个1.1.1.3/24预留给内部FTP/Web服务器使用。企业希望在路由器上配置NAT功能,使内网用户可以访问Internet,同时外网和内网用户都可以通过预留的公网IP地址访问内部FTP/Web服务器。

图1 配置公网和私网用户通过非公网口的IP地址访问内部FTP/Web服务器和Internet

数据准备
表1 数据准备表

项目

数据

说明

路由器上行接口IP地址

GE0/0/1:1.1.1.1/24(公网口)

使用三层接口GE0/0/1连接Internet。

路由器下行接口IP地址

GE0/0/2:192.168.1.1/24

使用三层接口GE0/0/2连接企业内网用户。如果有多个内网用户需要上网,可以在路由器上下挂一个二层交换机来扩展用户个数。

对端运营商接口的IP地址

1.1.1.2/24

对端运营商接口的IP地址用于配置路由信息,否则内网用户上网的报文无法转发到Internet。

FTP服务器的内网IP地址和端口号

Web服务器的内网IP地址和端口号

192.168.1.2/24:21

192.168.1.3/24:80

企业内网分配给FTP/Web服务器的内网IP地址和端口号。本例中,虽然内网用户和FTP/Web服务器都在内网,但是为了防止内部服务器受内网用户的攻击,要求内网用户也通过预留的公网IP地址来访问FTP/Web服务器。

FTP服务器映射后的公网IP地址和端口号

Web服务器映射后的公网IP地址和端口号

1.1.1.3/24:21

1.1.1.3/24:9080

该企业预留了一个公网IP地址1.1.1.3/24给内部FTP/Web服务器使用。因此,可以使用该公网IP地址作为FTP/Web服务器映射后的公网IP地址。同时,需要规划不同的公网端口号21和9080来区分FTP/Web服务器。

内网用户HostA的IP地址

192.168.1.10/24

企业内部分配给用户的内网IP地址,用于验证内网用户访问Internet、FTP和Web服务器是否正常。

外网用户HostC的IP地址

2.2.2.2/24

外部用户的公网IP地址,用于验证外网用户访问内网的FTP/Web服务器是否正常。

配置思路
  1. 配置路由器的接口IP地址、缺省路由,实现内部网络和外部Internet之间三层互通。
  2. 在路由器的上行接口配置Easy IP方式的NAT Outbound,实现内网用户访问Internet功能。
  3. 在路由器的上行接口配置服务器映射NAT Static,实现外网用户访问内部FTP/Web服务器功能。
  4. 在路由器上,开启FTP的NAT ALG功能。FTP协议是一个多通道协议,需要配置NAT ALG功能,否则报文无法穿越NAT,HTTP协议不需要配置NAT ALG功能。
  5. 在路由器的下行接口配置服务器映射NAT Static和Easy IP方式的NAT Outbound,将内部服务器与内网PC之间的流量都引到路由器上进行转发,实现内网用户通过预留的公网IP地址访问FTP/Web服务器功能。

操作步骤
  1. 配置Router的接口IP地址、缺省路由,实现内部网络和外部Internet之间三层互通。
    1. 配置上行接口和下行接口的IP地址。

      <Huawei> system-view
      [Huawei] sysname Router
      [Router] interface gigabitethernet 0/0/1 
      [Router-GigabitEthernet0/0/1] undo portswitch       //有些二层接口需要切换成三层接口后,才可以配置IP地址
      [Router-GigabitEthernet0/0/1] ip address 1.1.1.1 24  
      [Router-GigabitEthernet0/0/1] quit       
      [Router] interface gigabitethernet 0/0/2         //下行接口如果不是三层接口,这里可以使用VLANIF接口代替
      [Router-GigabitEthernet0/0/2] undo portswitch
      [Router-GigabitEthernet0/0/2] ip address 192.168.1.1 24  
      [Router-GigabitEthernet0/0/2] quit

    2. 配置缺省路由,下一跳为对端运营商接口的IP地址,保证内网用户上网的报文可以到达Internet。

      [Router] ip route-static 0.0.0.0 0.0.0.0 1.1.1.2

  2. 在Router的上行接口配置Easy IP方式的NAT Outbound,使内网用户可以访问Internet。

    [Router] acl 3000
    [Router-acl-adv-3000] rule 5 permit ip source 192.168.1.0 0.0.0.255 //只允许192.168.1.0网段的用户访问Internet
    [Router-acl-adv-3000] quit
    [Router] interface gigabitethernet 0/0/1
    [Router-GigabitEthernet0/0/1] nat outbound 3000 
    [Router-GigabitEthernet0/0/1] quit

  3. 在Router的上行接口配置服务器映射NAT Static,实现外网用户通过预留的公网IP地址访问内部FTP/Web服务器功能。

    [Router] interface gigabitethernet 0/0/1
    [Router-GigabitEthernet0/0/1] nat static protocol tcp global 1.1.1.3 21 inside 192.168.1.2 21  //使用预留的IP地址进行NAT转换,供外网用户访问
    [Router-GigabitEthernet0/0/1] nat static protocol tcp global 1.1.1.3 9080 inside 192.168.1.3 80   //对于知名端口号,可以配置成80,也可以配置成它代表的应用www 
    [Router-GigabitEthernet0/0/1] quit

  4. 在Router上开启FTP的NAT ALG功能。

    [Router] nat alg ftp enable

  5. 在Router的下行接口配置Easy IP方式的NAT Outbound,将内部服务器与内网PC之间的流量都引到路由器上进行转发。

    [Router] acl 3001
    [Router-acl-adv-3001] rule 5 permit ip source 192.168.1.0 0.0.0.255 destination 1.1.1.3 0   //只有内部主机使用公网IP地址访问服务器的流量,才会引到Router上进行NAT转换 
    [Router-acl-adv-3001] quit
    [Router] interface gigabitethernet 0/0/2
    [Router-GigabitEthernet0/0/2] nat outbound 3001 
    [Router-GigabitEthernet0/0/2] quit

  6. 在Router的下行接口配置服务器映射NAT Static,实现内网用户通过预留的公网IP地址访问内部FTP/Web服务器功能。

    [Router] interface gigabitethernet 0/0/2
    [Router-GigabitEthernet0/0/2] nat static protocol tcp global 1.1.1.3 21 inside 192.168.1.2 21   //使用预留的IP地址进行NAT转换,供内网用户访问
    [Router-GigabitEthernet0/0/2] nat static protocol tcp global 1.1.1.3 9080 inside 192.168.1.3 80
    [Router-GigabitEthernet0/0/2] quit
    [Router] quit

  7. 验证配置结果。
    1. 在Router上执行命令display nat outbound,查看动态NAT地址池配置。

      <Router> display nat outboundNAT Outbound Information:                                                      --------------------------------------------------------------------------     Interface                     Acl     Address-group/IP/Interface      Type     --------------------------------------------------------------------------     GigabitEthernet0/0/1         3000                        1.1.1.1    easyip     GigabitEthernet0/0/2         3001                    192.168.1.1    easyip     --------------------------------------------------------------------------     Total : 2                                                                  

    2. 在Router上执行命令display nat static,查看静态NAT地址映射关系。

      <Router> display nat staticStatic Nat Information:                                                       Interface  : GigabitEthernet0/0/1                                             Global IP/Port     : 1.1.1.3/21(ftp)                                        Inside IP/Port     : 192.168.1.2/21(ftp)                                    Protocol : 6(tcp)                                                           VPN instance-name  : ----                                                   Acl number         : ----                                                   Vrrp id            : ----                                                   Netmask  : 255.255.255.255                                                  Description : ----                                                          Global IP/Port     : 1.1.1.3/9080                                           Inside IP/Port     : 192.168.1.3/80(www)                                    Protocol : 6(tcp)                                                           VPN instance-name  : ----                                                   Acl number         : ----                                                   Vrrp id            : ----                                                   Netmask  : 255.255.255.255                                                  Description : ----                                                          Interface  : GigabitEthernet0/0/2                                             Global IP/Port     : 1.1.1.3/21(ftp)                                        Inside IP/Port     : 192.168.1.2/21(ftp)                                    Protocol : 6(tcp)                                                           VPN instance-name  : ----                                                   Acl number         : ----                                                   Vrrp id            : ----                                                   Netmask  : 255.255.255.255                                                  Description : ----                                                          Global IP/Port     : 1.1.1.3/9080                                           Inside IP/Port     : 192.168.1.3/80(www)                                    Protocol : 6(tcp)                                                           VPN instance-name  : ----                                                   Acl number         : ----                                                   Vrrp id            : ----                                                   Netmask  : 255.255.255.255                                                  Description : ----                                                          Total :    4 

    3. 在内网主机HostA上执行命令ping 1.1.1.2,模拟内网主机访问Internet,流量能Ping通,同时在Router上执行命令display nat session all可以查看到地址转换结果。

    4. 在内网主机HostA上执行命令ftp 1.1.1.3 21,模拟内网主机访问内部FTP服务器,FTP能正常访问,同时在Router上执行命令display nat session all可以查看到地址转换结果。

    5. 在外网主机HostC上执行命令ftp 1.1.1.3 21,模拟外网主机访问内部FTP服务器,FTP能正常访问,同时在Router上执行命令display nat session all可以查看到地址转换结果。

配置文件

Router配置文件

#sysname Router
#
acl number 3000                                                                 rule 5 permit ip source 192.168.1.0 0.0.0.255                                  
acl number 3001                                                                 rule 5 permit ip source 192.168.1.0 0.0.0.255 destination 1.1.1.3 0            
#
nat alg ftp enable
#
interface GigabitEthernet0/0/1undo portswitch                                                                ip address 1.1.1.1 255.255.255.0                                               nat static protocol tcp global 1.1.1.3 ftp inside 192.168.1.2 ftp netmask 255.255.255.255                                                                      nat static protocol tcp global 1.1.1.3 9080 inside 192.168.1.3 www netmask 255.255.255.255                                                                     nat outbound 3000
#
interface GigabitEthernet0/0/2undo portswitch                                                                ip address 192.168.1.1 255.255.255.0                                           nat static protocol tcp global 1.1.1.3 ftp inside 192.168.1.2 ftp netmask 255.255.255.255                                                                      nat static protocol tcp global 1.1.1.3 9080 inside 192.168.1.3 www netmask 255.255.255.255                                                                     nat outbound 3001
#
ip route-static 0.0.0.0 0.0.0.0 1.1.1.2
#
return

相关文章:

配置公网和私网用户通过非公网口的IP地址访问内部服务器和Internet示例

组网需求 如配置公网和私网用户通过非公网口的IP地址访问内部服务器和Internet示例所示&#xff0c;某小型企业内网部署了一台路由器、一台FTP服务器和一台Web服务器。路由器作为接入网关&#xff0c;为下挂的内网用户提供上网服务&#xff0c;主要包括浏览网页、使用即时通信…...

相机镜头选择与机器视觉控制

相机镜头选择与机器视觉控制 在机器视觉领域&#xff0c;除了图像处理和算法&#xff0c;还需要关注硬件方面的选型和控制。相机镜头的选择是其中重要的一部分&#xff0c;需要考虑像素大小、镜头焦距等因素以满足项目需求。此外&#xff0c;编程技能也包括相机的调用和使用&a…...

Git 为文件添加执行权限

背景 当你是一台Linux&#xff0c;想要给文件加权限很简单&#xff0c;只需要执行以下命令 chmod x filename就可以给文件添加执行权限&#xff0c;但是如果你是Windows那就很麻烦了 解决方案 假设这里有一个名为 file.sh 的文件&#xff0c;内容如下&#xff1a; #!/bin/…...

问题记录:GPU显卡提高后,代码总体运行效率没有提高

问题&#xff1a;GPU显卡提高后&#xff0c;代码总体运行效率没有提高 原先显卡NIVIDA T400换成NVIDIA RTX A4000&#xff0c;CUDA核心&#xff08;物理GPU线程单位&#xff09;从三百多提升到了六千多&#xff0c;但是程序总体运行的时间没有变化。 原因分析 显卡没用上或者…...

Reparameterization trick(重参数化技巧)

“Reparameterization trick”&#xff08;重参数化技巧&#xff09;是一种在训练生成模型中处理随机性潜在变量的方法&#xff0c;特别常见于变分自动编码器&#xff08;VAE&#xff09;等模型中。这个技巧的目的是使模型可微分&#xff08;differentiable&#xff09;&#x…...

Kotlin中的可空类型

在 Kotlin 中&#xff0c;可空类型是一项重要的特性&#xff0c;它允许我们声明变量可以为空。在本篇博客中&#xff0c;我们将介绍 Kotlin 中的可空类型&#xff0c;并提供示例代码演示如何处理可空变量、使用安全调用操作符&#xff08;?.&#xff09;、Elvis 运算符&#x…...

数学建模——最大流问题(配合例子说明)

目录 一、最大流有关的概念 例1 1、容量网络的定义 2、符号设置 3、建立模型 3.1 每条边的容量限制 3.2 平衡条件 3.3 网络的总流量 4、网络最大流数学模型 5、计算 二、最小费用流 例2 【符号说明】 【建立模型】 &#xff08;1&#xff09;各条边的流量限制 &a…...

AAOS CarMediaService 服务框架

文章目录 前言MediaSessionCarMediaService作用是什么&#xff1f;提供了哪些接口&#xff1f;如何使用&#xff1f;CarMediaService的实现总结 前言 CarMediaService 是AAOS中统一管理媒体播放控制、信息显示和用户交互等功能的服务。这一服务依赖于android MediaSession框架…...

gRPC之gRPC转换HTTP

1、gRPC转换HTTP 我们通常把RPC用作内部通信&#xff0c;而使用Restful Api进行外部通信。为了避免写两套应用&#xff0c;我们使用grpc- gateway 把gRPC转成HTTP。服务接收到HTTP请求后&#xff0c;grpc-gateway把它转成gRPC进行处理&#xff0c;然后以JSON 形式返回数据。…...

【十四】记一次MySQL宕机恢复过程,MySQL INNODB 损坏恢复

记一次MySQL宕机恢复过程 简介&#xff1a;一个业务数据库疏于运维管理&#xff0c;突然在今天崩溃宕机了&#xff0c;真是让人抓狂&#xff0c;上面也不知道积累了多久的数据&#xff0c;平时也没有定期做好备份&#xff0c;这下岂不是瞎了啊&#xff0c;经过不断的收集信息和…...

从0开始在Vscode中搭建Vue2/3项目详细步骤

1.安装node.js:Node.js下载安装及环境配置教程【超详细】_nodejs下载_WHF__的博客-CSDN博客 node.js自带npm&#xff0c;无需单独安装。 验证&#xff1a; node -v npm -v 2.先简单创建一个空文件夹&#xff0c;vscode进入该文件夹&#xff0c;并打开终端。 3.安装cnpm&…...

JavaScript ES6类的定义与继承

文章目录 一、class方式定义类1.认识class定义类2.类和构造函数的异同3.类的构造函数4.类的实例方法5.类的访问器方法6.类的静态方法 二、继承1.extends实现继承2.super关键字3.继承内置类4.类的混入mixin 三、ES6转ES51.class转换2.extends转换 四、多态 一、class方式定义类 …...

中科芯与IAR共建生态合作,IAR集成开发环境全面支持CKS32系列MCU

中国上海–2023年10月18日–嵌入式开发软件和服务的全球领导者IAR今日宣布&#xff0c;与中科芯集成电路有限公司&#xff08;以下简称中科芯&#xff09;达成生态合作&#xff0c;IAR已全面支持CKS32系列MCU的应用开发。这一合作将进一步推动嵌入式系统的发展&#xff0c;并为…...

设计模式:外观模式(C#、JAVA、JavaScript、C++、Python、Go、PHP)

大家好&#xff01;本节主要介绍设计模式中的外观模式。 简介&#xff1a; 外观模式&#xff0c;它是一种设计模式&#xff0c;它为子系统中的一组接口提供一个统一的、简单的接口。这种模式主张按照描述和判断资料来评价课程&#xff0c;关键活动是在课程实施的全过程中进行…...

Leetcode—34.在排序数组中查找元素的第一个和最后一个位置【中等】

2023每日刷题&#xff08;六&#xff09; Leetcode—34.在排序数组中查找元素的第一个和最后一个位置 实现代码 /*** Note: The returned array must be malloced, assume caller calls free().*/ int lower_bound(int *arr, int numsSize, int target) {// 左闭右开区间[lef…...

Java 8 新特性 Ⅱ

方法引用 举例: Integer :: compare 理解: 可以看作是基于lambda表达式的进一步简化 当需要提供一个函数式接口的实例时, 可以使用lambda表达式提供实例 当满足一定条件下, 可以使用方法引用or构造器引用替换lambda表达式 实质: 方法引用作为函数式接口的实例 (注: 需要熟悉…...

C语言学习书籍推荐

C语言学习书籍推荐如下&#xff1a; 《C程序设计语言》&#xff08;The C Programming language&#xff09;&#xff1a;这本书由C语言创始人Brian W. Kernighan和Dennis M. Ritchie所写&#xff0c;是介绍标准C语言及其程序设计方法的权威性经典著作。《C陷阱与缺陷》&#…...

IntelliJ IDEA Maven加载超时问题

IDEA创建Maven项目遇到如下错误&#xff1a; Could not transfer artifact org.apache.maven.plugins:maven-compiler-plugin:pom:3.10.1 from/to central (Central Repository:): Connect to repo.maven.apache.org:443 [repo.maven.apache.org/146.75.112.215] failed: conn…...

Spring中事务失效的几种场景及解决办法

未抛出异常&#xff1a;如果在一个带有事务的方法中没有抛出异常&#xff0c;Spring无法检测到事务失败&#xff0c;从而无法回滚。解决方法是确保在事务中遇到错误时抛出异常。 异常被捕获&#xff1a;如果在一个带有事务的方法中抛出异常&#xff0c;但被捕获并处理了&#…...

第五届太原理工大学程序设计竞赛新生赛(初赛)题解

第五届太原理工大学程序设计竞赛新生赛&#xff08;初赛&#xff09;题解 时隔半年重做一次&#xff0c;还是有几道不会&#xff0c;&#xff0c;&#xff0c;&#xff0c;&#xff0c; ⭐️A.饿饿饭饭 题目&#xff1a; &#x1f31f;题解&#xff1a; 很简单&#xff0c;签…...

<6>-MySQL表的增删查改

目录 一&#xff0c;create&#xff08;创建表&#xff09; 二&#xff0c;retrieve&#xff08;查询表&#xff09; 1&#xff0c;select列 2&#xff0c;where条件 三&#xff0c;update&#xff08;更新表&#xff09; 四&#xff0c;delete&#xff08;删除表&#xf…...

java 实现excel文件转pdf | 无水印 | 无限制

文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...

MMaDA: Multimodal Large Diffusion Language Models

CODE &#xff1a; https://github.com/Gen-Verse/MMaDA Abstract 我们介绍了一种新型的多模态扩散基础模型MMaDA&#xff0c;它被设计用于在文本推理、多模态理解和文本到图像生成等不同领域实现卓越的性能。该方法的特点是三个关键创新:(i) MMaDA采用统一的扩散架构&#xf…...

质量体系的重要

质量体系是为确保产品、服务或过程质量满足规定要求&#xff0c;由相互关联的要素构成的有机整体。其核心内容可归纳为以下五个方面&#xff1a; &#x1f3db;️ 一、组织架构与职责 质量体系明确组织内各部门、岗位的职责与权限&#xff0c;形成层级清晰的管理网络&#xf…...

【单片机期末】单片机系统设计

主要内容&#xff1a;系统状态机&#xff0c;系统时基&#xff0c;系统需求分析&#xff0c;系统构建&#xff0c;系统状态流图 一、题目要求 二、绘制系统状态流图 题目&#xff1a;根据上述描述绘制系统状态流图&#xff0c;注明状态转移条件及方向。 三、利用定时器产生时…...

06 Deep learning神经网络编程基础 激活函数 --吴恩达

深度学习激活函数详解 一、核心作用 引入非线性:使神经网络可学习复杂模式控制输出范围:如Sigmoid将输出限制在(0,1)梯度传递:影响反向传播的稳定性二、常见类型及数学表达 Sigmoid σ ( x ) = 1 1 +...

Linux --进程控制

本文从以下五个方面来初步认识进程控制&#xff1a; 目录 进程创建 进程终止 进程等待 进程替换 模拟实现一个微型shell 进程创建 在Linux系统中我们可以在一个进程使用系统调用fork()来创建子进程&#xff0c;创建出来的进程就是子进程&#xff0c;原来的进程为父进程。…...

如何在网页里填写 PDF 表格?

有时候&#xff0c;你可能希望用户能在你的网站上填写 PDF 表单。然而&#xff0c;这件事并不简单&#xff0c;因为 PDF 并不是一种原生的网页格式。虽然浏览器可以显示 PDF 文件&#xff0c;但原生并不支持编辑或填写它们。更糟的是&#xff0c;如果你想收集表单数据&#xff…...

STM32---外部32.768K晶振(LSE)无法起振问题

晶振是否起振主要就检查两个1、晶振与MCU是否兼容&#xff1b;2、晶振的负载电容是否匹配 目录 一、判断晶振与MCU是否兼容 二、判断负载电容是否匹配 1. 晶振负载电容&#xff08;CL&#xff09;与匹配电容&#xff08;CL1、CL2&#xff09;的关系 2. 如何选择 CL1 和 CL…...

自然语言处理——文本分类

文本分类 传统机器学习方法文本表示向量空间模型 特征选择文档频率互信息信息增益&#xff08;IG&#xff09; 分类器设计贝叶斯理论&#xff1a;线性判别函数 文本分类性能评估P-R曲线ROC曲线 将文本文档或句子分类为预定义的类或类别&#xff0c; 有单标签多类别文本分类和多…...