基金项目:国家自然科学基金项目(62073055);2021年度辽宁省普通高等教育本科教学改革研究项目(辽教办〔2021〕254号)
第一作者简介:滕君华(1984-),女,硕士,高级实验师。研究方向为通信与信息系统相关的实验教学。
DOI:10.19981/j.CN23-1581/G3.2024.21.018
摘" 要:为更加深入认识与了解网络组态,要加强对NAT技术的研究学习。该文通过对NAT技术的背景、原理、实现等方面较为全面地阐述,分析介绍静态NAT、动态NAT、NAPT技术及相关联的ACL技术;同时通过锐捷网络公司的真实验平台,模拟实现公司内网服务器地址的公网映射,分别对不同类别的NAT技术进行实验验证,并进行分析讨论。实验证明,NAT技术在当前仍有很好的应用前景,在企业组网中发挥一定作用。
关键词:网络地址转换;动态地址转换;仿真;ACL;网络安全
中图分类号:V445" " " 文献标志码:A" " " " " 文章编号:2095-2945(2024)21-0074-04
Abstract: To gain a more profound understanding of the network configuration in this particular scenario, it is crucial to enhance research and study on NAT technology. This paper provides a comprehensive exploration of the background, principles, and implementation of NAT technology. Then, the paper delves into static NAT, dynamic NAT, NAPT technology, and associated ACL technology. Using Ruijie Network's real experiment platform, simulations are conducted to map the intranet server addresses onto the public network, enabling experimental testing and analysis of different NAT technology categories. The research findings substantiate the current favorable application prospects of NAT technology and its significant role in enterprise networking.
Keywords: network address translation; dynamic address translation; simulation; ACL; network security
网络地址转换(Network Address Translation,NAT),是为解决IPv4 32位IP地址告竭所提出的地址转换技术。该技术实现了公网地址与私网地址的转换,提高了公有地址的利用率,有效缓解了IP地址不足的问题[1]。因为IPv4的提出并未预见到今天的网络规模[2],NAT技术在过去一段时间被普遍利用来弥补IPv4协议公有IP不足的问题,在网络组建中具有不可或缺的地位。学习使用NAT技术,对认识IPv6推广所面临的问题与利用NAT等技术实现IPv4到IPv6的平滑过渡具有十分重要的意义。锐捷实验平台是由锐捷公司自主研发的,具有强大功能的并继承发展锐捷网络拥有的各项专利技术的仿真实验平台。本文使用锐捷的仿真实验平台进行实验验证。
1" NAT技术原理
1.1" NAT技术背景
在IPv4的规定中,根据适用的网络规模,IP地址可以分为5个类别,其中A、B、C类作为网络通信的基本类别;D类为多播地址; E类为保留地址[3]。其中,RFC 1918(私有网络地址分配)还规定了3个IP地址块作为私有网络,分别是A类:10.0.0.0~10.255.255.255,B类:172.16.0.0~172.31.255.255,C类:192.168.0.0~192.168.255.255[4]。公网IP地址是因特网上的公认全球地址。这要求了公网IP必须保证在全球范围内是唯一的。IPv4协议无法分配足够的公网IP来支持现有的极大规模的计算机数量。通过实现私有IP对公网IP的一对一或多对一的映射[5],NAT技术极大缓解了IP地址不足的问题。
1.2" NAT基本原理
NAT技术实现的地址转换,实际上是对IP数据包中来源IP地址或目的IP地址的重写。NAT技术不只是实现了内网对外网的访问,还实现了对内部网络真实地址的隐藏,有效防范可能存在的外部网络攻击[6]。同时,结合端口复用,NAT技术可以实现多个私有IP地址对一个公网IP地址的映射,达到对稀缺的公网IP的有效利用,同时节约企业等实体的上网成本。
1.3" NAT的分类
NAT技术基本上分为3大类,分别是静态NAT、动态NAT、端路多口复用NAPT[7]。
1.3.1" 静态NAT技术
静态NAT是指将内网的私有IP地址与分配的全球IP地址进行一对一的映射转换。由于这种映射关系是固定的,静态NAT技术一般是用于隐藏内网设备的真实地址,达到保护内部网络的作用。
其实现一般采用如下配置方式。
1)在具有NAT技术的路由设备中建立内网私有地址与公网公有地址之间的转换,可以在全局配置(config)模式下使用ipnat inside source static IP(内网) IP(外网)语句实现。
2)设置内外网络的端口,在端口设置中使用ipnat inside 设置内网端口,ipnat outside 设置外网端口。
1.3.2" 动态NAT技术
动态NAT是将私网IP与公网IP进行多对多的配对,动态分配公网地址给需要访问外网的内网主机。动态NAT的实现需要建立共有的公网地址池,由路由设备随机分配地址给请求访问外网的内网主机。但与此同时,动态地址转换技术实际上也是一个公网地址对应一个私网地址的映射技术,无法真正解决公网地址不足的问题。而且由于公有地址的分配由路由设备控制,其分配结果是随机、不断变化的,所以应用动态地址转换技术会对网络的管理造成一定不便。
动态地址转换的实现一般如下。
1)配置nat公网地址池,在全局配置下,设定地址池的名称、范围和子网掩码。
2)同样在全局配置模式下,利用ACL技术,设置一个访问控制列表,列出需要参与地址转换的内网IP地址,使用一系列permit语句实现。
3)将所设置的公网地址池与访问控制列表进行对接,确定动态NAT技术的转换关系。
4)设置内部端口与外部端口。
1.3.3" 端口多口复用NAPT技术
区别于动态NAT,端口多口复用是一种修改数据包源端口,在IP地址转换的同时进行端口转换的技术,一般实现为IP地址加上端口号的方式。由于端口号的引入,多台私网主机可以通过访问同一公网IP的不同端口来实现多对一的IP地址映射,最大程度地利用有限的公网地址[8],一定意义上解决IPv4公网地址告竭的问题。同时,应用NAPT还能隐藏所有的内部主机,避免来自外部网络的攻击,因此该技术的使用最为广泛。但该技术局限于TCP或UDP协议,仅当进行通信的设备都采用这2种协议时,才可以使用NAPT技术实现多台内部主机对外网的访问,并且在实现时允许进行一对多或者多对一的访问[9]。
1.4" ACL技术
访问控制列表(Access Control List,ACL)是由permit或deny语句组成的控制访问权限的有序规则的列表[10]。在使用上可以应用于包过滤、路由决策和NAT技术等。ACL同时可以作为流量的控制技术,当数据包进入到ACL的接口中时,会与接口上的permit或deny语句进行配对,有效地控制接入网络的主机对网络的访问,极大程度上保障了网络安全。
2" 仿真平台实验设计
2.1" 实验设置与要求
2.1.1" 问题提出
本文使用基于锐捷公司技术的实验仿真平台来仿真分析以上所讨论的静态NAT技术与端口复用技术。
模拟实验内容如下:某公司只向ISP申请了一个公网的IP地址,现公司的网站在内网,服务器地址为172.16.8.5。要求在外网中的终端也可以访问到公司网站。
具体实现如下功能。
1)实现外网主机对内网服务器的访问;
2)实现内网通过公网地址访问服务器。
2.1.2" 解决方案
1)设计利用静态NAT技术。使用静态地址转换可以将内网中服务器地址一对一映射为公司所拥有的公网IP地址,对外发布服务器,实现外网对服务器的访问。
2)设计利用端口复用技术。在设定通信双方均采用TCP技术的情况下,设计使用动态NAT技术与端口复用技术,最大程度利用公司唯一的公网IP地址。
实验拓扑图如图1所示。
路由器网络参数设置见表1。
2.2" 实验具体步骤与仿真
2.2.1" 配置路由器
配置路由器R1 2个接口地址:
对GigabitEthernet 0/1接口配置172.16.8.1 255. 255.255.0的IP地址。
Ruijie(config)#int gig 0/1 //进入GigabitEthernet 0/1接口
Ruijie(config-if-GigabitEthernet 0/1)#ip address 172.16.8.1 255.255.255.0 // 配置地址
同样对Gigabit Ethernet0/0接口配置200.1.8.5 255.255.255.0 IP地址。
2.2.2" 三层交换机设置
1)对三层交换机2的Gigabit Ethernet 0/1接口配置外网IP地址与端口号200.1.8.6 24:
Ruijie(config-if-GigabitEthernet 0/1)#no switchport
Ruijie(config-if-GigabitEthernet 0/1)#ip address 200.1.8.6 24
2)对三层交换机1的GigabitEthernet 0/1接口配置内网IP地址与端口号172.16.8.5 24:
Ruijie(config-if-GigabitEthernet 0/1)#no switchport
Ruijie(config-if-GigabitEthernet 0/1)#ip address 172.16.8.5 24
2.2.3" 设置路由器NAT转换的内外端口
1)将路由器的GigabitEthernet 0/0接口设置为NAT转换的外部端口,将GigabitEthernet 0/1设置为内部端口:
Ruijie(config-if-GigabitEthernet 0/0)#ip nat outside
Ruijie(config-if-GigabitEthernet 0/1)#ip nat inside
2.2.4" 进行静态NAT转换实验
1)进行整机静态映射,将外网IP地址200.1.8.5转换为内网IP地址172.16.8.5:
R1:Ruijie(config)#ip nat inside source static 172. 16.8.5 200.1.8.5 permit-inside
2)进行TCP协议下的静态端口映射,将外网200. 1.8.5的23端口(telnet)转换成内网的172.16.9.5的23端口,对外发布内网服务器:
R1:Ruijie(config)#ip nat inside source static tcp 172.16.8.5 23 200.1.8.5 23 permit-inside
3)为交换机设置默认路由:
SW1:Ruijie(config)#ip rout 0.0.0.0 0.0.0.0 172.16. 8.1
SW2:Ruijie(config)#ip rout 0.0.0.0 0.0.0.0 200.1. 8.5
4)测试静态NAT配置结果。
测试结果如图2所示。
可以看到成功进入到登录界面,说明在静态NAT的转换下,成功实现了内网Web服务器地址与公司公网地址的一对一映射,实现外网终端对内网服务器的访问。
2.2.5" 进行NAPT端口复用实验
1)配置NAT地址池:
Ruijie(config)#ip nat pool nat_ruijienetmask" 255. 255.255.0" // 设置公网地址池nat_ruijie与子网掩码
Ruijie(config-ipnat-pool)#address 200.1.8.5 200. 1.8.5 match interface GigabitEthernet 0/0
2)配置ACL,匹配NAT转换流量:
Ruijie(config)#ip access-list standard 10 // 设置ACL
Ruijie(config-std-nacl)#10 permit 172.16.8.0 0.0.0.255" // permitIP地址172.16.8.0 0.0.0.255 的访问
3)地址池转换与NAT重载:
Ruijie(config)#ip nat inside source list 10 pool nat_ruijie overload" //实现对接,并开启nat重载
Ruijie(config)#ip nat inside source static tcp 172.16.8.5 200.1.8.5 23 permit-inside
4)实验结果检验。
在三层交换机2中使用Ruijiegt;ping 172.16.8.5指令,测试NAPT技术下外网访问内网的实验结果,如图3所示。
图3" 端口复用实验外网访问内网测试图
在三层交换机1中使用Ruijiegt;ping 200.1.8.5指令测试内网主机通过公网访问服务器,结果如图4所示。
内网外网能相互ping通,说明成功实现了内网主机对外网的访问与外网设备对内网服务器的访问。
IP地址转换表结果如图5所示。
由图5可知,成功使用端口复用技术实现了服务器的对外发布。
3" 结论
在实验中可以清晰认识到,使用网络地址转换时,内网主机的真实地址被隐藏,预防了可能的外部攻击,然而与此同时,隐藏主机的真实地址会对网络的管理与审查造成一定困难。在网络公司提供的仿真条件下,规避了一些繁琐的现实因素,做到了对NAT技术的实践操作,对于研究与理解NAT技术有重大意义。本文阐述了NAT技术及ACL技术的基础原理与相关实现,讨论不同技术的优劣,并以现实组网中,企业对外发布内网服务器作为仿真实验内容,验证与实现了静态NAT技术与端口多路复用技术,对于认识与掌握NAT在工程与实际中的应用具有一定实践与教育意义。
参考文献:
[1] 谢希仁.计算机网络[M].7版.北京:电子工业出版社,2017.
[2] 陈杰.IPv6过渡的NAT技术[D].南京:南京邮电大学,2013.
[3] 黄培炎.NAT技术在局域网中的应用[J].信息与电脑(理论版),2020(3):151-153.
[4] 戴安娜·蒂尔,鲍勃·瓦尚.CCNP ROUTE 300-101学习指南[M].YESLAB工作室,译.北京:人民邮电出版社,2016.
[5] 吴树.基于NAT技术的网络仿真及实现[J].信息与电脑(理论版),2020(14):189-191
[6] 张永平.VPN网络中IPSec穿越NAT的研究[J].计算机与应用与软件,2008(1):250-251.
[7] 陈英,马洪涛.NAT技术的研究与应用[J].实验室研究与探索,2007,26(8):56-59,62.
[8] 林国兰,陈显毅.NAT技术在局域网中的应用[J].科技信息,2009(1):486,415
[9] 韩毅刚,李亚娜,王欢,等.计算机网络技术实践教程[M].北京:机械工业出版社,2012.
[10] 姜东洋,卢晓丽,张学勇.中小型企业网络建设与维护[M].北京:机械工业出版社,2022.