14、 NAT
私有IP地址段:
10.0.0.0-10.255.255.255/8
172.16.0.0-172.31.255.255/12
192.168.0.0-192.168.255.255/16
NAT的必要性:
1、公网IP地址不够用
2.在网络融合中双方都使用了相同的私网IP地址
3、所获的IP够用,从一个ISP迁移到另一个ISP,新的ISP不支持老的公网IP
4、在网络边界对流量进行控制,主要应用于负载均衡
NAT的优点:
1.解决地址不足的问题
2、更换ISP比较容易,只要在边界进行NAT转换即可
3、ISP可以控制私有ip使用范围
4、安全,对外隐藏了内网的IP地址信息
NAT缺点:
1、增加了延迟:因为会对数据报文进行IP地址改变,
并且重新计算校验和
2.扩展性不太好,会增加边界路由器负担
3、失去了端到端了一个连接
4、跟踪攻击源困难
5、对嵌入式IP(数据含有IP地址)不兼容
NAT术语:
1、内部局部地址:即要转换的私有IP地址
2、内部全局地址:要转换的地址(公网IP)
3、外部局部地址:外部主机表现给本地看的IP
4、外部全局地址:外网的私有地址
NAT的操作:
1、数据包到达NAT设备,转换为公网IP
2、NAT设备必须记住NAT转换表
3、返回的数据查看NAT转发表,转发数据到相应的内部主机
NAT的类型:
1、静态static NAT
是一种一对一的对应关系,就是将一个内部主机永久的映射到一个公网IP
2、动态NAT
利用一个公网IP地址池与内部主机进行转换
NAT配置:
1、配公网IP地址池
2、规定被转换的私有IP
3、配转换关系
4、绑定到接口
静态NAT配置:
ip nat inside source static 私网IP 公网IP
int e0
ip nat inside
int e1
ip nat outside
动态NAT配置:
定义公网地址池:ip nat pool 地址池的名字 地址池范围
(netmask 掩码)prefix-lenth 24
规定转换的私有ip
ip nat inside source list 1(访问列表) pool 地址池名字
绑定接口
int e0
ip nat inside
int e1
ip nat outside
access-list 1 permit ip地址
PAT配置
1、定义公网地址池:ip nat pool 地址池的名字 地址池范围
(netmask 掩码)prefix-lenth 24
2、规定转换的私有ip
3、ip nat inside source list 1(访问列表) pool 地址池名字 overload
绑定接口
int e0
ip nat inside
int e1
ip nat outside
access-list 1 permit ip地址
TCP load-balance 配置:
ip nat pool abc 10.1.1.2 10.1.1.5 netmask 255.255.255.0 type rotary 定义轮询地址
access-list 1 permit 192.1.1.1 0.0.0.0 定义访问列表
ip nat inside destination list 1 pool abc 定义转换关系
int e0 在接口上应用NAT
ip nat inside
int e1 在接口上应用NAT
ip nat outside
静态扩展NAT:
ip nat inside source static tcp 192.168.100.100 80 200.1.1.100 80 extendble
NAT:
inside:需要翻译成外部地址的网络
outside:外部地址,Internet地址
local:出现于内网
global:出现于外网
inside local:分配给处于内网的主机的IP地址,地址是全局唯一的,一般分配的是由RFC 1918里定义的私有地址(private IP address)
inside global:用来替代inside local的对外的,可用于Internet上的地址,即被翻译后的地 址.地址全局唯一,由ISP分配
outside local:外网主机相对于内网所用的IP地址.地址可以从RFC 1918中定义的进行分配
outside global:分配给外网主机的外部地址
simple translation entry: 把一个IP地址映射到另外一个地址上去的翻译方式
extended translation entry: 把IP地址和端口(port)的组合翻译成另外一个地址和端口的 组合
static address translation:静态翻译,把一个local对应到global上去
dynamic address translation:动态翻译,local和global池(pool)建立动态对应关系
port address translation(PAT):通过使用地址和端口的结合来达到多个local对应一个 global的状态.端口号用来区别不同的local.这样的技术也叫overloading.
LAB-1:NAT的基本配置
step1:定义NAT的内口/外口
R1(config)#int e0
R1(config-if)#ip nat inside //将e0口定义为NAT的内网口
R1(config)#int s1
R1(config-if)#ip nat outside //将s1口定义为NAT的外网口
step2:配置一个静态的(IP对IP)NAT转换
R1(config)#ip nat inside source static 192.168.1.2 13.0.0.1
inside local inside global
R1#show ip nat translations
Pro Inside global Inside local Outside local Outside global
--- 13.0.0.1 192.168.1.2 --- ---
R1#debug ip nat
LAB-2:配置动态NAT
step1:定义NAT的内口/外口
R1(config)#int e0
R1(config-if)#ip nat inside //将e0口定义为NAT的内网口
R1(config)#int s1
R1(config-if)#ip nat outside //将s1口定义为NAT的外网口
step2:用ACL定义需要做NAT的用户群
R1(config)#access-list 1 permit 192.168.1.0 0.0.0.255
step3:配置一个基于公网接口serial 1的NAT端口复用
R1(config)#ip nat inside source list 1 interface serial 1 overload
内网用户 NAT的出接口 端口复用
show ip nat tran
deb ip nat
show ip nat translations
LAB-3:配置一个基于地址池的NAT
step0:在网关上为内部用户配置辅助地址
R1(config)#inter e0
R1(config-if)#ip add 192.168.1.1 255.255.255.0
R1(config-if)#ip add 192.168.2.1 255.255.255.0 secondary //配置辅助地址
step1:定义内/外口
step2:定义用户群
R1(config)#access-list 1 permit 192.168.1.0 0.0.0.255
R1(config)#access-list 2 permit 192.168.2.0 0.0.0.255
step3:从ISP处购买来的公网IP,分别放入为不同子网准备的地址池中
R1(config)#ip nat pool POOL_1 13.0.0.8 13.0.0.11 prefix-length 24
地址池的名字 起始IP地址 结束IP地址
R1(config)#ip nat pool POOL_2 13.0.0.12 13.0.0.15 netmask 255.255.255.0
step4:为不同的子网,进行基于不同NAT-Pool的转换
R1(config)#ip nat inside source list 1 pool POOL_1 overload
R1(config)#ip nat inside source list 2 pool POOL_2 overload
测试
LAB-4基于端口号的NAT转换 PAT
R1(config)#ip nat inside source static tcp 192.168.1.2 23 13.0.0.1 8000
R1(config)#ip nat inside source static tcp 192.168.2.4 23 13.0.0.1 9000
PAT: 1个IP只能提供65535个转换项(不是IP,1个Ipdutying 200个左右的转换项)
Ip nat inside source list 10 int s1/1 overload
Ip nat inside source list 10 pool liming overload (端口复用的可以是接口或地址池)
NAT排障:
1.检查inside 入口方向有没有ACL拒绝数据包通过
2.NAT里引用的list添加所有需要转换的网段
3.Nat 地址池地址不够
PAT: 1个IP只能提供65535个转换项(不是IP,1个Ipdutying 200个左右的转换项)
4.路由器接口的inside ,outside定义