为什么要学习网络地址转化呢?
比如上图左边白色方框为你们公司内部网络,白色右边只匡了半个路由器,那个路由器就是你们公司的边界路由,(边界路由概念不懂的话可以单独问我,我后面也会讲)。
那右边粉红色的区域就是运营商的服务器和连向公有网络的路由器。
正常看到这个图想实现两边路由器互通的话,就是一个路由器写一个静态路由,就可以实现两边互通,但现实情况就是右边是服务器,人家并不知道你的IP地址,那么多私有地址也不可能一个一个写你家IP地址进路由对吧。
所以左侧的PC机比如你想访问百度,你一个网制www.baidu.com一个地址打上去通过你家的路由器发上了公有网络,公有网络再发给了服务器,这一段是走的通的,但是服务器不知道你家的地址,所以回不了包给你。
但是服务器知道公有地址,能发给公有地址,但是找不到你家,这时候我们想实现你能访问到百度,百度能给你回包的话,就需要用到NAT技术
NAT的作用就是将私有地址,转换为公有地址,让“百度“找到你,从而实现internet访问!!!
NAT-netwrok address translation
作用:将私有地址,转换为公有地址,从而实现internet访问;
实施:在网络的边界设备上,即网关设备/防火墙
配置网络界线哪个端口是内网,哪个是外网
大家都知道每个路由器的每个端口都是一个网段,如上图;f0/0就是连接内网的,f0/1就是连接外网的。
那么我们先进入这个路由器确定网络界线,内网和外网
RW>enable 进入特权模式
RW#config ter 进入全局配置模式
RW(config)#interface f0/0 进入f0/0端口
RW(config-if)#ip nat inside 确认内网
----------------------------------------------------------------
同样操作进入f0/1然后------输入 ip nat outside 确认外网
------------------------------------------------------------------------------------------------------------------------------------
确认了内外网,我们接下来就是配置地址转换条目;
就是你要将什么IP转化为什么IP,那就是要将私有地址192.168.1.1转换为中间公有网段100.1.1.1
这样的话服务器端就能读的懂你的IP就能够给你回包
操作如下:
-----------------------------------------------------------------------------
RW>enable
RW#config ter
RW(config)#ip nat ineiid source static 192.168.1.1 100.1.1.1(翻译一下就是:使用NAT协议将192.168.1.1转换为100.1.1.1
写完了这个命令你的PCJ机192.168.1.1就可以ping通200.1.1.1(服务器的IP地址)
但是NAT协议分为几种;
普通的动态NAT (私有地址:公有地址=1:1 什么意思呢,就是一个公有地址只能对应一个私有地址,就如同上面的实验,假如你同样的命令想添加192.168.1.2进这个公有网络是不存在的- -!,那么存在IP地址浪费,第二个也非常麻烦。
------------------------------------------------------------------------------------------------------------------------------------
所以再讲一个PAT(port address translation)
这个升级版的NAT有什么好处呢,就是(私有地址:公有地址=N:1)用了这个192.168.1.1和192.168.N都能转换为100.1.1.1
下面实现这个技术:
第一步:确定网络界线;内网和外网和上面一样,我就直接拉下来了
RW>enable 进入特权模式
RW#config ter 进入全局配置模式
RW(config)#interface f0/0 进入f0/0端口
RW(config-if)#ip nat inside 确认内网
----------------------------------------------------------------
同样操作进入f0/1然后------输入 ip nat outside 确认外网
第二步:就是确定感兴趣流量;
什么教感兴趣流量呢?这要运用到一部分的访问控制列表的知识(ACL)
RW#(config)access-list 1 permit host 192.168.1.0
(创建一个list 1 对192.168.1.0这个网段感兴趣,当然这个192.168.1.0你想让它对谁感兴趣,你可以随便写,你如果不想写的话可以
RW#(config)access-list 1 permit any (对所有都感兴趣,那好了连这个网段的所有PCJ机i都可以转化了
第三步:配置转换条目
RW(config)#ip nat ineiid source static list 1 interface f0/1
好了,这样就个网段的所有PC机都可以访问internet
最后就是验证与测试:
show ip nat translation //查看NAT转换表
ping x.x.x.x
debug ip nat // 查看数据包的地址转换过程