网络端口地址转换 NAPT 配置

news2024/9/23 13:22:59

 

你是某公司的网络管理员,公司办公网需要接入互联网,公司只向 ISP 申请了一条专线,该专线分配了一个公司 IP 地址,配置实现全公司的主机都能访问外网。

技术原理

NAT 将网络划分为内部网络和外部网络两部分,局域网主机利用 NAT 访问网络时,是将局域网内部的本地地址转换为全局地址(互联网合法的 IP 地址)后转发数据包;
NAT 分为两种类型:NAT(网络地址转换)和 NAPT(网络端口地址转换 IP 地址对应一个全局地址)。
NAPT:使用不同的端口来映射多个内网 IP 地址到一个指定的外网 IP 地址,多对一。
NAPT 采用端口多路复用方式。内部网络的所有主机均可共享一个合法外部 IP 地址实现对 Internet 的访问,从而可以最大限度地节约 IP 地址资源。同时,又可隐藏网络内部的所有主机,有效避免来自 Internet 的攻击。因此,目前网络中应用最多的就是端口多路复用方式。

ISP(Internet Service Provider),互联网服务提供商,即向广大用户综合提供互联网接入业务、信息业务和增值业务的电信运营商。ISP是经国家主管部门批准的正式运营企业,享受国家法律保护。

实验步骤

新建 Packet Tracer 拓扑图

(1)R1 为公司出口路由器,其与 ISP 路由器之间通过 V.35 电缆串口连接,DCE 端连接在 R1 上,配置其时钟频率 64000;
(2)配置 PC 机、服务器及路由器接口 IP 地址;
(3)在各路由器上配置静态路由协议,让 PC 间能相互 Ping 通;
(4)在 R1 上配置 NAPT。
(5)在 R1 上定义内外网络接口。
(6)验证主机之间的互通性。

实验设备

PC 2 台;Server-PT 1 台;Switch_2950-24 1 台 Router-PT 2 台;直通线;交叉线;DCE串口线

PC1

192.168.1.2
255.255.255.0
192.168.1.1

PC2

192.168.1.3
255.255.255.0
192.168.1.1

Server

200.1.2.2
255.255.255.0
200.1.2.1

R1

en
conf t
host R1
int fa 0/0
ip address 192.168.1.1 255.255.255.0
no shutdown
int s 2/0
ip address 200.1.1.1 255.255.255.0
no shutdown
clock rate 64000

R2

en
conf t
host R2
int s 2/0
ip address 200.1.1.2 255.255.255.0
no shutdown
int fa 0/0
ip address 200.1.2.1 255.255.255.0
no shutdown

R1

exit
ip route 200.1.2.0 255.255.255.0 200.1.1.2

R2

exit
ip route 192.168.1.0 255.255.255.0 200.1.1.1
end
show ip route

PC1

CMD
ping 200.1.2.2 (success)

Web 浏览器
http://200.1.2.2 (success)

R1

int fa 0/0
ip nat inside
int s 2/0
ip nat outside
exit
access-list 1 permit 192.168.1.0 0.0.0.255
ip nat pool jaking 200.1.1.3 200.1.1.3 netmask 255.255.255.0 #设置名称为jaking的地址池,起始和终止IP都是200.1.1.3
ip nat inside source list 1 pool jaking overload (无 overload 表示多对多,有 overload 表示多对一)
end
show ip nat translations(无结果)

PC1

Web 浏览器
http://200.1.2.2 (success)

R1

show ip nat translations(有 1 个结果)

PC2

Web 浏览器
http://200.1.2.2 (success)

R1

show ip nat translations(有 2 个结果)

实战演练

R1

Continue with configuration dialog? [yes/no]: n


Press RETURN to get started!



Router>en
Router#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
Router(config)#host R1
R1(config)#int fa 0/0
R1(config-if)#ip add 192.168.1.1 255.255.255.0
R1(config-if)#no shut

%LINK-5-CHANGED: Interface FastEthernet0/0, changed state to up

%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to up

R1(config-if)#int s 2/0
R1(config-if)#ip add 200.1.1.1 255.255.255.0
R1(config-if)#no shut

%LINK-5-CHANGED: Interface Serial2/0, changed state to down
R1(config-if)#clock rate 64000
R1(config-if)#

R2 

Continue with configuration dialog? [yes/no]: n


Press RETURN to get started!



Router>en
Router#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
Router(config)#host R2
R2(config)#int s 2/0
R2(config-if)#ip add 200.1.1.2 255.255.255.0
R2(config-if)#no shut

%LINK-5-CHANGED: Interface Serial2/0, changed state to up

%LINEPROTO-5-UPDOWN: Line protocol on Interface Serial2/0, changed state to up

R2(config-if)#int fa 0/0
R2(config-if)#ip add 200.1.2.1 255.255.255.0
R2(config-if)#no shut

%LINK-5-CHANGED: Interface FastEthernet0/0, changed state to up

%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to up

R2(config-if)#

R1

R1(config-if)#exit
R1(config)#ip route 200.1.2.0 255.255.255.0 200.1.1.2

R2

R2(config-if)#exit
R2(config)#ip route 192.168.1.0 255.255.255.0 200.1.1.1
R2(config)#end
R2#
%SYS-5-CONFIG_I: Configured from console by console

R2#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
       i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
       * - candidate default, U - per-user static route, o - ODR
       P - periodic downloaded static route

Gateway of last resort is not set

S    192.168.1.0/24 [1/0] via 200.1.1.1
C    200.1.1.0/24 is directly connected, Serial2/0
C    200.1.2.0/24 is directly connected, FastEthernet0/0

PC1

CMD
ping 200.1.2.2 (success)

PC>ipconfig

IP Address......................: 192.168.1.2
Subnet Mask.....................: 255.255.255.0
Default Gateway.................: 192.168.1.1

PC>ping 200.1.2.2

Pinging 200.1.2.2 with 32 bytes of data:

Request timed out.
Reply from 200.1.2.2: bytes=32 time=24ms TTL=126
Reply from 200.1.2.2: bytes=32 time=25ms TTL=126
Reply from 200.1.2.2: bytes=32 time=20ms TTL=126

Ping statistics for 200.1.2.2:
    Packets: Sent = 4, Received = 3, Lost = 1 (25% loss),
Approximate round trip times in milli-seconds:
    Minimum = 20ms, Maximum = 25ms, Average = 23ms

PC>ping 200.1.2.2

Pinging 200.1.2.2 with 32 bytes of data:

Reply from 200.1.2.2: bytes=32 time=25ms TTL=126
Reply from 200.1.2.2: bytes=32 time=20ms TTL=126
Reply from 200.1.2.2: bytes=32 time=23ms TTL=126
Reply from 200.1.2.2: bytes=32 time=25ms TTL=126

Ping statistics for 200.1.2.2:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 20ms, Maximum = 25ms, Average = 23ms

Web 浏览器
http://200.1.2.2 (success)

PC2

CMD
ping 200.1.2.2 (success)

PC>ipconfig

IP Address......................: 192.168.1.3
Subnet Mask.....................: 255.255.255.0
Default Gateway.................: 192.168.1.1

PC>ping 200.1.2.2

Pinging 200.1.2.2 with 32 bytes of data:

Reply from 200.1.2.2: bytes=32 time=31ms TTL=126
Reply from 200.1.2.2: bytes=32 time=17ms TTL=126
Reply from 200.1.2.2: bytes=32 time=19ms TTL=126
Reply from 200.1.2.2: bytes=32 time=23ms TTL=126

Ping statistics for 200.1.2.2:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 17ms, Maximum = 31ms, Average = 22ms

Web 浏览器
http://200.1.2.2 (success)

R1

R1(config)#int fa 0/0
R1(config-if)#ip nat inside
R1(config-if)#int s 2/0
R1(config-if)#ip nat outside
R1(config-if)#exit
R1(config)#access-list 1 permit 192.168.1.0 0.0.0.255
R1(config)#ip nat pool jaking 200.1.1.3 200.1.1.3 netmask 255.255.255.0
R1(config)#ip nat inside source list 1 pool jaking overload
R1(config)#end
R1#
%SYS-5-CONFIG_I: Configured from console by console

R1#show ip nat translations
R1#


PC1

Web 浏览器
http://200.1.2.2 (success)

R1
show ip nat translations(有 1 个结果)

R1#show ip nat translations
Pro  Inside global     Inside local       Outside local      Outside global
tcp 200.1.1.3:1026     192.168.1.2:1026   200.1.2.2:80       200.1.2.2:80


PC2

Web 浏览器
http://200.1.2.2 (success)

R1
show ip nat translations(有 2 个结果)

R1#show ip nat translations
Pro  Inside global     Inside local       Outside local      Outside global
tcp 200.1.1.3:1026     192.168.1.2:1026   200.1.2.2:80       200.1.2.2:80
tcp 200.1.1.3:1024     192.168.1.3:1026   200.1.2.2:80       200.1.2.2:80

总结

至此,用思科模拟器进行网络端口地址转换 NAPT 配置完毕。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/658786.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java集合详解

目录 友情提醒第一章、集合体系概述1.1)集合是什么?与数组的区别在哪1.2)集合体系与分类 第二章、集合体系中的Collection和List接口/Set接口2.0)List接口/Set接口两者区别2.1)Collection接口中的常用方法2.2&#xff…

【系统开发】尚硅谷 - 谷粒商城项目笔记(一):项目准备工作

文章目录 项目准备工作人人开源搭建后台管理系统数据库搭建前端项目搭建后端模块代码生成 项目准备工作 人人开源搭建后台管理系统 码云搜索人人开源 renren-fast-vue:前端 renren-generator:代码生成器 renren-fast:后台管理系统 用git…

系统设计蓝图:终极指南

系统设计蓝图:终极指南 设计开发一个健壮的、可扩展的、高效的系统可以是令人望而生畏. 但是,了解关键概念和组件可以使流程更易于管理。在这篇博文中,我们将探索基本的系统设计组件,例如 DNS、负载平衡、API 网关等,以…

python详解(7)——进阶(1):排序算法

目录 🏆一、前言 🏆二、什么是算法(简单) 🚩1、算法 🚩2、排序算法 🏆三、冒泡排序(中等) 🏆四、快速排序(困难) 🏆五&…

Android Studio 提高SDK下载速度

我们在下载Android SDK的时候,经常会出现下载失败的情况, 报android sdk manager not installing components之类的错误。 要如何加快SDK的下载速度呢 ? 我们可以通过修改Host来实现 关闭Android Studio的代理 首先,我们要关闭Android Stu…

华为HCIA备考 易错题整理 PART1

1.IEEE802.1Q定义的 VLAN 帧格式中VLAN ID总共有多少bit 答:12 2.NAPT允许多个私有IP地址通过不同的端口号映射到同一个公有IP地址上,且不需要做任何关于端口号的配置。 3.IEEE802.1Q定义的VLAN帧总长度为多少字节? 答:4 4.关于…

10种实用的Prompt技巧图解

收集整理了prompt engineering的10种实用技巧,以图解的方式解释了它们的主要原理。 本文追求以极简风格逼近这些方法的第一性原理,把黑话翻译成人话,并使用图片范例进行说明。 同时也加入了一些自己的理解,如有出入欢迎指正。 一&…

掌握Python的X篇_3_Python的两种编程方式:交互式与脚本式

掌握Python的X篇_3_Python的两种编程方式:交互式与脚本式 1. 交互式编程2. 脚本式编程3. 其他补充3.1 python源码文件后缀的问题3.2 关于原生工县和开发工具的选择 Python有两种编程方式: 交互式编程:写一行python语句,马上运行一行&#xf…

15-1.创建与引用自定义组件

目录 1 创建自定义组件 2 引用自定义组件 2.1 局部引用 2.2 全局引用 3 自定义组件的样式 1 创建自定义组件 在项目根目录下创建components,然后在components中创建 自定义组件名称 的文件夹,然后再自定义组件名称的文件夹中点击 新建Compon…

人体姿态估计技术的理解(Human Pose Estimination)

本人毕设题目是人体姿态估计技术的相关课题,本人按照自己对人体姿态估计技术的学习和理解进行论述,如有不足,请大家指正!!! 首先讨论一个问题:什么是姿态估计? “姿势估计?……姿势这个词对…

管理类联考——英语二——知识篇——写作——题目说明——A节

MBA,MPA,MPAcc管理类联考英语写作部分由A,B两节组成,主要考查考生的书面表达能力。共2题,25分。A节要求考生根据所给情景写出约100词(标点符号不计算在内)的应用文,包括私人和公务信函、通知、备忘录等。共…

elasticsearch安装dynamic-synonym插件

elasticsearch安装dynamic-synonym插件 ​ 今天就来和大家讲讲如何在es中安装dynamic-synonym插件,首先我们需要去github上下载与es版本对应的插件,一般github上基本都是本地词库和远程文本词库的,在gitee上可以找到采用数据库作为词库的源码…

就Python的发展前景、就业薪资、应用领域来看,你还有什么理由不学Python!

Python作为人工智能和数据分析第一语言,使得Python程序员成了当前人才市场的“抢手货”,工资待遇也水涨船高。 那么Python到底是什么?Python发展前景好么?Python容易学么?工资高么?技术小白适合学习么&…

【统信uos-server-20-1060e---详细安装openGauss】

【统信uos-server-20-1060e---详细安装openGauss】 🔻 一、前言🔻 一、安装前准备🔰 1.1 openGauss安装包下载🔰 1.2 安装环境准备⛳ 1.2.1 硬件环境要求⛳ 1.2.2 软件环境要求⛳ 1.2.3 软件依赖要求⛳ 1.2.4 关闭操作系统防火墙、…

如何在Allegro软件中进行射频微波电路设计?

随着时代高速发展,射频微波电路开始成为当代电子工程师在高频领域面临的重要挑战之一,如何提高设计效率,合理设计出一个优秀的射频微波产品,是很多电子工程师最头痛的问题,下面本文将聊聊如何通过Allegro软件设计吃优秀…

AI服务的并发处理【Python】

有一段时间,我专注于机器学习的研究方面,为不同的任务开发定制的机器学习解决方案。 但是最近,新项目进来了,有时自己负责初始部署比寻求其他开发人员的帮助更快。 我发现了几个在规模、易用性、定价等方面不同的部署选项。 今天…

SSM酒店后台管理系统

主要功能 管理员权限登录: ①首页展示当前时间信息,Layui框架实现的滚动图等布局 ②住客管理:住客入驻、住客列表的增删改查操作 ③房间管理:对房间进行相关的操作,详细信息、更新状态等 ④会员管理:新增会…

Mysql索引的应用

文章目录 一、索引介绍1. 索引的概念2. 索引的作用与副作用2.1 索引的作用2.2 索引的副作用2.3 如何实现索引 3. 创建索引的原则依据4. 索引的分类和创建4.1 普通索引直接创建索引修改表方式创建创建表的时指定索引 4.2 唯一索引直接创建唯一索引修改表方式创建创建表的时候指定…

Linux-- vi / vim 编辑器

目录 vi \ vim 编辑器的三种编辑模式 vi \ vim 的使用 模式的切换 命令模式下的命令 底线模式 vi \ vim 是visual interface 的简称, 是linux中的经典文本编辑器, 同图形化界面中的文本编辑器一样, 但是vi是使用命令行来对文本进行编辑的最好选择 vim是vi的加强版本, 兼容vi的…

15-2.自定义组件的数据

目录 1 data与method 2 properties 2.1 基本使用 2.2 properties在小程序中可读可写 2.3 对properties使用setData() 3 数据监听器 observers 3.1 基本使用 3.2 同时监听多个变量 3.3 监听对象中属性某个属性的变化 3.4 监听对象中所有属性 4 纯数据字段…