CCNA-第十三篇-NAT-上
NAT- netword address translation 网络地址转换
NAT不仅仅是用于共享地址上网,NAT是一个很大的东西
核心思想是转换地址,以及端口号
NAT也分静态和动态
TAG:NAT很多时候也叫做端口映射,只是一个叫法而已
不只是设备,电脑本身也有端口号的哦!
电脑查看本机开启端口号
cmd下 netstat -an
NAT会非常消耗设备的内存
所以如果NAT条目很多的话,设备会扛不住,这个叫并发数.
分类,先讲从外面进来的.DNAT
NAT分静态NAT与动态NAT,当然包括出去的和进来的
出去的:SNAT
进来的:DNAT
先讲讲进来的DNAT
上操作:
1.1是PC
1.2是网关
2.2是ISP
关闭路由功能
接口配置IP
开启接口
指向路由为192.168.1.2(相当于默认路由的功能),但是模拟PC,只有关闭了路由功能才能手动指向网关,否则这条命令是打不出来的.
2.
配置过于简单就不写了,只是搭建环境而已
3.
TAG:接口中的Full-duplex的意思是全双工的意思,因为这是模拟器环境,所以会有老旧的E口,也就是百兆口,有时候是半双工不是全双工的,会一直报错.
环境搭好了,那么需求是,ISP设备telnet到GW设备直接接入到PC的终端界面.
其实严格来说不叫PC,应该叫个交换机才对,这样会好一点点,因为PC不支持telnet,不过这里是举个例子,知道就行哈!
telent的配置就不做了,不会的翻前面的
如图所示,ISP设备正常telnet到GW设备上,这个时候的GW是没有做任何NAT的!
>然后现在做NAT让ISP可以telnet到GW的时候直接跳到PC
这里不是C++,我只是做个颜色让他好看点
首先要标识一下,就像上面的ACL那样,要标志入口和出口
华为是不用写的
思科要写,一定要写!!!
一个内网口,一个外网口.
配置如下
上面那句话什么意思呢?
内网的NAT,来自TCP的IP的192.168.2.1:23端口跳转到192.168.1.1:23
一定要记住,公网地址,出口地址要写在后面!!!.
然后这个时候我们再去telnet2.1(GW)
他就已经跳到下面的PC去了,这个过程我们叫做端口映射.static是静态的意思.1对1
然后这个时候问题来了,假如说,我这个GW也需要访问呢?你这一跳,那我还怎么进入这个GW呢,因为23端口已经被NAT占用跳到下面的PC去了呀,对叭
普及:在网络世界中,有端口1-65535,然后.1-1024是公有的,是被设定好的.剩下的可以自己做来使用.比如telnet,ssh,http,https这些之类的都是设定好的,也都可以修改
所以这个时候,我要把它做成别的端口
也就是说,我要让他访问192.168.2.1的10000端口的时候,给我跳转到下面的1.1的23端口 这样我原本的23就不受影响了呀.但是前提要no掉前面的不然会冲突,来看看效果.
可以看到,从ISP飞过去,10000端口是往PC走的,正常的23端口还是在正常的GW上
进来的SNAT
首先来这个环境,如果红色是发包,蓝色是回包,请问这样能通吗
答案是不行的,因为192段是私网IP,私网IP是不能接入到公网上的
这个时候怎么办呢?来个NAT转换地址,让他发给我的GW,然后GW再发我
第二个原因,哪怕是公网,一个PC如果配置一个公网地址,那也太豪横了吧
要知道IPv4的资源早就枯竭了不说,买一个IP也不便宜呢,所以这个NAT就变得很重要了
基于源IP弟子的NAT转换,私网IP转公网IP
还是刚刚那个环境刚刚那个IP
这个叫静态1V1的NAT
一样要配置接口上的inside和outside,然后这条命令代表的是
本机上来自192.168.1…1的数据包转换成192.168.2.1出去
下面讲讲动态的NAT
为什么要用动态呢?因为你的公司里面不可能只有一台机器呀,一般都是网段呀,几个网段同时都需要上网,比如这,192.168.1.0/24
当用到动态NAT的时候,就需要和ACL结合了
首先写一条ACL.这里里面的ACL的作用,并不是拦截或者放行数据,而是抓取
虽然说也可以理解为只放行这个数据过去,但是这样不好理解!这里涉及到概念问题,因为后面还有route-map,BGP,MPLS这些东西,所以这样理解是最好的…
这里解释一下
刚刚呢上面写的是Static,意思代表的是静态.1对1
list呢,就是对应到ACL.就是我们现在要做的
route-map就是对应策略路由的.
list 1 这里面这个1 代表的是ACL的名字
然后从这个e0口出去,因为我现在的出口接口是E0
从PC上 去ping依然是通的
可以看看验证效果
顺带提一下
一般呢我们都会这里后面跟上一个overload,什么是overload呢?
中文意思是端口复用,有啥作用呢?
如果打了,就是对外都是一个IP(默认下你不打他也会存在的)
可以验证一下这句话
这里面我是没打overload的,它是自动的
如果不写,他是另外一种做法,需要做一个地址池给他的转换IP
这里的pool后面跟的是刚刚创立的nat的地址池的名字
就这样已经完事了,已经征程正常nat转换了,这样的作用在于可以欺骗对方+保护自己
有overload就代表无论什么发出去都是这个IP
但是如果没有,就会根据这个地支持的的IP转换出去
如果按照上面那个配置来说的话
比如GW设备是A,接收是B,那么B收到的就会是1.1.1.0/8的地址
>实际上这个东东叫PAT,多对一,上面的是静态NAT,一对一