千家信息网

NAT地址转换详解(静态NAT,端口映射,动态NAT,PAT)

发表于:2025-01-25 作者:千家信息网编辑
千家信息网最后更新 2025年01月25日,NAT地址转换概述图这一章我们将学习并实践,静态NAT地址转换,动态NAT地址转换,端口映射,PAT端口多路复用一.了解NAT的优缺点二.NAT的工作原理静态转换 (Static Translatio
千家信息网最后更新 2025年01月25日NAT地址转换详解(静态NAT,端口映射,动态NAT,PAT)

NAT地址转换概述图

这一章我们将学习并实践,静态NAT地址转换,动态NAT地址转换,

端口映射,PAT端口多路复用

一.了解NAT的优缺点

二.NAT的工作原理

静态转换 (Static Translation)
动态转换(Dynamic Translation)
端口多路复用(Port Address Translation)

三.NAT的术语于转换表

NAT地址转换一种伪装,确保了地址的安全如图:PC1第一件事情发出请求,先查询路由表,然后才会根据NAT表转换成公网地址,去访问外部网。源IP,目的IP,这时候外部的源IP就变成了公网地址。PC2第一件事情给出回应,先查询NAT转换表,再查询路由表发送数据包。回应时两个接口如果先查询路由表,就没法去找到,一个接口是1.0一个是125.0内部:源IP:内部局部地址目的IP:外部局部地址外部:源IP:内部全局地址目的IP:外部全局地址

四.NAT的转换条目

简单转换条目根据IP扩展转换条目根据IP 和 端口

五.NAT的工作过程

1:自己主机的地址10.1.1.12.根据NAT转换表,需要自己手动配置,TCP协议,内部用局部IP地址,内部用全局IP地址,外部用全局IP地址3.目的IP地址4.访问外部网5.目的IP地址和源IP地址

六.PAT的工作过程

PAT是多个私网地址转换成一个公网地址,多了端口,端口可以自己设定
***隧道两端都是固定IP地址,转换地址就变了有个技术穿越***技术,绕过去

七.静态NAT地址实验图

sw1:关闭路由功能,设置速率和全双工R3:给接口配IP,配置默认路由f0/0:12.0.0.2/24f0/1:13.0.0.1/24R2:给接口配IP,配置默认路由回去,配置静态NAT地址转换,应用于接口f0/0:12.0.0.1/24f0/1:192.168.100.1/24PC1:192.168.100.10/24PC2:192.168.100.20/24

7.1.给交换机配置速率,全双工,关闭路由功能

sw1#conf tsw1(config)#no ip routing  //关闭路由功能sw1(config)#int f1/0sw1(config-if)#speed 100  //速率100sw1(config-if)#dup full    //全双工模式sw1(config-if)#ex

7.2给路由器R3接口配置d地址,配置默认路由

R3#conf tR3(config)#int f0/0R3(config-if)#ip add 12.0.0.2 255.255.255.0  //配置地址R3(config-if)#no shut   //开启地址接口R3(config-if)#int f0/1R3(config-if)#ip add 13.0.0.1 255.255.255.0R3(config-if)#no shutR3(config-if)#do show ip route  //查看路由表条目Codes: C - connected, S - static, 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       i - IS-IS, su - IS-IS summary, 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 routeGateway of last resort is not set     12.0.0.0/24 is subnetted, 1 subnetsC       12.0.0.0 is directly connected, FastEthernet0/0     13.0.0.0/24 is subnetted, 1 subnetsC       13.0.0.0 is directly connected, FastEthernet0/1R3(config-if)#ex     R3(config)#ip route 0.0.0.0 0.0.0.0 12.0.0.1  //配置默认路由R3(config)# 

7.3给R2接口配IP,配置默认路由回去

R2#conf tR2(config)#int f0/0R2(config-if)#ip add 192.168.100.1 255.255.255.0  //配置地址R2(config-if)#no shutR2(config-if)#int f0/1R2(config-if)#ip add 12.0.0.1 255.255.255.0   //配置地址R2(config-if)#no shutR2(config-if)#exR2(config)#ip route 0.0.0.0 0.0.0.0 12.0.0.2R2(config)#

7.4给每个主机配置地址

PC1> ip 192.168.100.10 192.168.100.1Checking for duplicate address...PC1 : 192.168.100.10 255.255.255.0 gateway 192.168.100.1PC2> ip 192.168.100.20 192.168.100.1Checking for duplicate address...PC1 : 192.168.100.20 255.255.255.0 gateway 192.168.100.1PC3> ip 13.0.0.13 13.0.0.1Checking for duplicate address...PC1 : 13.0.0.13 255.255.255.0 gateway 13.0.0.1

7.5给R2配置静态NAT地址转换,应用于接口

R2#conf tR2(config)#ip nat inside source static 192.168.100.10 12.0.0.10//设置静态NAT地址内部网转换成外部网R2(config)#ip nat inside source static 192.168.100.20 12.0.0.20R2(config)#int f0/0R2(config-if)#ip nat inside  //给F0/0接口设置内部R2(config-if)#int f0/1R2(config-if)#ip nat outside //给F0/1接口设置外部R2(config-if)#endR2#debug ip nat  //查看NAT地址转换状态IP NAT debugging is on

八.静态NAT映射

NAT端口映射协议(英语:NAT Port Mapping Protocol,缩写NAT-PMP)是一个能自动创建网络地址转换(NAT)设置和端口映射配置而无需用户介入的网络协议。该协议能自动测定NAT网关的外部IPv4地址,并为应用程序提供与对等端交流通信的方法。NAT-PMP于2005年由苹果公司推出,为更常见的ISO标准互联网网关设备协议(被许多NAT路由器实现)的一个替代品。该协议由互联网工程任务组(IETF)在RFC 6886中发布。 NAT-PMP使用用户数据报协议(UDP),在5351端口运行。该协议没有内置的身份验证机制,因为转发一个端口通常不允许任何活动,也不能用STUN方法实现。NAT-PMP相比STUN的好处是它不需要STUN服务器,并且NAT-PMP映射有一个已知的过期时间,应用可以避免低效地发送保活数据包。 NAT-PMP是端口控制协议(PCP)的前身。

8.1实验图

在广域网上想访问私网地址必须要有映射地址

实验目的让外部网的主机能访问linux的WEB服务

8.2到linux服务器当中安装HTTPD服务并写一个网页,自测一下

[root@localhost ~]# yum install httpd -y //安装HTTPD服务
[root@localhost ~]# vim /var/www/html/index.html //代站点底下创建文件和内容

this is web NAT


~
[root@localhost ~]# systemctl start httpd //开启HTTPD服务
[root@localhost ~]# systemctl stop firewalld.service //关闭防火墙
[root@localhost ~]# setenforce 0 //开启增强功能

8.3linux服务器绑定网卡,并设置固定IP

[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33TYPE=EthernetPROXY_METHOD=noneBROWSER_ONLY=noBOOTPROTO=static  //设置静态DEFROUTE=yesIPV4_FAILURE_FATAL=noIPV6INIT=yesIPV6_AUTOCONF=yesIPV6_DEFROUTE=yesIPV6_FAILURE_FATAL=noIPV6_ADDR_GEN_MODE=stable-privacyNAME=ens33UUID=849aa04e-1874-490f-8cb0-b2fde4b9a6f8DEVICE=ens33ONBOOT=yesIPADDR=192.168.100.100   //IP地址NETMASK=255.255.255.0   //子网掩码GATEWAY=192.168.100.1   //网关[root@localhost ~]# systemctl restart network  //重启网络服务[root@localhost ~]# ifconfigens33: flags=4163  mtu 1500        inet 192.168.100.100  netmask 255.255.255.0  broadcast 192.168.100.255        inet6 fe80::e3c7:14af:6e4d:7216  prefixlen 64  scopeid 0x20        ether 00:0c:29:c9:dd:05  txqueuelen 1000  (Ethernet)        RX packets 4309  bytes 4579244 (4.3 MiB)        RX errors 0  dropped 0  overruns 0  frame 0        TX packets 1123  bytes 96283 (94.0 KiB)

8.4到win10当中绑定网卡

8.5到GNS3配置R1路由器,给接口配置地址

R1#conf tR1(config)#int f0/0R1(config-if)#ip add 192.168.100.1 255.255.255.0 R1(config-if)#no shutR1(config-if)#int f0/1R1(config-if)#ip add 12.0.0.1 255.255.255.0R1(config-if)#no shut

8.6回到WIN10设置地址


8.7回到GNS3开始配置端口映射

映射什么意思?就是外部网想要访问你的私网地址必须要映射,不然不安全。

R1#conf tR1(config)#ip nat inside source static tcp 192.168.100.100 80 12.0.0.100 8080 extendable          //内部端口启用NAT,tcp协议,IP地址加端口,映射外部网地址加端口,后面一定要加个扩展extendable on Interface NVI0, changed state to upR1(config)#int f0/0R1(config-if)#ip nat inside  //设置为内部R1(config-if)#int f0/1R1(config-if)#ip nat outside  //设置为外部R1(config-if)#endR1#debug ip nat   //测试启动端口映射IP NAT debugging is on

8.8我们回到外部网中的一台主机去访问一下

http://12.0.0.100:8080/ 一定要加8080端口,这是映射的

9.动态NAT地址转换

动态NAT是指将内部网络的私有IP地址转换为公用IP地址时,IP地址对是不确定的,是随机的,所有被授权访问Internet的私有IP地址可随机转换为任何指定的合法IP地址。也就是说,只要指定哪些内部地址可以进行转换,以及用哪些合法地址作为外部地址时,就可以进行动态转换。动态转换可以使用多个合法外部地址集。当ISP提供的合法IP地址略少于网络内部的计算机数量时。可以采用动态转换的方式。

动态NAT实验图

实验目的让内部的私有网转换成多个公网之一

9.1二层交换机关闭路由功能,设置速率和全双工模式

sw#conf tsw(config)#no ip routingsw(config)#int f1/0sw(config-if)#speed 100sw(config-if)#dup fullsw(config-if)#ex

9.2给R1路由器接口设置地址,动态NAT

R1#conf tR1(config)#int f0/0R1(config-if)#ip add 192.168.100.1 255.255.255.0R1(config-if)#no shutR1(config-if)#int f0/1R1(config-if)#ip add 12.0.0.1 255.255.255.0R1(config-if)#no shutR1(config-if)#exR1(config)#access-list 1 permit 192.168.100.0 0.0.0.255//定义内部允许的网段,后面要加反码R1(config)#ip nat pool test 12.0.0.10 12.0.0.100 netmask 255.255.255.0//定义外部转换的地址段落,地址范围,起始地址和结束地址和子网掩码R1(config)#ip nat inside source list 1 pool test //引用内部的网段,转换成外部网的地址池R1(config)#int f0/0R1(config-if)#ip nat inside  //定义内部网R1(config-if)#int f0/1R1(config-if)#ip nat outside //定义外部网R1(config-if)#end         R1#debug ip nat  //测试启用NATIP NAT debugging is on

9.3.给每台主机配置IP地址

PC1> ip 192.168.100.10 192.168.100.1Checking for duplicate address...PC1 : 192.168.100.10 255.255.255.0 gateway 192.168.100.1PC2> ip 192.168.100.20 192.168.100.1Checking for duplicate address...PC1 : 192.168.100.20 255.255.255.0 gateway 192.168.100.1PC3> ip 12.0.0.12 12.0.0.1Checking for duplicate address...PC1 : 12.0.0.12 255.255.255.0 gateway 12.0.0.1

9.4PC1和PC2主机去测试内部网转换成外部网是不是有多个公网地址

PC1> ping 12.0.0.1284 bytes from 12.0.0.12 icmp_seq=1 ttl=63 time=20.944 ms84 bytes from 12.0.0.12 icmp_seq=2 ttl=63 time=18.950 ms84 bytes from 12.0.0.12 icmp_seq=3 ttl=63 time=15.957 ms84 bytes from 12.0.0.12 icmp_seq=4 ttl=63 time=22.452 ms84 bytes from 12.0.0.12 icmp_seq=5 ttl=63 time=19.952 ms*Mar  1 00:19:47.327: NAT: expiring 12.0.0.11 (192.168.100.20) icmp 34108 (34108)R1#*Mar  1 00:19:47.463: NAT*: s=192.168.100.20->12.0.0.11, d=12.0.0.12 [15552]*Mar  1 00:19:47.471: NAT*: s=12.0.0.12, d=12.0.0.11->192.168.100.20 [15552]*Mar  1 00:19:48.351: NAT: expiring 12.0.0.11 (192.168.100.20) icmp 34364 (34364)R1#*Mar  1 00:19:48.487: NAT*: s=192.168.100.20->12.0.0.11, d=12.0.0.12 [15553]*Mar  1 00:19:48.499: NAT*: s=12.0.0.12, d=12.0.0.11->192.168.100.20 [15553]*Mar  1 00:19:49.375: NAT: expiring 12.0.0.11 (192.168.100.20) icmp 34620 (34620)R1#*Mar  1 00:19:49.511: NAT*: s=192.168.100.20->12.0.0.11, d=12.0.0.12 [15554]*Mar  1 00:19:49.519: NAT*: s=12.0.0.12, d=12.0.0.11->192.168.100.20 [15554]*Mar  1 00:19:50.399: NAT: expiring 12.0.0.11 (192.168.100.20) icmp 34876 (34876)R1#*Mar  1 00:19:50.531: NAT*: s=192.168.100.20->12.0.0.11, d=12.0.0.12 [15555]*Mar  1 00:19:50.543: NAT*: s=12.0.0.12, d=12.0.0.11->192.168.100.20 [15555]*Mar  1 00:19:51.423: NAT: expiring 12.0.0.11 (192.168.100.20) icmp 35132 (35132)R1#

10.PAT转换

实验图

实验目的:让所有的私网地址转换成同一个公网地址

Port Address Translation,端口多路复用(端口地址转化),通过改变外出数据包源IP和源端口,并进行端口转换,内网所有主机均可共享一个公用IP访问外网,节约IP。

10.1二层交换机关闭路由功能,配置速率和全双工模式

sw#conf tsw(config)#no ip routingsw(config)#int f1/0sw(config-if)#speed 100sw(config-if)#dup full

10.2R2给接口配置地址,配置PAT地址转换

R1#conf tR1(config)#int f0/0R1(config-if)#ip add 192.168.100.1 255.255.255.0R1(config-if)#no shutR1(config-if)#int f0/1R1(config-if)#ip add 12.0.0.1 255.255.255.0R1(config-if)#no shutR1(config-if)#exR1(config)#access-list 1 permit 192.168.100.0 0.0.0.255    //定义内部允许的网段,加反码R1(config)#ip nat inside source list 1 interface fastEthernet 0/1 overload//直接引用外部接口 ,overlload所有外部网R1(config)#int f0/0R1(config-if)#ip nat in  //定义内部网R1(config-if)#int f0/1R1(config-if)#ip nat out  //定义外部网R1(config-if)#endR1#debug ip natIP NAT debugging is on  //测试启动NAT

10.3给每台主机配置IP地址

PC1> ip 192.168.100.10 192.168.100.1Checking for duplicate address...PC1 : 192.168.100.10 255.255.255.0 gateway 192.168.100.1PC2> ip 192.168.100.20 192.168.100.1Checking for duplicate address...PC1 : 192.168.100.20 255.255.255.0 gateway 192.168.100.1PC3> ip 12.0.0.12 12.0.0.1Checking for duplicate address...PC1 : 12.0.0.12 255.255.255.0 gateway 12.0.0.1

10.4测试PC1和PC2的私网地址访问的是不是同一个公网地址

PC1> ping 12.0.0.12 -t12.0.0.12 icmp_seq=1 timeout84 bytes from 12.0.0.12 icmp_seq=2 ttl=63 time=20.943 ms84 bytes from 12.0.0.12 icmp_seq=3 ttl=63 time=17.919 ms84 bytes from 12.0.0.12 icmp_seq=4 ttl=63 time=16.956 msR1#*Mar  1 00:19:04.779: NAT: s=192.168.100.10->12.0.0.1, d=12.0.0.12 [18124]R1#*Mar  1 00:19:06.783: NAT*: s=192.168.100.10->12.0.0.1, d=12.0.0.12 [18125]*Mar  1 00:19:06.791: NAT*: s=12.0.0.12, d=12.0.0.1->192.168.100.10 [18125]R1#*Mar  1 00:19:07.807: NAT*: s=192.168.100.10->12.0.0.1, d=12.0.0.12 [18126]*Mar  1 00:19:07.811: NAT*: s=12.0.0.12, d=12.0.0.1->192.168.100.10 [18126]R1#*Mar  1 00:19:08.823: NAT*: s=192.168.100.10->12.0.0.1, d=12.0.0.12 [18127]*Mar  1 00:19:08.831: NAT*: s=12.0.0.12, d=12.0.0.1->192.168.100.10 [18127]R1#*Mar  1 00:19:09.843: NAT*: s=192.168.100.10->12.0.0.1, d=12.0.0.12 [18128]*Mar  1 00:19:09.847: NAT*: s=12.0.0.12, d=12.0.0.1->192.168.100.10 [18128]R1#PC2> ping 12.0.0.12 -t84 bytes from 12.0.0.12 icmp_seq=1 ttl=63 time=29.921 ms84 bytes from 12.0.0.12 icmp_seq=2 ttl=63 time=16.981 ms84 bytes from 12.0.0.12 icmp_seq=3 ttl=63 time=15.958 ms84 bytes from 12.0.0.12 icmp_seq=4 ttl=63 time=23.936 msR1#*Mar  1 00:20:28.715: NAT*: s=192.168.100.20->12.0.0.1, d=12.0.0.12 [18208]*Mar  1 00:20:28.719: NAT*: s=12.0.0.12, d=12.0.0.1->192.168.100.20 [18208]R1#*Mar  1 00:20:29.731: NAT*: s=192.168.100.20->12.0.0.1, d=12.0.0.12 [18209]*Mar  1 00:20:29.739: NAT*: s=12.0.0.12, d=12.0.0.1->192.168.100.20 [18209]R1#*Mar  1 00:20:30.751: NAT*: s=192.168.100.20->12.0.0.1, d=12.0.0.12 [18210]*Mar  1 00:20:30.759: NAT*: s=12.0.0.12, d=12.0.0.1->192.168.100.20 [18210]R1#*Mar  1 00:20:31.775: NAT*: s=192.168.100.20->12.0.0.1, d=12.0.0.12 [18211]*Mar  1 00:20:31.779: NAT*: s=12.0.0.12, d=12.0.0.1->192.168.100.20 [18211]

以上就是我们所有的NAT内容了谢谢收看,下章内容更加精彩。

地址 配置 端口 路由 接口 外部网 动态 静态 主机 目的 服务 公网 实验 功能 网络 速率 双工 测试 合法 全局 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 淘宝mc服务器推荐 数据库连接失败请检查网络连接 软件开发正常上班时间 软件开发成本越来越高 文明重启建服务器能挣钱吗 货拉拉物流软件开发者是谁 陈赫逃离塔科夫名字服务器 事务独占数据库 王者荣耀怎么跨服务器赠送金币 网站开发数据库课程设计 串口服务器 交换机 淮阴工学院网络安全知识竞赛答案 网站的网络安全隐患有哪些 服务器必须连接显示屏吗 网络安全较强的高校 车载网络技术论文课题 湖南学习软件开发排行榜 玉林网络安全等级 涪陵区一站式软件开发服务标志 联想服务器id灯 宽带链路不通或服务器无反应 网络安全技术和管理 服务器升级用什么版本系统好 网络安全黑板报插画喵教育 测试岗位面试试题数据库 软件开发需求怎么联系 数据库 1521 长连接吗 怎么查邮箱服务器地址 免费观看直播软件开发的 粤省事显示服务器异常怎么处理
0