计算机网络基础——NAT

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/jsut_rick/article/details/86612468

NAT(网络地址转换)

    ——将一个网络的地址转换成另一个网络地址

作用:通过将内部网络的私有IP地址翻译成全球唯一的公网IP地址,使内部网络可以连接到互联网等外部网络上。

记忆:私有网络和公有网络地址

如果内网使用了公网IP地址,相当于在外网上屏蔽了此外网IP地址。

NAT的优点:节省公有合法IP地址;处理地址重叠;增强灵活性;安全性

NAT的缺点:延迟增大;配置和维护的复杂性;不支持某些应用,可以通过静态NAT映射来避免

NAT实现方式

1动态转换:IP地址的对应关系是不确定的,而是随机的,所有被授权访问互联网的私有地址可随机转换为任何指定的合法的外部IP地址。(内部网络同时访问Internet的主机数少于配置的合法地址中的IP个数时适用)

动态NAT的配置

- 配置接口IP及路由

- 使用访问控制列表定义哪些内部主机能做NAT

- 决定采用什么公有地址池

  全局:ip nat pool pool-name star-ip end-ip {netmask netmask| prefix-length prefix-length} [type rotary]   #定义动态转换地址池

动态NAT配置步骤

1、配置ACL,用于限定可以做地址转换的内网范围      #定义要转换的地址列表

R1(config)#access-list 1 permit 192.168.1.0 0.0.0.255

2、配置合法地址池      #定义动态转换地址池

R1(config)#ip nat pool nsd 201.1.1.2 201.1.1.8 netmask 255.255.255.0

(定义地址池名称为nsd,地址池IP范围201.1.1.2 到201.1.1.8)

3、设置ACL和地址池的映射关系 #将列表转换为地址池

R1(config)#ip nat inside source list 1 pool nsd

4、指定内部接口和外部接口,启用NAT

全局:int f0/0

           ip nat inside

      int f0/1

           ip nat outside

R1#sho ip nat translations    查看NAT转换表

R1#clear ip nat translation * 清除动态转换的NAT表

2、静态转换:

IP地址的对应关系是一对一,而且是不变的,借助静态转换,能实现外部网络对内部网络中某些特设定服务器的访问。

静态NAT配置

- 配置接口IP及路由

- 决定需要转换的主机地址

- 决定采用什么公有地址

- 在内部和外部端口上启用NAT

将内网服务器发布到互联网,可以采用静态NAT:

1、配置将哪个内网IP映射为哪个合法地址

全局:ip nat inside source static local-ip global-ip [extendable]

R1(config)#ip nat inside source static 192.168.1.100 201.1.1.9

#将内网192.168.1.00转换成外部网络201.1.1.9

2、指定内部接口和外部接口,启用NAT

全局:int f0/0

           ip nat inside

      int f0/1

           ip nat outside

特权:show ip nat translations

3、端口映射

当互联网用户访问发布的IP地址+端口号,才能找到相应的内网服务器

a、将192.168.1.6的80端口映射为61.159.62.133的80端口(如果原来有相应的静态转换配置,先取消)

全局:ip nat inside source static tcp 192.168.1.9 80 201.1.1.9 80

b、将192.168.101的DNS服务发布到互联网

全局:ip nat inside source static udp 192.168.1.101 53 201.1.1.9 53

c、在内部接口和外部接口上启用NAT

全局:int f0/0

           ip nat inside

      int f0/1

           ip nat outside

特权:show ip nat translations

d、内网增加一台server服务器,ip地址为192.168.1.101,网关指向192.168.1.254。在services选项卡中选择左侧的DNS,右侧的name填http://www.tedu.cn ,Address填201.1.1.1 ,点击add,设置DNSservice为on的状态

e、在互联网服务器上添加它使用的DNS服务器是201.1.1.9,然后运行命令行工具,输入nslookup http://www.tedu.cn

4、端口多路复用(PAT)

通过改变外出数据包的源IP地址和源端口并进行端口转换,内部网络的所有主机均可共享一个合法IP地址实现互联网的访问,节约IP。

PAT的配置

- 配置接口IP及路由

- 使用访问控制列表定义哪些内部主机能做PAT

  全局:ip nat inside source list access-list-number pool pool-name [overload]  

- 确定路由器外部接口地址IP

- 在内部和外部端口上启用NAT

如果外网地址只有一个,配置在路由器的外端口上了,那么可以让内网所有的地址都转换成外网端口的地址,进行互联网访问

a 清除前面所做的动态转换

 特权:clear ip nat translations *

 全局:no ip nat inside source list 1

       No ip nat pool nsd

b  定义内部访问列表,限制可以进行PAT转换的内网地址

全局:access-list 1 permit 192.168.1.0  0.0.0.255

c 定义合法的IP地址池

  ——由于直接使用外部接口地址,所以不再定义IP地址池

d 配置ACL和路由器外端口的映射,设置复用动态IP地址转换

 全局:ip nat inside source list 1 interface f0/1 overload   #f0/1,外部接口

e 在内部和外部端口上启用NAT

全局:int f0/0

           ip nat inside

      int f0/1

           ip nat outside

特权:show ip nat translations

NAT三种实现方式的区别:

静态转换的对应关系一对一且不变,并且没有节约公用IP,只隐藏了主机的真实地址。

动态转换虽然在一定情况下节约了公用IP,但当内部网络同时访问Internet的主机数大于合法地址池中的IP数量时就不适用了。多对多

端口多路复用可以使所有内部网络主机共享一个合法的外部IP地址(多对一),从而最大限度地节约IP地址资源。  ——使用最多

端口映射:将局域网的不同服务器通过IP+协议+端口发布

记忆:记住各配置的步骤

查看NAT转换条目 特权show  ip  nat  translations

       #显示当前存在的转换,若是动态转换,只有在有数据传输时,转换表内才有数据

特权:show ip nat translations verbose显示详细的NAT转换条目信息

清除NAT转换条目

特权: clear ip nat translation * 清除NAT转换条目中的所有所条目

注:静态NAT条目不会被清除

特权:clear ip nat translation inside local-ip global-ip清除包含一个内部转换的一个简单转换条目

特权:Clear ip nat translation outside local-I global-io 清除包含一个外部转换的一个简单转换条目

NAT常见问题

ACL阻止转换后的流量

进行地址转换的ACL不全

overload参数漏配

不对称路由问题

动态地址池IP地址范围配置错误

动态地址池与静态转换地址重叠

Inside和outside接口配置错误

调试(相对于是在路由器上进行抓包)

特权:debug  ip  nat     #显示每个转换的数据包,在生产环境下,要慎重使用,严重占用路由器资源,检测完后要关闭

S表示源地址  D表示目的地址

192.168.1.2->61.159.62.130表示将192.168.1.2转换为61.159.62.130

特权:undebug all   #关闭所有存在的抓包操作

 

 

网络架构层次

接入层:用于将终端设备接入网络

汇聚层:用于vlan间通信,路由用户数据到外网

核心层:连接外网

猜你喜欢

转载自blog.csdn.net/jsut_rick/article/details/86612468