网络运维学习笔记 015网工初级(HCIA-Datacom与CCNA-EI)NAT网络地址转换

ops/2025/2/25 0:01:21/

文章目录

  • NAT(Network Address Translation,网络地址转换)
    • 思科:
      • 1)PAT
      • 2)静态端口转换
    • 华为:
      • 1)EasyIP
      • 2)NAT Server
      • 静态NAT:
      • 动态NAT:
        • 实验1:在R1上配置NAPT让内网所有私有地址通过122.1.2.1访问公网。
        • 实验2:Easy IP配置
        • 实验3:NATserver配置

NAT(Network Address Translation,网络地址转换)

主要用于实现位于内部网络的主机访问外部网络的功能。局域网内的主机需要访问外部网络时,通过NAT技术可以将私网地址转换成公网地址,并且多个私网用户可共用一个公网地址,这样既可以保证网络互通,又节省了公网地址。一般部署在连接内网与外网的网关设备(边界设备)上。
NAT也是一种安全手段。
静态NAT:实现了私有地址和公有地址的一对一映射,一个公网IP只会分配给唯一且固定的内网主机。
动态NAT:基于地址池来实现私有地址和公网地址的转换。(多对多)方法:1、用ACL匹配(数据抓取)
EasyIP允许将多个内部地址映射到网关出接口地址上的不同端口。

思科:

1)PAT

实验:要求10.1.10.0/28,10.1.10.16/28,10.1.10.32/28可以访问公网8.8.8.8,但是不允许10.1.11.0/29,10.1.12.0/29访问公网。
R1(config)# int e0/0 #进入边缘路由的出接口(配置公网地址的一侧)
R1(config-if)# ip nat outside #定义为nat的外部接口 (卡住1分钟)
R1(config)# int e0/1 #进入内部接口e0/1接口
R1(config-if)# ip nat inside #定义为nat的内部接口
R1(config)# int e0/2 #进入内部接口e0/2接口
R1(config-if)# ip nat inside #定义为nat的内部接口
R1(config)# ip access-list standard 2 #配置标准acl命名为2
R1(config-std-nacl)# 5 permit 10.1.10.0 0.0.0.255 #允许此网段通过(可以把三条规则合为一条)。
R1(config)# ip nat inside source list 2 interface e0/0 overload #把内部的多个地址重复使用e0/0的公网地址
R1(config)# router ospf 110 #进入ospf进程
R1(config-router)# default-information originate (always) #ospf(永久)下放默认路由
R1# show ip nat translations #查看nat转换的信息

2)静态端口转换

还是按照005章的方法在需要被telnet的内部设备如交换机或PC上,把telnet打开后
R1(config)# ip nat inside source static tcp 10.1.11.2 23 202.100.1.1 23 #做静态端口转换

华为:

1)EasyIP

实验:要求10.1.10.0/28,10.1.10.16/28,10.1.10.32/28可以访问公网8.8.8.8,但是不允许10.1.11.0/29,10.1.12.0/29访问公网。
[R1] acl 2000 #创建基本acl命名为2000
[R1-acl-basic-2000] rule permit source 10.1.10.0 0.0.0.15 #允许此网段通过
[R1-acl-basic-2000] rule permit source 10.1.10.16 0.0.0.15 #允许此网段通过
[R1-acl-basic-2000] rule permit source 10.1.10.32 0.0.0.15 #允许此网段通过
[R1-acl-basic-2000] int g0/0/0 #进入边缘路由的出接口(配置公网地址的一侧)
[R1-g0/0/0] nat outbound 2000 #应用acl2000
[R1] ospf 10 #进入ospf进程
[R1-ospf-10] default-ro ute-advertise (always) #ospf(永久)下放默认路由
[R1] display ip routing-table #ospf区域内所有设备均产生了默认路由
[R1] display nat outbound #查看nat的外部接口信息
[R1] display nat session all #查看nat的所有会话

2)NAT Server

还是按照005章的方法在需要被telnet的内部设备如交换机或PC上,把telnet打开后
[R1] g0/0/0 #进入边缘路由的出接口
[R1-g0/0/0] nat server protocol tcp global current-interface 23 inside 10.1.11.2 23 #做NAT Server

静态NAT:

nat static global 122.1.2.1 inside 192.168.1.1 #配置静态NAT(接口视图和系统视图都可)
nat static enable #若在系统视图配置的静态NAT,则还要进入接口下使能nat static功能。

动态NAT:

实验1:在R1上配置NAPT让内网所有私有地址通过122.1.2.1访问公网。

acl 2000 #创建acl
rule 5 permit source 192.168.1.0 0.0.0.255 #允许某网段。
nat address-group 1 122.1.2.1 122.1.2.1 #创建地址池1,加入一个IP地址
interface g0/0/1
ip address 12.1.1.1 24
nat outbound 2000 address-group 1
#将ACL2000的流量引入NAT技术,并保证内部流量可以使用合法地址池的地址来做映射访问外部网络

实验2:Easy IP配置

[R1]acl 2000
[R1-acl-basic-2000]rule 5 permit source 192.168.1.0 0.0.0.255 一般企业写rule permit source any 允许所有即可
[R1]int g0/0/1
[R1-GigabitEthernet0/0/1]nat outbound 2000

实验3:NATserver配置

在这里插入图片描述

在R1上配置NAT Server将内网服务器192.168.1.10的23端口映射到公有地址122.1.2.1的9999端口。
[R1]interface g0/0/1
[R1-GigabitEthernet0/0/1]ip address 122.1.2.1 24
[R1-GigabitEthernet0/0/1]nat server protocol tcp global 202.10.10.1 9999 inside 192.168.1.1 23
#上述命令 nat server 表示启用 NAT server服务,通过protocol关键字来控制NAT是针对TCP协议的


http://www.ppmy.cn/ops/161065.html

相关文章

欢乐力扣:单词规律

文章目录 1、题目描述2、思路2、 代码 1、题目描述 单词规律。  给定一种规律 pattern 和一个字符串 s ,判断 s 是否遵循相同的规律。这里的 遵循 指完全匹配,例如, pattern 里的每个字母和字符串 s 中的每个非空单词之间存在着双向连接的对…

Python多线程编程理解面试题解析

一、多线程介绍 Python 的多线程是一种实现并发编程的方式,允许程序同时执行多个任务。然而,由于 Python 的全局解释器锁(GIL)的存在,多线程在某些场景下可能无法充分利用多核 CPU 的性能。以下是对 Python 多线程的理…

DeepSeek掘金——调用DeepSeek API接口 实现智能数据挖掘与分析

调用DeepSeek API接口:实现智能数据挖掘与分析 在当今数据驱动的时代,企业和开发者越来越依赖高效的数据挖掘与分析工具来获取有价值的洞察。DeepSeek作为一款先进的智能数据挖掘平台,提供了强大的API接口,帮助用户轻松集成其功能到自己的应用中。本文将详细介绍如何调用D…

【quicker】调节PPT指定字号字体大小/快速调节WPS的PPT字体大小

在quicker的拓展动作中找不到直接指定字号大小方式的动作。 换个思路,既然无法通过alt键模拟,不如模拟右键菜单触发?尝试过失败了 所以有了第三种方法 ,首先给字体窗口设置快捷键,此处设置的是altshiftf,然…

C#上位机--循环语句

序言 在 C# 编程中,循环语句是非常重要的控制结构,它允许我们重复执行一段代码,直到满足特定的条件。通过使用循环,我们可以高效地处理大量数据,简化代码逻辑。本文将详细介绍 C# 中四种常见的循环语句:Fo…

【Viewer.js】vue3封装图片查看器

效果图 需求 点击图片放大可关闭放大的 图片 下载 cnpm in viewerjs状态管理方法 stores/imgSeeStore.js import { defineStore } from pinia export const imgSeeStore defineStore(imgSeeStore, {state: () > ({showImgSee: false,ImgUrl: ,}),getters: {},actions: {…

【AI】VS Code中使用GitHub Copilot

在VS Code中使用GitHub Copilot可以显著提升开发效率和代码质量,以下是其主要优势: 1. 代码自动补全 智能建议:Copilot能根据上下文提供代码补全建议,减少手动输入。 多语言支持:支持多种编程语言,适用于不…

Spring Boot 集成 T-io 实现客户端服务器通信

Spring Boot 集成 T-io 实现客户端服务器通信 本文详细介绍如何在 Spring Boot 项目中集成 T-io 框架,实现客户端与服务器之间的通信,并支持组聊、群聊和私聊功能。通过本文,您能够全面了解 T-io core 的使用方法,以及如何正确启…