今天的CCNA课程是两天的课程合集,都是讲NAT的内容,第一节是静态NAT,第二节则是动态NAT,所以我把两节课合在一起了。

我们之前讲过IPv4数量不够多,无法满足日益发展的网络需求,因此有效的IP地址越来越少,为了缓解这一情况呢,推出了IPv6。而在IPv6全面落实之前,有一些IPv4的缓解手段,分别是CIDR,私有IPv4地址以及今天要说的NAT。

CIDR就是无类域间路由,之前说过了。而私有IPv4之前也说过,目前我们有三个网段用作私有IP地址

10.0.0.0/8 也就是 10.0.0.0到 10.255.255.255

172.16.0.0/12 也就是172.16.0.0 到172.31.255.255

192.168.0.0/16 也就是192.168.0.0 到192.168.255.255

NAT则是私有IP地址的辅助工具。按照规定来说呢,使用私有地址在自己的 局域网内是没问题的,但是这些网络地址不是全球惟一的,因此是无法进入到互联网的,不进行任何配置的话路由器会把这几个地址的包丢弃掉。

比如192.168.1.1想去谷歌8.8.8.8,路由器直接就会丢弃掉。那么如何解决这个问题呢,也就是NAT的作用。

NAT 就是network address translation 的最主要作用是修改 source或者destination的IP地址。当然也可以起到网络安全等作用。但是最主要还是转换地址。

在CCNA考试要求中,只需要知道 source NAT 和如何配置就行,对于服务器那一端的NAT不做要求。

如下图所示,PC1想访问8.8.8.8,最初它发出来的包,source是自己,destination是8.8.8.8,到达R1后,R1会进行NAT转换,将source 地址转换为一个全球唯一的公有地址如例子中式203.0.113.1,然后这个包发到8.8.8.8后,服务器会回一个包并且到达路由器,然后R1再将回馈的包进行反向NAT,把destination 的IP地址改了。

NAT有多种运行方式,像我们一般家用的路由器都会自动配置,一般来说都是默认动态,当然也可以手动配置静态的。

Static NAT的意思就是静态的将私有地址和公有地址进行一对一的匹配。

首先来了解一点概念,这个肯定会出现在CCNA的考试中,

一般来说,我们说客户端或者host或者内网一侧或者路由器的内部一侧等称之为inside,而与之相反,我们说服务器端或者server或者外网一侧或者路由器的外部一侧等称之为outside。

另外呢,我们说内网的这种地址称之为local,而外网或者说全球唯一的这种地址称之为global

因此呢,就有四种地址状态,inside local,inside global, outside local, outside global。

如下图所示,192.168.0.167就是inside local,100.0.0.1就是inside global,而理论上来说,outside这一侧应该也有NAT,但是CCNA考试范围不考察这里,所以默认情况下,我们认为outside global和outside local都是8.8.8.8.

同理,PC2也有一个地址,对外交流的话也是类似的情况。这里我们可以联想到,如果每一个主机都要有一个inside global 地址的话,那么NAT就没啥意义了,有多少台机器就需要多少个公有地址,所以静态NAT一般是没人用的。

下面我们看看静态NAT的配置方法,

进入到路由器的config 模式

首先选择内侧的也就是内网这一侧的端口,将其设置为inside

int g0/1

ip nat inside

然后选择外侧的也就是互联网这一侧的端口,将其设置为outside

int g0/0

ip nat outside

exit

然后进行一对一的配置,下面192.168这两个地址就是inside local地址也就是主机地址,而100.0.0.1和.2是inside global地址,这个是要和供应商购买的,不是随便填写的。

ip nat inside source static 192.168.0.167 100.0.0.1

ip nat inside source static 192.168.0.168 100.0.0.2

最后这一个命令可以实时查看NAT状态

show ip nat translations

如下图所示

另外一个命令就是

clear ip nat translation

这个命令用来清理NAT的动态缓存记录,除了手动配置的几条以外,其他都会被清理,如上图例子中,那几个UDP的就会被清理掉。如果不用该命令,一定时间后系统也会清理掉。

还一个命令是

show ip nat statistics

这一条命令会显示出当前的NAT情况,比如几个静态,几个动态,inside口,outside口等,如下图所示

回到刚才提到的一个问题,静态NAT需要把inside local和inside global一一对应起来,这样无法解决公有地址日益稀少的问题,所以要用动态NAT,即多个inside local使用一个或者几个inside global。

一般来说,在动态NAT中,需要配置ACL,某些ACL允许的IP地址会被NAT,而某些ACL阻止的IP地址不会被NAT,包会被丢掉。

几个inside global可以配置成一个池子,称为NAT Pool

如下图所示,PC1和PC2的被允许NAT,池子有10个inside global的地址

尽管看上去是动态的,实际上还是一对一的模式,先到先得,如果池子内的inside global地址用完了,除非之前的某个释放出来,否则后续的inside local也是无法NAT的,这个后续的inside local的包会被丢弃掉。

具体配置如下,和静态的类似,进入到config 模式

首先配置inside口

int g0/1

ip nat inside

然后配置outside 端口

int g0/0

ip nat outside

exit

接下来配置一个ACL

access-list 1 permit 192.168.0.0 0.0.0.255

这里配置NAT动态池,其中POOL1是名字可以随便起,后面两个地址分别是起始地址 最后可以写netmask 255.255.255.0也可以写这种prefix-length 24,两个格式都可以

ip nat pool POOL1 100.0.0.0 100.0.0.255 prefix-leength 24

最后应用动态NAT

ip nat inside source list 1 pool POOL1

如下图所示

查看状态,统计,以及删除记录和静态的一样。其中NAT缓存记录默认是1分钟消失,这个也可以手动更改,但是不在CCNA考试范围内,因此不提。

此外我们再说一下,比NAT更加先进的PAT模式,也就是 port address translation。之前我们说很多地址可以使用一个或者若干个inside global地址,但是其实还是浪费,因为许多服务使用的是不同的端口号,因此很多包可以共用一个地址,而使用不同的端口号。

如下图所示,PC1和PC2使用一样的inside local 端口号,但是NAT可以把它转为2个不一样的。NAT路由器会保存追踪哪个inside local 使用了啥端口,然后转换,然后反向转换等等。

配置方法和动态NAT差不多,进入到config 模式

还是先配置inside端口

int g0/1

ip nat inside

在配置outside端口

int g0/0

ip nat outside

exit

配置ACL

access-list 1 permit 192.168.0.0 0.0.0.255

配置个动态池子

ip nat pool POOL1 100.0.0.0 100.0.0.3 prefix-length 24

随后应用,和动态NAT的区别就是加了overload

ip nat inside source list 1 pool POOL1 overload

如下图所示

除此之外,还有一种情况是不配置池子,只用一个地址,那么区别就是不配置池子,然后最后pool那里配置端口,命令如下,进入到config模式

先配置inside端口

int g0/1

ip nat inside

在配置outside端口

int g0/0

ip nat outside

exit

配置个ACL

access-list 1 permit 192.168.0.0 0.0.0.255

最后这里应用,注意这里用在了outside的端口

ip nat inside source list 1 interface g0/0 overload

YouTube player
YouTube player
YouTube player
YouTube player

-------------------------------------------------------分隔符-------------------------------------------------------------------

-------------------------------------------------------分隔符-------------------------------------------------------------------

-------------------------------------------------------分隔符-------------------------------------------------------------------

-------------------------------------------------------分隔符-------------------------------------------------------------------

-------------------------------------------------------分隔符-------------------------------------------------------------------

-------------------------------------------------------分隔符-------------------------------------------------------------------

-------------------------------------------------------分隔符-------------------------------------------------------------------

-------------------------------------------------------分隔符-------------------------------------------------------------------

-------------------------------------------------------分隔符-------------------------------------------------------------------

-------------------------------------------------------分隔符-------------------------------------------------------------------

Day 44 Anki Flashcard下载:https://drive.google.com/file/d/1IkolqW2aqFdFZ-wXcMPLCReG5d4gKT9f/view?usp=sharing

Day 44 Cisco Packet Tracer 练习题下载:https://drive.google.com/file/d/1McBmPdtiGos0fKTe_zYwzPhJBj-ZEfYe/view?usp=sharing

Day 44 Cisco Packet Tracer 练习题完成下载:https://drive.google.com/file/d/10nmsKWajGxg8nmamq_MNazZG4OAzEchB/view?usp=sharing

Day 45 Anki Flashcard下载:https://drive.google.com/file/d/1zQVxkOvX9EUsZ12STAbP380tS0C6mZ4b/view?usp=sharing

Day 45 Cisco Packet Tracer 练习题下载:https://drive.google.com/file/d/1hsIP7XiD_wBiodVDLpJNPWYLwHpWIFwT/view?usp=sharing

Day 45 Cisco Packet Tracer 练习题完成下载:https://drive.google.com/file/d/1v_8tIVcGUbVuIunSBhhdxgDlZ1czA5t7/view?usp=sharing


Chao

一个三天打鱼两天晒网的博主 拖延症严重患者 干啥啥不行,学啥啥不会

0 条评论

发表回复

Avatar placeholder