NAT的实现方式有三种,即静态转换Static Nat、动态转换Dynamic Nat 和端口多路复用OverLoad。
动态转换是指将内部网络的私有IP地址转换为公用IP地址时,IP地址是不确定的,是随机的,所有被授权访问上Internet的私有IP地址可随机转换为任何指定的合法IP地址。也就是说,只要指定哪些内部地址可以进行转换,以及用哪些合法地址作为外部地址时,就可以进行动态转换。动态转换可以使用多个合法外部地址集。当ISP提供的合法IP地址略少于网络内部的计算机数量时。可以采用动态转换的方式。
端口多路复用(Port address Translation,PAT)是指改变外出数据包的
网络地址转换(NAT)的实现
在配置网络地址转换的过程之前,首先必须搞清楚内部接口和外部接口,以及在哪个外部接口上启用NAT。通常情况下,连接到用户内部网络的接口是NAT内部接口,而连接到外部网络(如Internet)的接口是NAT外部接口。
1).
假设内部局域网使用的lP地址段为192.168.0.1~192.168.0.254,
第一步,设置
interface serial 0
ip address 61.159.62.129 255.255.255.248
ip nat outside
第二步,设置内部端口。
interface ethernet 0
ip address 192.168.0.1 255.255.255.0
ip nat inside
第三步,在内部本地与外部合法地址之间建立
ip nat inside source static 内部本地地址内部合法地址。
示例:
ip nat inside source static 192.168.0.2 61.159.62.130 //将内部 192.168.0.2
ip nat inside source static 192.168.0.3 61.159.62.131 //将内部 192.168.0.3
ip nat inside source static 192.168.0.4 61.159.62.132 //将内部 192.168.0.4
ip nat inside source static 192.168.0.5 61.159.62.133 //将内部 192.168.0.5
ip nat inside source static 192.168.0.6 61.159.62.134 //将内部 192.168.0.6
至此,
2).
假设内部网络使用的IP地址段为172.16.100.1~172.16.100.254,
第一步,设置外部端口。
设置
ip nat outside
示例:
interface serial 0 //进入 serial 0
ip address 61.159.62.129 255.255.255.192//将其IP地址指定为61.159.62.129,子网掩码为255.255.255.192
ip nat outside //将 serial 0
注意,可以定义多个
第二步,设置内部端口。
设置内部接口命令的语法如下:
ip nat inside
示例:
interface ethernet 0 //进入以太网端口Ethernet 0
ip address 172.16.100.1 255.255.255.0 // 将其IP地址指定为172.16.100.1,子网掩码为255.255.255.0
ip nat inside //将Ethernet 0 设置为内网端口。
注意,可以定义多个内部端口。
第三步,定义合法IP地址池。
定义合法IP地址池命令的语法如下:
ip nat pool 地址池名称起始IP地址 终止IP地址子网掩码
其中,
示例:
ip nat pool chinanet 61.159.62.130 61.159.62.190 netmask 255.255.255.192 //指明地址缓冲池的名称为chinanet,IP地址范围为61.159.62.130~61.159.62.190,
或ip nat pool test 61.159.62.130 61.159.62.190 prefix-length 26
注意,如果有多个合法IP地址范围,可以分别添加。例如,如果还有一段合法IP地址范围为"211.82.216.1~211.82.216.254",那么,可以再通过下述命令将其添加至缓冲池中。
ip nat pool cernet 211.82.216.1 211.82.216.254 netmask 255.255.255.0
或
ip nat pool test 211.82.216.1 211.82.216.254 prefix-length 24
第四步,定义内部网络中允许访问Internet的
定义内部
access-list 标号 permit 源地址
access-list 1 permit 172.16.100.0 0.0.0.255 //允许访问Internet的 =255.255.255.255
另外,如果想将多个IP地址段转换为合法IP地址,可以添加多个
access-list2 permit 172.16.98.0 0.0.0.255
access-list3 permit 172.16.99.0 0.0.0.255
第五步,实现
在全局设置模式下,将第四步由access-list指定的内部本地地址列表与第三步指定的合法IP地址池进行
ip nat inside source list 访问列表标号 pool 内部合法地址池名字
示例:
ip nat inside source list 1 pool chinanet
如果有多个内部
ip nat inside source list 2 pool chinanet
ip nat inside source list 3 pool chinanet
如果有多个
ip nat inside source list 1 pool cernet
ip nat inside source list 2 pool cernet
ip nat inside source list 3 pool cernet
至此,
3).
内部网络使用的IP地址段为10.100.100.1~10.100.100.254,路由器局域网端口(即默认网关)的IP地址为10.100.100.1,子网掩码为255.255.255.0。网络分配的合法IP地址范围为202.99.160.0~202.99.160.3,
第一步,设置外部端口。
interface serial 0
ip address 202.99.160.1 255.255.255.252
ip nat outside
第二步,设置内部端口。
interface ethernet 0
ip address 10.100.100.1 255.255.255.0
ip nat inside
第三步,定义合法IP地址池。
ip nat pool onlyone 202.99.160.2 202.99.160.2 netmask 255.255.255.252
// 指明地址缓冲池的名称为onlyone,IP地址范围为202.99.160.2,
第四步,定义内部访问列。
access-list 1 permit 10.100.100.0 0.0.0.255
允许访问Internetr的
第五步,设置复用
在全局设置模式下,设置在内部的本地地址与内部合法IP地址间建立复用
ip nat inside source list访问列表号pool内部合法地址池名字overload
示例:
ip nat inside source list1 pool onlyone overload //以 1
注意:overload是复用
至此,端口复用
还可以这样写:
ip nat inside source list 1 interface serial 0 overload