NAT(Network Address Translation)
- 当今的互联网是由一个个小的自治系统组成,一个家庭,一个企业就是一个小的自治系统
- 自治系统内部有着众多的设备需要IP地址联网,每个地址都需要去IANA申请明显做不到,所以就会使用私有IP地址进行分配
- 私有IP地址无法做到互联网通信,在内网之中就需要一个默认网关来代替大家请求互联网数据
- NAT网络地址转化技术能够将数据包中的IP地址进行转换
NAT优缺点
优点 | 缺点 |
---|
节省IP地址空间 | 增加转发延迟 |
解决IP地址重叠问题 | 丧失端到端的寻址能力 |
增加网络的连入Internet的弹性 | 某些应用不支持NAT |
网络变更的时候减少IP重编地址带来的麻烦 | 需要一定的内存空间支持动态存储NAT表项 |
对外隐藏内部地址,增加网络安全性 | 需要耗费一定CPU内存资源进行NAT操作 |
NAT术语
术语 | 英文 | 解释 |
---|
内部本地 | inside local | 转换之前源地址 |
外部本地 | outside local | 转换之前目的地址 |
内部全局 | inside global | 转换之后源地址 |
外部全局 | outside global | 转换之后目的地址 |
inside
表示源地址,outside
表示目的地址local
表示转换之前,global
表示转换之后
静态NAT
- 一对一映射,为每个内部的地址指定一个公网IP地址
- 这种方法主要用在内网中存在需要对公网提供服务的服务器常见,类似的例子由WEB服务器、邮件服务器、FTP服务器
R1(config)
R1(config-if)
R1(config-if)
R1(config-if)
R1(config-if)
R1(config-if)
R2(config)
R2(config-if)
R2(config-if)
R2(config)
R2(config-if)
R3(config)
R3(config-if)
R3(config-if)
R1(config)
R3(config)
- 在R1上做静态nat地址转换,我们找运营商获得一个权限的公网IP地址,假设是
100.12.12.3
,然后将其对应的分配给192.168.13.3
,那么R3在上网的时候就可以用公网IP地址对外了
R1(config)
R1(config-if)
R1(config-if)
R1(config-if)
R1(config)
R3
PAT(端口地址转换)
- 正常情况下我们家用宽带,或者仅仅只是有上网需求的情况下,没必要为每个设备都申请一个公网IP(也做不到)
- 在数据通信的时候只是需要一个端口号用于接收和发送数据即可,而一个IP地址可以有65535个端口号,所以将端口号轮流着分配给内网设备即可
- 配置IP地址
R1(config)
R1(config-if)
R1(config-if)
R1(config-if)
R1(config-if)
R1(config-if)
R2(config)
R2(config-if)
R2(config-if)
R3(config)
R3(config-if)
R3(config-if)
R4(config)
R4(config-if)
R4(config-if)
R1(config)
R3(config)
R4(config)
R1(config)
R1(config-if)
R1(config-if)
R1(config-if)
R1(config)
R1(config)
R3
R4
端口映射
- NAT会导致只能内网主动访问外网,而互联网没法主动访问内部网络,这样虽然保护了内部网络,但是却丢失了端到端通信的过程
- 端口映射可以将公网IP地址的端口对应到内网某个IP的端口号,从而让内网的设备也可以对外发布服务
- 端口映射可以让内网多个IP地址共用一个公网IP,可以节约很多成本
R1(config)
把R3地址23端口映射到R1的e0/1上的23端口了
R3(config)
R3(config)
R3(config)
R3(config)
R2
R1
负载均衡
- NAT也支持对公网IP地址的请求,分发给内部的设备来进行处理
- R1,R3,R4是内网,内网的设备要求能访问外网
- R2是外网,外网的设备能访问内网的服务
- 开启R3,R4telnet服务
R3(config)
R3(config)
R3(config)
R3(config)
R4(config)
R4(config)
R4(config)
R4(config)
R1(config)
R1(config)
R1(config)
- 在外网telnet R1的公网地址验证负载均衡是否成功
R2