当前位置: 首页 > 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;签…...

挑战杯推荐项目

“人工智能”创意赛 - 智能艺术创作助手&#xff1a;借助大模型技术&#xff0c;开发能根据用户输入的主题、风格等要求&#xff0c;生成绘画、音乐、文学作品等多种形式艺术创作灵感或初稿的应用&#xff0c;帮助艺术家和创意爱好者激发创意、提高创作效率。 ​ - 个性化梦境…...

PHP和Node.js哪个更爽?

先说结论&#xff0c;rust完胜。 php&#xff1a;laravel&#xff0c;swoole&#xff0c;webman&#xff0c;最开始在苏宁的时候写了几年php&#xff0c;当时觉得php真的是世界上最好的语言&#xff0c;因为当初活在舒适圈里&#xff0c;不愿意跳出来&#xff0c;就好比当初活在…...

el-switch文字内置

el-switch文字内置 效果 vue <div style"color:#ffffff;font-size:14px;float:left;margin-bottom:5px;margin-right:5px;">自动加载</div> <el-switch v-model"value" active-color"#3E99FB" inactive-color"#DCDFE6"…...

ElasticSearch搜索引擎之倒排索引及其底层算法

文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...

Web 架构之 CDN 加速原理与落地实践

文章目录 一、思维导图二、正文内容&#xff08;一&#xff09;CDN 基础概念1. 定义2. 组成部分 &#xff08;二&#xff09;CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 &#xff08;三&#xff09;CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 &#xf…...

html css js网页制作成品——HTML+CSS榴莲商城网页设计(4页)附源码

目录 一、&#x1f468;‍&#x1f393;网站题目 二、✍️网站描述 三、&#x1f4da;网站介绍 四、&#x1f310;网站效果 五、&#x1fa93; 代码实现 &#x1f9f1;HTML 六、&#x1f947; 如何让学习不再盲目 七、&#x1f381;更多干货 一、&#x1f468;‍&#x1f…...

使用Matplotlib创建炫酷的3D散点图:数据可视化的新维度

文章目录 基础实现代码代码解析进阶技巧1. 自定义点的大小和颜色2. 添加图例和样式美化3. 真实数据应用示例实用技巧与注意事项完整示例(带样式)应用场景在数据科学和可视化领域,三维图形能为我们提供更丰富的数据洞察。本文将手把手教你如何使用Python的Matplotlib库创建引…...

安宝特方案丨船舶智造的“AR+AI+作业标准化管理解决方案”(装配)

船舶制造装配管理现状&#xff1a;装配工作依赖人工经验&#xff0c;装配工人凭借长期实践积累的操作技巧完成零部件组装。企业通常制定了装配作业指导书&#xff0c;但在实际执行中&#xff0c;工人对指导书的理解和遵循程度参差不齐。 船舶装配过程中的挑战与需求 挑战 (1…...

JS设计模式(4):观察者模式

JS设计模式(4):观察者模式 一、引入 在开发中&#xff0c;我们经常会遇到这样的场景&#xff1a;一个对象的状态变化需要自动通知其他对象&#xff0c;比如&#xff1a; 电商平台中&#xff0c;商品库存变化时需要通知所有订阅该商品的用户&#xff1b;新闻网站中&#xff0…...

【Go语言基础【12】】指针:声明、取地址、解引用

文章目录 零、概述&#xff1a;指针 vs. 引用&#xff08;类比其他语言&#xff09;一、指针基础概念二、指针声明与初始化三、指针操作符1. &&#xff1a;取地址&#xff08;拿到内存地址&#xff09;2. *&#xff1a;解引用&#xff08;拿到值&#xff09; 四、空指针&am…...