【防火墙】防火墙NAT Server的配置
Web举例:公网用户通过NAT Server访问内部服务器
介绍公网用户通过NAT Server访问内部服务器的配置举例。
组网需求
某公司在网络边界处部署了FW作为安全网关。为了使私网Web服务器和FTP服务器能够对外提供服务,需要在FW上配置NAT Server功能。除了公网接口的IP地址外,公司还向ISP申请了一个IP地址(1.1.1.10)作为内网服务器对外提供服务的地址。网络环境如图1所示,其中Router是ISP提供的接入网关。

数据规划
| 项目 | 数据 | 说明 | |
|---|---|---|---|
| GigabitEthernet 1/0/1 | IP地址:1.1.1.1/24 安全区域:Untrust | 实际配置时需要按照ISP的要求进行配置。 | |
| GigabitEthernet 1/0/2 | IP地址:10.2.0.1/24 安全区域:DMZ | 内网服务器需要将10.2.0.1配置为默认网关。 | |
| NAT Server | 名称:policy_web 公网地址:1.1.1.10 私网地址:10.2.0.7 公网端口:8080 私网端口:80 | 通过该映射,使用外网用户能够访问1.1.1.10,且端口号为8080的流量能够送给内网的Web服务器。 Web服务器的私网地址为10.2.0.7,私网端口号为80。 | |
| 名称:policy_ftp 公网地址:1.1.1.10 私网地址:10.2.0.8 公网端口:21 私网端口:21 | 通过该映射,使用外网用户能够访问1.1.1.10,且端口号为21的流量能够送给内网的FTP服务器。 FTP服务器的私网地址为10.2.0.8,私网端口号为21。 | ||
| 路由 | 缺省路由 | 目的地址:0.0.0.0 下一跳:1.1.1.254 | 为了内网服务器对外提供的服务流量可以正常转发至ISP的路由器,可以在FW上配置去往Internet的缺省路由。 |
配置思路
- 配置接口IP地址和安全区域,完成网络基本参数配置。
- 配置安全策略,允许外部网络用户访问内部服务器。
- 配置NAT Server,分别映射内网Web服务器和FTP服务器。
- 在FW上配置缺省路由,使内网服务器对外提供的服务流量可以正常转发至ISP的路由器。
- 在Router上配置到NAT Server的公网地址的静态路由。
操作步骤
- 配置FW的接口IP地址,并将接口加入安全区域。
- 配置接口GigabitEthernet 1/0/1的IP地址,并将接口加入安全区域。
-
选择“网络 > 接口”。
-
在“接口列表”中,单击接口GigabitEthernet 1/0/1所在行的

,按如下参数进行配置。
安全区域
untrust
IPv4
IP地址
1.1.1.1/24
-
单击“确定”。
-
- 配置接口GigabitEthernet 1/0/2的IP地址,并将接口加入安全区域。
-
在“接口列表”中,单击接口GigabitEthernet 1/0/2所在行的

,按如下参数进行配置。
安全区域
dmz
IPv4
IP地址
10.2.0.1/24
-
单击“确定”。
-
- 配置接口GigabitEthernet 1/0/1的IP地址,并将接口加入安全区域。
- 配置安全策略,允许外部网络用户访问内部服务器。
-
选择“策略 > 安全策略 > 安全策略”。
-
在“安全策略列表”中,单击“新建”,选择“新建安全策略”,按如下参数配置安全策略。
名称
policy1
源安全区域
untrust
目的安全区域
dmz
目的地址/地区
10.2.0.0/24
动作
允许
-
单击“确定”。
-
- 配置服务器映射(NAT Server)功能,创建两条服务器映射,分别映射内网Web服务器和FTP服务器。
- 选择“策略 > NAT策略 > 服务器映射”。

- 单击“新建”,按如下参数配置服务器映射,用于映射内网Web服务器。

- 单击“确定”。
- 参考上述步骤,按如下参数再创建一条服务器映射,用于映射内网FTP服务器。


当NAT Server的global地址与公网接口地址不在同一网段时,必须配置黑洞路由;当NAT Server的global地址与公网接口地址在同一网段时,建议配置黑洞路由;当NAT Server的global地址与公网接口地址一致时,不会产生路由环路,不需要配置黑洞路由。
- 选择“策略 > NAT策略 > 服务器映射”。
- 开启FTP协议的NAT ALG功能。
- 选择“策略 > ASPF配置”。

- 在“ASPF配置”界面,勾选“FTP”。
- 选择“策略 > ASPF配置”。
- 在FW上配置缺省路由,使内网服务器对外提供的服务流量可以正常转发至ISP的路由器。
- 选择“网络 > 路由 > 静态路由”。
- 在“静态路由列表”中,单击“新建”,按如下参数配置缺省路由。
协议类型
IPv4
目的地址/掩码
0.0.0.0/0.0.0.0
下一跳
1.1.1.254
- 单击“确定”。
- 在Router上配置到服务器映射的公网地址(1.1.1.10)的静态路由,下一跳为1.1.1.1,使得去服务器的流量能够送往FW。
通常需要联系ISP的网络管理员来配置此静态路由。
配置脚本
FW的配置脚本:
#sysname FW #nat server policy_web 0 protocol tcp global 1.1.1.10 8080 inside 10.2.0.7 www unr-routenat server policy_ftp 1 protocol tcp global 1.1.1.10 ftp inside 10.2.0.8 ftp unr-route # interface GigabitEthernet1/0/1undo shutdownip address 1.1.1.1 255.255.255.0 # interface GigabitEthernet1/0/2undo shutdownip address 10.2.0.1 255.255.255.0 # firewall zone untrustset priority 5add interface GigabitEthernet1/0/1 # firewall zone dmzset priority 50add interface GigabitEthernet1/0/2 # firewall interzone dmz untrust detect ftp #ip route-static 0.0.0.0 0.0.0.0 1.1.1.254 # security-policy rule name policy1 source-zone untrust destination-zone dmz destination-address 10.2.0.0 24 action permit # return
相关文章:
【防火墙】防火墙NAT Server的配置
Web举例:公网用户通过NAT Server访问内部服务器 介绍公网用户通过NAT Server访问内部服务器的配置举例。 组网需求 某公司在网络边界处部署了FW作为安全网关。为了使私网Web服务器和FTP服务器能够对外提供服务,需要在FW上配置NAT Server功能。除了公网…...
《算法竞赛·快冲300题》每日一题:“简化农场”
《算法竞赛快冲300题》将于2024年出版,是《算法竞赛》的辅助练习册。 所有题目放在自建的OJ New Online Judge。 用C/C、Java、Python三种语言给出代码,以中低档题为主,适合入门、进阶。 文章目录 题目描述题解C代码Java代码Python代码 “ 简…...
【二等奖方案】大规模金融图数据中异常风险行为模式挖掘赛题「冀科数字」解题思路
第十届CCF大数据与计算智能大赛(2022 CCF BDCI)已圆满结束,大赛官方竞赛平台DataFountain(简称DF平台)正在陆续释出各赛题获奖队伍的方案思路,欢迎广大数据科学家交流讨论。 本方案为【大规模金融图数据中…...
C# List与HashSet的contains()方法查询速度比较
List 和HashSet同时查询40万条数据,谁的效率更高? //**1.下面是List底层源码**public boolean contains(Object o) {//如果查到我们想要查询的值则返回一个true,否则返回false,return indexOf(o) > 0;//这里是调用了indexOf方…...
命令执行漏洞复现攻击:识别威胁并加强安全
环境准备 这篇文章旨在用于网络安全学习,请勿进行任何非法行为,否则后果自负。 一、攻击相关介绍 原理 主要是输入验证不严格、代码逻辑错误、应用程序或系统中缺少安全机制等。攻击者可以通过构造特定的输入向应用程序或系统注入恶意代码ÿ…...
Keepalived实现服务器的高可用性
目录 背景方案简介KeepalivedHeartbeat Keepalived技术介绍Keepalived通信方式时间同步 Keepalived配置案例Keepalived日志配置Keepalived服务配置全局配置段VRRP配置段Keepalived服务启动 服务异常检测 背景 在实际应用中,为了提高服务器的高可用性,往…...
Python程序化交易接口批量获取数据源码
小编举例下面是一个简单的示例代码,展示如何使用Python的程序化交易接口批量获取数据,例如开发文档参考:MetaTradeAPI (metatradeapi) - Gitee.com 签名 int Init(); 功能 API 初始化 参数 无 返回值 授权成功的交易账户数量 返回值 &…...
【强化学习】基本概念
基本大概框架 强化学习的主要角色是 智能体 (agent)和 环境,环境是智能体存在和互动的世界。智能体根据当前的环境做出action,action影响环境。然后智能体根据新的环境再进行action。 基础用语 状态(state, s)&…...
0001__安装electron失败 postinstall: `node install.js`
不一样的 npm 快速安装electron的方案 - 简书 2、手动下载出错的文件 打开浏览器输入 下述网址, 找到你要的版本号, 点击后找到你的平台点击即可下载了。https://registry.npmmirror.com/binary.html?pathelectron/ 作者:一颗人心 链接&…...
Linux测开常用命令总结
文章目录 Linux系统中文件目录树 基本指令的使用: Linux命令的帮助信息查看 --help command --help 说明: 显示command 命令的帮助信息通过man命令查看帮助信息 man command( 命令的名称) man 命令查看的帮助信息更加详细ls,pwd,…...
xml转化为txt数据的脚本,为yolo提供训练
这里写自定义目录标题 xml转化为txt数据的脚本 xml转化为txt数据的脚本 代码如下: import xml.etree.ElementTree as ET import os, cv2 import numpy as np from os import listdir from os.path import joinclasses []def convert(size, box):dw 1. / (size[0…...
【H5页面嵌入到小程序或APP中实现手机号点击复制和拨号功能】
在H5界面嵌入到小程序和移动应用(安卓和iOS)中实现手指点击手机号弹出弹窗,包含呼叫和复制选项,是可以实现的。下面我将为你提供一个基本的示例,并解释在小程序、安卓和iOS中要做的支持工作。 <!DOCTYPE html> …...
Kubernetes技术--k8s核心技术 configMap
1.概述 configMap最主要的作用是存储一些不加密的数据到/etcd,让pod以变量或者数据卷(volume)挂载到容器。 应用场景:配置文件、存储信息等 2.使用 -1.创建配置文件。 这里我们需要先编写一个配置文件。使用redis,如下所示:...
Springboot动态修改日志级别
在开发和运维过程中,我们经常需要调整日志级别来查看不同级别的日志信息。传统的做法是修改配置文件,然后重启应用程序。但是,在分布式系统中,重启应用程序可能比较麻烦,而且也影响了业务的正常运行。 Springboot提供…...
新手将最简单的springboot部署上tomcat出现的意外问题
现阶段springboot部署到tomcat的文章一抓一大把且都相同,便贴一个地址以展示流程: SpringBoot打war包部署Tomcat(最全)_spring boot war 部署tomcat_聊Java的博客-CSDN博客 那么就说一下我出现的问题: 在完整复现流程且确认代码无误的情况下,部署到tomcat,此时问题出现了:启动…...
P1177 【模板】排序(Sort排序)
题目描述 将读入的 N N N 个数从小到大排序后输出。 输入格式 第一行为一个正整数 N N N。 第二行包含 N N N 个空格隔开的正整数 a i a_i ai,为你需要进行排序的数。 输出格式 将给定的 N N N 个数从小到大输出,数之间空格隔开,…...
软件测试(黑盒测试、白盒测试、灰盒测试)
软件测试方法大类上分为黑盒测试、白盒测试和灰盒测试三种 一、黑盒测试 黑盒测试通俗来说即不知道代码是怎么写的。具体实现逻辑,基于代码输入有哪些应该输出什么进行测试的方法。其方法有:基于直觉和经验的方法(IEBT)、基于需…...
昨天面试的时候被提问到的问题集合。
1、vue的双向绑定原理是什么?里面的关键点在哪里? 2、实现水平垂直居中的方式? 3、常用伪元素有哪一些? 4、移动端如何适配不同屏幕尺寸? 5、本地存储有哪一些?他们三者有什么区别? 6、JS的数据…...
广电运营商三网融合监控运维方案
随着三网融合逐步发展、深化,广电网络从为用户提供原本单一的信息服务转向了集语音、文字、图像为一体的信息服务,同时也实现了由单一独立的网络向综合性网络的改变。如何在业务的融合与竞争中创造核心竞争力,利用自身网络覆盖率上的优势&…...
数据库锁简析
数据库大并发操作要考虑死锁和锁的性能问题。用T1代表一个数据库执行请求,T2代表另一个请求,也可以理解为T1为一个线程,T2 为另一个线程。T3,T4以此类推。下面以SQL Server为例。 锁的种类 共享锁(Shared lock) 例1:T1: select…...
手游刚开服就被攻击怎么办?如何防御DDoS?
开服初期是手游最脆弱的阶段,极易成为DDoS攻击的目标。一旦遭遇攻击,可能导致服务器瘫痪、玩家流失,甚至造成巨大经济损失。本文为开发者提供一套简洁有效的应急与防御方案,帮助快速应对并构建长期防护体系。 一、遭遇攻击的紧急应…...
HTML 列表、表格、表单
1 列表标签 作用:布局内容排列整齐的区域 列表分类:无序列表、有序列表、定义列表。 例如: 1.1 无序列表 标签:ul 嵌套 li,ul是无序列表,li是列表条目。 注意事项: ul 标签里面只能包裹 li…...
Java - Mysql数据类型对应
Mysql数据类型java数据类型备注整型INT/INTEGERint / java.lang.Integer–BIGINTlong/java.lang.Long–––浮点型FLOATfloat/java.lang.FloatDOUBLEdouble/java.lang.Double–DECIMAL/NUMERICjava.math.BigDecimal字符串型CHARjava.lang.String固定长度字符串VARCHARjava.lang…...
08. C#入门系列【类的基本概念】:开启编程世界的奇妙冒险
C#入门系列【类的基本概念】:开启编程世界的奇妙冒险 嘿,各位编程小白探险家!欢迎来到 C# 的奇幻大陆!今天咱们要深入探索这片大陆上至关重要的 “建筑”—— 类!别害怕,跟着我,保准让你轻松搞…...
scikit-learn机器学习
# 同时添加如下代码, 这样每次环境(kernel)启动的时候只要运行下方代码即可: # Also add the following code, # so that every time the environment (kernel) starts, # just run the following code: import sys sys.path.append(/home/aistudio/external-libraries)机…...
(一)单例模式
一、前言 单例模式属于六大创建型模式,即在软件设计过程中,主要关注创建对象的结果,并不关心创建对象的过程及细节。创建型设计模式将类对象的实例化过程进行抽象化接口设计,从而隐藏了类对象的实例是如何被创建的,封装了软件系统使用的具体对象类型。 六大创建型模式包括…...
手机平板能效生态设计指令EU 2023/1670标准解读
手机平板能效生态设计指令EU 2023/1670标准解读 以下是针对欧盟《手机和平板电脑生态设计法规》(EU) 2023/1670 的核心解读,综合法规核心要求、最新修正及企业合规要点: 一、法规背景与目标 生效与强制时间 发布于2023年8月31日(OJ公报&…...
认识CMake并使用CMake构建自己的第一个项目
1.CMake的作用和优势 跨平台支持:CMake支持多种操作系统和编译器,使用同一份构建配置可以在不同的环境中使用 简化配置:通过CMakeLists.txt文件,用户可以定义项目结构、依赖项、编译选项等,无需手动编写复杂的构建脚本…...
macOS 终端智能代理检测
🧠 终端智能代理检测:自动判断是否需要设置代理访问 GitHub 在开发中,使用 GitHub 是非常常见的需求。但有时候我们会发现某些命令失败、插件无法更新,例如: fatal: unable to access https://github.com/ohmyzsh/oh…...
解析两阶段提交与三阶段提交的核心差异及MySQL实现方案
引言 在分布式系统的事务处理中,如何保障跨节点数据操作的一致性始终是核心挑战。经典的两阶段提交协议(2PC)通过准备阶段与提交阶段的协调机制,以同步决策模式确保事务原子性。其改进版本三阶段提交协议(3PC…...
