NAPT配置网络端口地址转换
一、实验目标
- 理解NAT网络地址转换的原理及功能;
- 掌握NAPT的配置,实现局域网访问互联网;
二、实验背景
公司办公网需要接入互联网,公司只向ISP申请了一条专线,该专线分配了一个公网IP地址,配置实现全公司的主机都能访问外网。
三、技术原理
- NAT将网络划分为内部网络和外部网络两部分,局域网主机利用NAT访问网络时,是将局域网内部的本地地址转换为全局地址(互联网合法的IP地址)后转发数据包;
- NAT分为两种类型:NAT(网络地址转换)和NAPT(网络端口地址转换IP地址对应一个全局地址)。
- NAPT:使用不同的端口来映射多个内网IP地址到一个指定的外网IP地址,多对一。
- NAPT采用端口多路复用方式。内部网络的所有主机均可共享一个合法外部IP地址实现对Internet的访问,从而可以最大限度节约IP地址资源。同时,又可隐藏网络内部的所有主机,有效避免来自Internet的攻击。因此,目前网络中应用最多的就是端口多路复用方式。
四、实验步骤
实验拓扑
1、R1为公司出口路由器,其与ISP路由器之间通过V.35电缆串口连接,DCE端连接在R1上,配置其时钟频率为64000;
2、配置PC机、服务器及路由器接口IP地址;
3、在各路由器上配置静态路由协议,让PC间能相互ping通;
4、在R1上配置NAPT;
5、在R1上定义内外部网络接口;
6、验证主机之间的互通性。
R1:
Router>en Router#conf t Router(config)#host R1 R1(config)#int fa0/0 R1(config-if)#ip add 192.168.1.1 255.255.255.0 R1(config-if)#no shut R1(config-if)#exit R1(config)#int s2/0 R1(config-if)#ip add 200.1.1.1 255.255.255.0 R1(config-if)#no shut R1(config-if)#clock rate 64000 R1(config-if)#exit R1(config)#ip route 200.1.2.0 255.255.255.0 200.1.1.2 //配置静态路由 R1(config)#end R1# R1#show ip route C 192.168.1.0/24 is directly connected, FastEthernet0/0 C 200.1.1.0/24 is directly connected, Serial2/0 S 200.1.2.0/24 [1/0] via 200.1.1.2 R1#conf t R1(config)#int fa0/0 R1(config-if)#ip nat inside //定义NAT内部接口 R1(config-if)#exit R1(config)#int s2/0 R1(config-if)#ip nat outside //定义NAT外部接口 R1(config-if)#exit R1(config)#access-list ? <1-99> IP standard access list <100-199> IP extended access list R1(config)#access-list 1 ? deny Specify packets to reject permit Specify packets to forward remark Access list entry comment R1(config)#access-list 1 permit ? A.B.C.D Address to match any Any source host host A single host address R1(config)#access-list 1 permit 192.168.1.0 ? A.B.C.D Wildcard bits <cr> R1(config)#access-list 1 permit 192.168.1.0 0.0.0.255 ? <cr> R1(config)#access-list 1 permit 192.168.1.0 0.0.0.255 //定义访问控制列表 //配置允许NAT转换的内部地址 R1(config)#ip nat ? inside Inside address translation outside Outside address translation pool Define pool of addresses R1(config)#ip nat pool ? WORD Pool name R1(config)#ip nat pool david ? A.B.C.D Start IP address R1(config)#ip nat pool david 200.1.1.3 ? A.B.C.D End IP address R1(config)#ip nat pool david 200.1.1.3 200.1.1.3 ? netmask Specify the network mask R1(config)#ip nat pool david 200.1.1.3 200.1.1.3 netmask ? A.B.C.D Network mask R1(config)#ip nat pool david 200.1.1.3 200.1.1.3 netmask 255.255.255.0 ? <cr> R1(config)#ip nat pool david 200.1.1.3 200.1.1.3 netmask 255.255.255.0 //定义全局地址池//NAT转换地址池 R1(config)#ip nat inside ? source Source address translation R1(config)#ip nat inside source ? list Specify access list describing local addresses static Specify static local->global mapping R1(config)#ip nat inside source list 1 ? interface Specify interface for global address pool Name pool of global addresses R1(config)#ip nat inside source list 1 pool ? WORD Name pool of global addresses R1(config)#ip nat inside source list 1 pool david ? overload Overload an address translation <cr> R1(config)#ip nat inside source list 1 pool david overload ? <cr> R1(config)#ip nat inside source list 1 pool david overload //建立映射关系//配置NAT映射,将NAT地址池与ACL绑定 R1(config)#end R1# R1#show ip nat ? statistics Translation statistics translations Translation entries R1#show ip nat translations //没有主机访问Web Server的时候,没有记录 R1# R1#show ip nat translations //有主机访问Web Server,产生记录 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 R1#show ip nat translations //来自1.2和1.3的主机访问 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:1025 192.168.1.3:1025 200.1.2.2:80 200.1.2.2:80 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:1027 192.168.1.2:1027 200.1.2.2:80 200.1.2.2:80 tcp 200.1.1.3:1025 192.168.1.3:1025 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 R1#
内部本地(Inside Local)地址:通常是RFC1918私有地址。
内部全局(Inside Global)地址:当内部主机流量流出NAT路由器时分配给内部主机的有效公有地址。
外部本地(Outside Local)地址:分配给外部网络上主机的本地IP地址,此地址与外部设备的外部全局地址相同。
外部全局(Outside Global)地址:分配给Internet上主机的可达IP地址
R2:
Router>en Router#conf t Router(config)#hostname R2 R2(config)#int fa0/0 R2(config-if)#ip add 200.1.2.1 255.255.255.0 R2(config-if)#no shut R2(config-if)#exit R2(config)#int s2/0 R2(config-if)#ip add 200.1.1.2 255.255.255.0 R2(config-if)#no shut R2(config-if)# R2(config-if)#exit R2(config)#ip route 192.168.1.0 255.255.255.0 200.1.1.1 R2(config)#end R2# R2#show ip route 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 R2#
PC1:
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: Reply from 200.1.2.2: bytes=32 time=15ms TTL=126 Reply from 200.1.2.2: bytes=32 time=16ms TTL=126 Reply from 200.1.2.2: bytes=32 time=16ms TTL=126 PC>
PC-WEB:
总结实验关键点
定义内网口:ip nat inside
定义外网口 :ip nat outside
定义全局地址池: ip nat pool name xxxxx
定义ACL: access-list N xxxxxxx
建立映射关系:ip nat inside source list N pool name overload (overload不要忘记)
https://www.cnblogs.com/mchina/archive/2012/07/24/2606821.html