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

如何写一篇基于Spring Boot + Vue + 微信小程序的软件的接口文档

如何写一篇基于Spring Boot Vue 微信小程序的软件的接口文档 下面是一个例子&#xff0c;仅供参考&#xff01; 基于Spring Boot Vue 微信小程序的博客系统接口文档 技术栈&#xff1a;Spring Boot 3.x Vue 3 Element Plus 微信小程序原生框架 文档版本&#xff1a;v1…...

C++ vector容器存储对象和存储指针的区别(vector对象、vector指针)(存储指针时推荐使用智能指针)

文章目录 **1. 内存管理**- **存储对象**&#xff1a;- **存储指针**&#xff1a; **2. 生命周期控制**- **存储对象**&#xff1a;- **存储指针**&#xff1a; **3. 性能差异**- **存储对象**&#xff1a;- **存储指针**&#xff1a; **4. 使用场景**- **选择存储对象的情况**…...

Linux68 FTP 测试 上传下载

6.在vi编辑器里&#xff0c;哪个命令能将光标移到第200行&#xff1f;&#xff08; B &#xff09; 7.A、200g B、:200 C、g200 D、G200 假如您需要找出 /etc/my.conf 文件属于哪个包 (package) &#xff0c;您可以执行&#xff08; D &#xff09;C A、 rpm -q /etc/my.co…...

AI+预测3D新模型百十个定位预测+胆码预测+去和尾2025年6月8日第102弹

从今天开始&#xff0c;咱们还是暂时基于旧的模型进行预测&#xff0c;好了&#xff0c;废话不多说&#xff0c;按照老办法&#xff0c;重点8-9码定位&#xff0c;配合三胆下1或下2&#xff0c;杀1-2个和尾&#xff0c;再杀4-5个和值&#xff0c;可以做到100-300注左右。 (1)定…...

树莓派系统中设置固定 IP

在基于 Ubuntu 的树莓派系统中&#xff0c;设置固定 IP 地址主要有以下几种方法&#xff1a; 方法一&#xff1a;使用 Netplan 配置&#xff08;Ubuntu 18.04 及以上版本默认使用 Netplan&#xff09; 查看网络接口名称 在终端输入ip link或ip a命令&#xff0c;查看当前所使…...

AI是如何换装的?

AI换装是一种基于计算机视觉、深度学习和生成对抗网络(GAN)的技术,能够通过算法自动识别人像并更换服饰,实现虚拟换装的效果。这项技术广泛应用于电商服装试穿、虚拟偶像、影视特效、社交媒体滤镜等领域。 AI换装的核心技术 1. 图像分割与人体解析 换装的第一步是图像分…...

Python爬虫-爬取各省份各年份高考分数线数据,进行数据分析

前言 本文是该专栏的第60篇,后面会持续分享python爬虫干货知识,记得关注。 本文,笔者将基于Python爬虫,爬取各省份历年以来的“各年份高考分数线”进行数据分析。 废话不多说,具体实现思路和详细逻辑,笔者将在正文结合完整代码进行详细介绍。接下来,跟着笔者直接往下看…...

atc abc409E

原题链接&#xff1a;E - Pair Annihilation 题目背景&#xff1a; n 个点 n - 1 条边的有权无向图&#xff0c;每个点都有一个值&#xff0c;两个连通的点的值可以互相抵消&#xff0c;既将u 的 -1 传给 v 时可以抵消掉 v 的 1 并花费边权值&#xff1b;求最小花费。 考察算…...

OpenCV CUDA模块图像处理------双边滤波的GPU版本函数bilateralFilter()

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 该函数在 GPU 上执行双边滤波操作&#xff0c;是一种非线性平滑滤波器&#xff0c;能够在 保留边缘的同时去除噪声。 函数原型 void cv::cuda:…...

SpringAI(GA):Nacos2下的分布式MCP

原文链接地址&#xff1a;SpringAI(GA)&#xff1a;Nacos2下的分布式MCP 教程说明 说明&#xff1a;本教程将采用2025年5月20日正式的GA版&#xff0c;给出如下内容 核心功能模块的快速上手教程核心功能模块的源码级解读Spring ai alibaba增强的快速上手教程 源码级解读 版…...