CCNA--LAB-10:配置NAT(网络地址转换)

本文涉及的产品
公网NAT网关,每月750个小时 15CU
简介:
 
一、 NAT简介
NAT(Network Address Translation) 的功能,就是指在一个网络内部,根据需要可以随意自定义的IP地址,而不需要经过申请。在网络内部,
各计算机间通过内部的IP地址进行通讯。而当内部的计算机要与外部internet网络进行通讯时,具有NAT功能的设备(比如:路由器)负责将其内部的IP地址转换为合法的IP地址(即经过申请的IP地址)进行通信。
 
二、 关于NAT的几个概念:
1    内部本地地址(Inside Local Address
分配给内部网络中的PC机的私有IP地址,一般都是我们常见的10.0.0.0/172.16.0.0/192.168.0.0
2    内部全局地址(Inside Global Address
对外进行IP通信时,代表一个或多个内部本地地址的合法IP地址
3    外部本地地址(Outside Local Address
由主机的拥有者分配给在外部网上的主机的IP地址.该地址不一定是属于合法的IP地址,但一定是可以路由的IP地址.
4    外部全局地址 (outside global address)
外部网络使用的地址.它是一个公有的IP地址
 
三、 优点与缺点
1 、节省IP。有了NAT技术,我们可以让一个企业内部的PC机共用少量的公网IP来连上Internet,而不需要为每一台PC都申请一个IP。这样做太浪费了,大家都知道,私有地址是不能在公网上路由的,如果要想拿到公网IP,有一个办法就是花钱申请,对外部网络屏蔽了内部的网络拓扑。
2 、内部网络中的PC机和外部通信的时候,在边缘经过NAT转换才把数据包交出去,速度上会稍微慢一些
 
 
 

 
实验一:配置静态NAT
用途:可以把企业内某一台服务器或计算机内部IP地址单独映射到外网地址,
使其可以对外提供服务。

 
 
拓扑如下
 
 
 
具体配置:
 
 
R1
Router>en
Router#conf t
Router(config)#hostname R1
R1(config)#interface f0/0
R1(config-if)#ip address 192.168.1.254 255.255.255.0
R1(config-if)#no sh
R1(config-if)#exit
R1(config)#interface f0/1
R1(config-if)#ip address 218.87.18.23 255.255.255.0
R1(config-if)#no sh
R1(config-if)#exit
R1(config)#ip nat inside source static 192.168.1.1 218.87.18.23
-- 这条语句说明把内部本地地址192.168.1.1静态映射内部全局地址218.87.18.23 (也就是下面那台PC的地址)
R1(config)#interface f0/0
R1(config-if)#ip nat inside    -- 使用NAT标识内部接口
R1(config-if)#interface f0/1
R1(config-if)#ip nat outside     -- 使用NAT标识外部接口
 
R1(config-if)#end
R1#
 
 
 
ISP
Router>en
Router#conf t
Router(config)#hostname ISP
ISP(config)#interface f0/1
ISP(config-if)#ip address 218.87.18.24 255.255.255.0
ISP(config-if)#no sh
ISP(config-if)#end
ISP#
 
 
 
验证在PCISP
PC>ping 218.87.18.24
 
Pinging 218.87.18.24 with 32 bytes of data:
 
Reply from 218.87.18.24: bytes=32 time=73ms TTL=254
Reply from 218.87.18.24: bytes=32 time=41ms TTL=254
Reply from 218.87.18.24: bytes=32 time=36ms TTL=254
Reply from 218.87.18.24: bytes=32 time=39ms TTL=254
 
Ping statistics for 218.87.18.24:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 36ms, Maximum = 73ms, Average = 47ms
PC>
 
 
 
查看NAT转换表:
R1#show ip nat translations
/ 协议  /内部全局地址   /内部本地地址       /外部全局地址
Pro  Inside global     Inside local       Outside local      Outside global
icmp 218.87.18.23:3    192.168.1.1:3      218.87.18.24:3     218.87.18.24:3
icmp 218.87.18.23:4    192.168.1.1:4      218.87.18.24:4     218.87.18.24:4
icmp 218.87.18.23:5    192.168.1.1:5      218.87.18.24:5     218.87.18.24:5
icmp 218.87.18.23:6    192.168.1.1:6      218.87.18.24:6     218.87.18.24:6
---  218.87.18.23      192.168.1.1        ---                ---
 
R1#
 
 
 
 
实验二:配置动态NAT
用途:如果企业当中向服务提供商申请了多个或者一串公网地址,使企业内成员都能访问因特网或者提供服务
 
拓扑如下:
 
 
具体配置:
 
R1
Router>
Router>en
Router#conf t
Router(config)#hostname R1
R1(config)#interface f0/0
R1(config-if)#ip address 192.168.1.254 255.255.255.0
R1(config-if)#no sh
R1(config-if)#int f0/1
R1(config-if)#ip address 218.87.18.23 255.255.255.0
R1(config-if)#no sh
R1(config-if)#exit
R1(config)#access-list 1 permit 192.168.1.0 0.0.0.255     -- 定义允许的流量
R1(config)#ip nat pool lab 218.87.18.21 218.87.18.23 netmask 255.255.255.0
-- 定义名为lab的公网IP地址池,范围为:218.87.18.21 – 218.87.18.23
R1(config)#ip nat inside source list 1 pool lab overload
-- 定义允许访问控制列表1的流量从lab地址池中转发出去,overload表示多路复用
R1(config)#interface f0/0
R1(config-if)#ip nat inside      -- 使用NAT标识内部接口
R1(config-if)#interface f0/1     -- 使用NAT标识外部接口
R1(config-if)#ip nat outside
R1(config-if)#end
R1#
 
 
ISP
Router>en
Router#conf t
Router(config)#hostname ISP
ISP(config)#interface f0/1
ISP(config-if)#ip address 218.87.18.24 255.255.255.0
ISP(config-if)#no sh
ISP(config-if)#end
ISP#
 
 
 
验证在PCISP
PC>ping 218.87.18.24
 
Pinging 218.87.18.24 with 32 bytes of data:
 
Reply from 218.87.18.24: bytes=32 time=53ms TTL=254
Reply from 218.87.18.24: bytes=32 time=21ms TTL=254
Reply from 218.87.18.24: bytes=32 time=36ms TTL=254
Reply from 218.87.18.24: bytes=32 time=39ms TTL=254
 
Ping statistics for 218.87.18.24:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 36ms, Maximum = 73ms, Average = 47ms
 
PC>
 
 
 
查看NAT转换表:
R1#show ip nat translations
Pro  Inside global     Inside local       Outside local      Outside global
icmp 218.87.18.21:30   192.168.1.1:30     218.87.18.24:30    218.87.18.24:30
icmp 218.87.18.21:31   192.168.1.1:31     218.87.18.24:31    218.87.18.24:31
icmp 218.87.18.21:32   192.168.1.1:32     218.87.18.24:32    218.87.18.24:32
icmp 218.87.18.21:33   192.168.1.1:33     218.87.18.24:33    218.87.18.24:33
icmp 218.87.18.21:34   192.168.1.1:34     218.87.18.24:34    218.87.18.24:34
icmp 218.87.18.21:35   192.168.1.1:35     218.87.18.24:35    218.87.18.24:35
icmp 218.87.18.21:36   192.168.1.1:36     218.87.18.24:36    218.87.18.24:36
R1#
 
注:由于下面只有一台PC,从以上表中不能看出所有的公网IP都被使用,大家用实验时可以下面挂两台或多台计算机.
 
 
 
实验三:配置PAT(端口地址转换)      ---- 拓扑为实验一拓扑
用途:这种方式是最普遍,也是最常用的方法,当企业仅只有申请了一个公网IP地址的情况下,我们可以使用PAT方式来实现企业内部能够访问因特网.
 
 
具体配置:
 
R1
Router>
Router>en
Router#conf t
Router(config)#hostname R1
R1(config)#interface f0/0
R1(config-if)#ip address 192.168.1.254 255.255.255.0
R1(config-if)#no sh
R1(config-if)#int f0/1
R1(config-if)#ip address 218.87.18.23 255.255.255.0
R1(config-if)#no sh
R1(config-if)#exit
R1(config)#access-list 1 permit 192.168.1.0 0.0.0.255      -- 定义允许的流量
R1(config)#ip nat inside source list 1 interface f0/1 overload
-- 定义所有符合访问控制列表1的流量,全部从F0/1接口转发出去.
R1(config)#interface f0/0
R1(config-if)#ip nat inside
R1(config-if)#interface f0/1
R1(config-if)#ip nat outside
R1(config-if)#end
R1#
 
 
 
ISP
Router>en
Router#conf t
Router(config)#hostname ISP
ISP(config)#interface f0/1
ISP(config-if)#ip address 218.87.18.24 255.255.255.0
ISP(config-if)#no sh
ISP(config-if)#end
ISP#
 
 
验证在PCISP
 
PC>ping 218.87.18.24
 
Pinging 218.87.18.24 with 32 bytes of data:
 
Reply from 218.87.18.24: bytes=32 time=86ms TTL=254
Reply from 218.87.18.24: bytes=32 time=45ms TTL=254
Reply from 218.87.18.24: bytes=32 time=49ms TTL=254
Reply from 218.87.18.24: bytes=32 time=35ms TTL=254
 
Ping statistics for 218.87.18.24:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 35ms, Maximum = 86ms, Average = 53ms
 
 
 
查看NAT转换表:
 
R1#show ip nat translations
Pro  Inside global     Inside local       Outside local      Outside global
icmp 218.87.18.23:43   192.168.1.1:43     218.87.18.24:43    218.87.18.24:43
icmp 218.87.18.23:44   192.168.1.1:44     218.87.18.24:44    218.87.18.24:44
icmp 218.87.18.23:45   192.168.1.1:45     218.87.18.24:45    218.87.18.24:45
icmp 218.87.18.23:46   192.168.1.1:46     218.87.18.24:46    218.87.18.24:46
 
R1#
 
 
 
总结:
网络地址转换就是将一个IP地址用另一个IP地址代替。尽管最初设计网络地址转换的目的是为了增加在专用网络中可使用的IP地址数,但是它有一个隐蔽的安全特性,如内部主机隐蔽等,保证了网络的一定安全。网络地址转换主要用在两个方面:
1)网络管理员希望隐藏内部网络的IP地址。这样,互联网上的主机无法判断内部网络的情况; 
2内部网络的IP地址是无效的。这种情况主要是因为现在的IP地址不够用,要申请到足够多的合法IP地址很难办到,因此需要转换IP地址。

    
在上面两种情况下,内部网对外面是不可见的,互联网不能访问内部网,但是内部网主机之间可以相互访问。









本文转自 meiyanaa 51CTO博客,原文链接:http://blog.51cto.com/justim/240713,如需转载请自行联系原作者
相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
基于阿里云,构建一个企业web应用上云经典架构,让IT从业者体验企业级架构的实战训练。
目录
相关文章
|
2月前
|
监控 Linux Shell
【Shell 命令集合 网络通讯 】Linux 配置和管理网络流量的形状 shapecfg命令 使用指南
【Shell 命令集合 网络通讯 】Linux 配置和管理网络流量的形状 shapecfg命令 使用指南
40 0
|
2月前
|
网络协议 Shell Linux
【Shell 命令集合 网络通讯 】Linux 设置和配置PPP pppsetup命令 使用教程
【Shell 命令集合 网络通讯 】Linux 设置和配置PPP pppsetup命令 使用教程
53 0
|
2月前
|
缓存 网络协议 Linux
【Shell 命令集合 网络通讯 】Linux 配置DNS dnsconf 命令 使用教程
【Shell 命令集合 网络通讯 】Linux 配置DNS dnsconf 命令 使用教程
39 0
|
2月前
|
域名解析 网络协议 Linux
【Shell 命令集合 网络通讯 】Linux 设置和管理网络接口配置信息 netconfig命令 使用指南
【Shell 命令集合 网络通讯 】Linux 设置和管理网络接口配置信息 netconfig命令 使用指南
64 1
|
27天前
|
网络协议 Linux
在Linux中,管理和配置网络接口
在Linux中管理网络接口涉及多个命令,如`ifconfig`(在新版本中被`ip`取代)、`ip`(用于网络设备配置)、`nmcli`(NetworkManager的CLI工具)、`nmtui`(文本界面配置)、`route/ip route`(处理路由表)、`netstat/ss`(显示网络状态)和`hostnamectl/systemctl`(主机名和服务管理)。这些命令帮助用户启动接口、设置IP地址、查看连接和路由信息。不同发行版可能有差异,建议参考相应文档。
20 4
|
13天前
|
网络协议
Centos6.5配置网络适配器
使用`vi /etc/sysconfig/network/ifcfg-eth0`配置网卡,将ONBOOT设为YES,移除dhcp,设定IP为192.168.10.1,子网掩码255.255.255.0,网关192.168.10.254。可选设置DNS。最后,重启网络服务`service network restart`。
17 0
|
14天前
|
Ubuntu 网络协议 Linux
Linux(20) Ubuntu 20.04 网络接口自动切换路由配置
Linux(20) Ubuntu 20.04 网络接口自动切换路由配置
35 0
|
19天前
|
数据采集 数据可视化
R语言用相关网络图可视化分析汽车配置和饮酒习惯
R语言用相关网络图可视化分析汽车配置和饮酒习惯
15 0
|
26天前
|
网络协议
centos8 网卡 Nmcli(是network的简写 Nmcli)配置网络
centos8 网卡 Nmcli(是network的简写 Nmcli)配置网络
24 0
|
1月前
|
网络协议 开发工具 Docker
iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 9999 -j DNAT --to-destination 172.17.0.2:80 !
iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 9999 -j DNAT --to-destination 172.17.0.2:80 !
17 1