码迷,mamicode.com
首页 > 系统相关 > 详细

linux 网络地址转换NAT

时间:2019-01-14 17:12:12      阅读:249      评论:0      收藏:0      [点我收藏+]

标签:port   ***   默认路由   全球   全局   它的   其它   ddr   本地   

网络地址转换NAT
技术分享图片
NAT的作用:
增加IPv4的地址数量,解决私网地址不能上网的问题。

NAT的概念:
通过将内部网络的私网IP地址翻译成全球唯一的公网IP地址。

原理

原理:
技术分享图片
就是将内部本地转换为内部全局的地址,即将私网地址转换为公网地址去上网。

NAT术语:
内部本地(局部) 在内部网络中分配给主机使用的私有ip地址
内部全局 该地址通常是从全球统一可寻址的地址空间中分配的,一般由互联网服务同上(ISP)提供
外部全局 外部网络上的主机分配的ip地址。该地址也是从全球统一可寻址的地址空间中分配的
外部本地(局部) 外部主机表现在内部网络的ip地址
简单转换条目 将一个ip地址映射到另一个ip地址的转换条目
扩展转换条目 映射ip地址和端口到另一对ip地址和端口的条目

NAT的优点:
1、节省公网地址
2、增强灵活性、安全性
3、处理重叠的地址

缺点:
1、延迟增大
2、配置和维护的复杂性
3、不支持某些应用

NAT的实现方式:(分类)
1、静态转换(Static translation)静态NAT
2、动态转换(Dynamic translation)动态NAT
3、端口地址转换(Port Address Translation,PAT)

一、静态转换
将内部网络的私有ip地址转换为公用合法的ip地址,ip地址的对应关系是一对一的,而且是不变的。

主要用在内部网络中有对外提供服务的服务器

缺点:需要独占宝贵的合法ip地址。
如果某个合法ip地址已经被NAT静态地址转换定义,即该合法ip地址当前没有被使用,也不能被用作其它的地址转换。

技术分享图片

二、动态NAT
将内部网络的私有地址转换为公网地址进行一对一的转换。但是,是从公网地址池中选择一个未使用的地址对内部私有地址进行转换。

优点:随机的
缺点:不节约、不固定的。

技术分享图片

三、端口地址转换
也被称为复用地址转换(PAT)
也是一种动态的地址转换。

工作过程:路由器改变外出数据包的源ip地址和源端口,并进行端口转换,即采用端口多路复用方式,通过这种转换,可以使多个内部私有ip地址同时与同一个公网ip地址进行转换并对外部网络进行访问。

一个公网地址对应多个私网地址。

优点:
1、节约公网ip地址
2、隐藏内部的所有主机,避免******。

理想状况下,一个单一的IP地址可以使用的端口数为4000个。

四、NAT配置
1、静态NAT配置步骤:
(1)先设置外部端口的ip地址
(2)再设置内部端口的ip地址
(3)在全局配置模式下:
ip nat inside source static 内部本地ip地址 内部全局ip地址 [extended]
注:extended(可选)表示允许同一个内部局部地址映射到多个内部全局地址。

例子:ip nat inside source static 192.168.100.2 61.159.62.130
将内部局部地址192.168.100.2转换为内部全局地址61.159.62.130
ip nat inside source static 192.168.10.10 202.10.168.130
(4)在内部和外部端口上启用NAT
将端口设置为内部端口或者外部端口
int f0/0
ip nat outside ##将当前端口设置为外部端口
exit
int f1/1
ip nat inside ##将当前端口设置为内部端口
exit
(4)配置路由。

2、NAT端口映射
(1)先给所有的端口设置ip地址
(2)在全局配置模式下配置端口映射,配置命令如下:
ip nat inside source static tcp/udp 私网地址 端口号 公网地址 端口
意义:将TCP或UDP协议中私网地址需要转换的端口转换成公网地址的端口号。

例子:ip nat inside source static tcp 192.168.10.10 80 192.168.20.20 8080
将Web服务器192.168.10.10的80端口转换成192.168.20.20的8080端口。

注:NAT端口映射还可以将不同服务器的不同服务(端口)映射到同一公网地址的不同端口,给人的感觉就是通过同一个地址访问了所有的服务器。

3、动态NAT
(1)先设置路由的所有端口的ip地址
(2)在全局配置模式下,定义内部网络中允许访问外部网络的ACL
(3)在全局配置模式下,定义合法ip地址池
配置命令如下:
ip nat pool 地址池名称 起始地址 终止地址 netmask 子网掩码 type rotary
(4)实现网地址转换,配置命令如下:
ip nat inside source list ACL列表号 pool 地址池名称 overload(反复用)
意义:将ACL列表中的地址转换为地址池名称中定义的地址
例子:
ip nat inside source list 1 pool test0
将ACL1中的局部地址转换为test0地址池定义的全局地址
注:如果有多个地址池的话,也可以一一添加,以增加合法地址池的数量范围。
ip nat inside source list 1 pool test1
ip nat inside source list 1 pool test2
以此类推。
(5)在内部和外部端口上启用NAT
(6)配置路由

4、PAT
(1)使用外部全局地址
①先配置所有端口的ip地址
②配置内部访问列表
③定义合法的ip地址池,命令如下:
ip nat pool 地址池名称 起始地址 终止地址 network 子网掩码
④设置复用动态ip地址转换:
ip nat inside source list ACL列表号 pool 地址池名称 [overload]
⑤在内部和外部端口上启用NAT
⑥配置路由

(2)复用路由器外部接口地址
①先配置所有端口
②定义内部访问列表
③设置复用动态ip地址转换,命令如下:
ip nat inside source list ACL1 interface 端口编号 overload
意义:以端口复用方式,将ACL1中的私有地址转化为路由器外部接口的合法ip地址。
④在外部和内部端口上启用NAT
⑤配置默认路由。

show ip nat translations [verbose] 查看NAT转换条目,verbose显示更多信息,包括一个动态条目的保存时间
show ip nat statistics 查看NAT的统计信息
debug ip nat 跟踪NAT的操作,显示出每个转换的数据包。

linux 网络地址转换NAT

标签:port   ***   默认路由   全球   全局   它的   其它   ddr   本地   

原文地址:http://blog.51cto.com/14150862/2342540

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!