1、静态 NAT 的配置静态 NAPT 的配置网络地址转换(NAT)用于把一个 IP 地址转换为另一个 IP 地址。NAT 的一些术语:1、内部本地地址(Inside Local Address)指本网络内部主机的 IP 地址。该地址通常是未注册的私有 IP 地址。2、内部全局地址(Inside Global Address)指内部本地地址在外部网络表现出的 IP 地址。它通常是注册的合法 IP 地址,是NAT 对内部本地地址转换后的结果。3、外部本地地址(Outside Local Address)指外部网络的主机在内部网络中表现的 IP 地址。4、外部全局地址(Outside Global A
2、ddress)指外部网络主机的 IP 地址。5、内部源地址 NAT把 Inside Local Address 转换为 Inside Global Address。这也是我们通常所说的 NAT。在数据报送往外网时,它把内部主机的私有 IP 地址转换为注册的合法 IP 地址,在数据报送入内网时,把地址转换为内部的私有 IP 地址。6、外部源地址 NAT把 Outside Global Address 转换为 Outside Local Address。这种转换只是在内部地址和外部地址发生重叠时使用。7、NAPTNAPT 又称 port NAT 或 PAT,它是通过端口复用技术,让一个全局地址对应
3、多个本地地址,以节省对合法地址的使用量。本部分只讨论内部源地址的静态 NAT 和静态 NAPT 的配置。静态 NAT 的配置这里指的是内部源地址的静态 NAT 的配置。它有以下特征:1、内部本地地址和内部全局地址是一对一映射。2、静态 NAT 是永久有效的。通常我们为那些需要固定合法地址的主机建立静态 NAT,比如一个可以被外部主机访问的 Web 网站。1、静态 NAT 的配置:Ruijie(config)#ip nat inside source static local-address global-address permit-inside 这个命令用于指定内部本地地址和内部全局地址的对
4、应关系。如果加上 permit-inside 关键字,则内网的主机既能用本地地址访问,也能用全局地址访问该主机,否则只能用本地地址访问。Ruijie(config)#interface interface-id Ruijie(config-if)#ip nat inside 以上命令指定了网络的内部接口。Ruijie(config-if)#interface interface-id Ruijie(config-if)#ip nat outside 以上命令指定了网络的外部接口。你可以配置多个 Inside 和 Outside 接口。2、删除配置的静态 NAT:Ruijie(config)#n
5、o ip nat inside source static local-address global-address permit-inside 该命令可删除 NAT 表中指定的项目,不影响其它 NAT 的应用。如果在接口上使用 no ip nat inside 或 no ip nat outside 命令,则可停止该接口的 NAT 检查和转换,会影响各种 NAT 的应用。配置举例:RuijieenableRuijie#configure terminalRuijie(config)#ip nat inside source static 192.168.10.1 200.6.15.1Ruij
6、ie(config)#ip nat inside source static 192.168.10.2 200.6.15.2 permit-insideRuijie(config)#interface f0/0Ruijie(config-if)#ip address 192.168.1.1 255.255.255.0Ruijie(config-if)#ip nat insideRuijie(config-if)#no ip redirectsRuijie(config-if)#no shutdownRuijie(config-if)#interface s1/0Ruijie(config-if
7、)#ip address 199.1.1.2 255.255.255.0Ruijie(config-if)#ip nat outsideRuijie(config-if)#no shutdownRuijie(config-if)#endRuijie#本例定义了两条静态 NAT,私有地址 192.168.10.1 与合法地址 200.6.15.1 对应,私有地址 192.168.10.2 与合法地址 200.6.15.2 对应。第一条静态 NAT 没有使用 permit-inside 关键字,内部主机只能用 192.168.10.1 访问该主机。第二条静态 NAT 使用了 permit-insi
8、de 关键字,内部主机可以用 192.168.10.2 访问,也能用 200.6.15.2 访问该主机,此时最好在 inside 口上添加 no ip redirects 命令,可防止该接口发送重定向报文,提高路由器效率。静态 NAPT 的配置静态 NAPT 可以使一个内部全局地址和多个内部本地地址相对应,从而可以节省合法 IP 地址的使用量。它有以下特征:1、一个内部全局地址可以和多个内部本地地址建立映射,用 IP 地址+端口号区分各个内部地址。2、从外部网络访问静态 NAPT 映射的内部主机时,应该给出端口号。3、静态 NAPT 是永久有效的。1、静态 NAPT 的配置:Ruijie(co
9、nfig)#ip nat inside source static tcp|udp local-address port global-address port permit-inside 这个命令用于指定内部本地地址和内部全局地址的对应关系,其中包括 IP 地址、端口号,使用的协议等信息。如果加上 permit-inside 关键字,则内网的主机既能用本地地址访问,也能用全局地址访问该主机,否则只能用本地地址访问。Ruijie(config)#interface interface-id Ruijie(config-if)#ip nat inside 以上命令指定了网络的内部接口。Ruiji
10、e(config-if)#interface interface-id Ruijie(config-if)#ip nat outside 以上命令指定了网络的外部接口。你可以配置多个 Inside 和 Outside 接口。2、删除配置的静态 NAPT:Ruijie(config)#no ip nat inside source static tcp|udp local-address port global-address port permit-inside 该命令可删除 NAT 表中指定的项目,不影响其它 NAT 的应用。如果在接口上使用 no ip nat inside 或 no ip
11、 nat outside 命令,则可停止该接口的 NAT 检查和转换,会影响各种 NAT 的应用。配置举例:RuijieenableRuijie#configure terminalRuijie(config)#ip nat inside source static tcp 192.168.10.1 80 200.6.15.1 80Ruijie(config)#ip nat inside source static tcp 192.168.10.2 80 200.6.15.1 8080Ruijie(config)#interface f0/0Ruijie(config-if)#ip addre
12、ss 192.168.1.1 255.255.255.0Ruijie(config-if)#ip nat insideRuijie(config-if)#no shutdownRuijie(config-if)#interface s1/0Ruijie(config-if)#ip address 199.1.1.2 255.255.255.0Ruijie(config-if)#ip nat outsideRuijie(config-if)#no shutdownRuijie(config-if)#endRuijie#本例中假设内网中有两个 Web 网站,第一个网站在内网中的地址为 192.168.10.1,在外网中可用 200.6.15.1 访问,第二个网站在内网中的地址为 192.168.10.2,在外网中可用 200.6.15.1:8080 访问,两个网站从外网来看,IP 地址相同,但端口号不同。如果想让内网用户也可用全局地址访问网站,需要加上 permit-inside 关键字。说明:如果有条件,尽量不要用 outside 接口的 IP 地址作为内部全局地址,该地址属于网络服务商(ISP),它常会因线路变更等原因而改变,这样就需要更改相应的 DNS 记录