最佳答案
· 某公司内部对外提供Web服务,Web服务器地址为10.110.10.2/24。
· 该公司在内网有一台DNS服务器,IP地址为10.110.10.3/24,用于解析Web服务器的域名。
· 该公司拥有两个外网IP地址:202.38.1.2和202.38.1.3。
需要实现,外网主机可以通过域名访问内网的Web服务器。
图2-7 外网用户通过域名访问内网服务器配置组网图(地址不重叠)
· 外网主机通过域名访问Web服务器,首先需要通过访问内网DNS服务器获取Web服务器的IP地址,因此需要通过配置NAT内部服务器将DNS服务器的内网IP地址和DNS服务端口映射为一个外网地址和端口。
· DNS服务器回应给外网主机的DNS报文载荷中携带了Web服务器的内网IP地址,因此需要将DNS报文载荷中的内网IP地址转换为一个外网IP地址。外网地址分配可以通过出方向动态地址转换功能实现,转换载荷信息可以通过DNS ALG功能实现。
# 配置接口IP地址、路由、安全域及域间策略保证网络可达,具体配置步骤略。
# 开启DNS协议的ALG功能。
<Device> system-view
[Device] nat alg dns
# 配置ACL 2000,允许对内部网络中10.110.10.2的报文进行地址转换。
[Device] acl basic 2000
[Device-acl-ipv4-basic-2000] rule permit source 10.110.10.2 0
[Device-acl-ipv4-basic-2000] quit
# 创建地址组1。
[Device] nat address-group 1
# 添加地址组成员202.38.1.3。
[Device-address-group-1] address 202.38.1.3 202.38.1.3
[Device-address-group-1] quit
# 在接口GigabitEthernet1/0/2上配置NAT内部服务器,允许外网主机使用地址202.38.1.2访问内网DNS服务器。
[Device] interface gigabitethernet 1/0/2
[Device-GigabitEthernet1/0/2] nat server protocol udp global 202.38.1.2 inside 10.110.10.3 dns
# 在接口GigabitEthernet1/0/2上配置出方向动态地址转换,允许使用地址组1中的地址对DNS应答报文载荷中的内网地址进行转换,并在转换过程中不使用端口信息,以及允许反向地址转换。
[Device-GigabitEthernet1/0/2] nat outbound 2000 address-group 1 no-pat reversible
[Device-GigabitEthernet1/0/2] quit
(0)
#进入设备公网接口
[H3C]interface GigabitEthernet 0/0
#配置将内网服务器(IP地址为192.168.1.100)的WEB服务映射到公网接口,映射后的端口为8080
[H3C-GigabitEthernet0/0]nat server protocol tcp global current-interface 8080 inside 192.168.1.100 www
[H3C]save force
关于NAT Server配置各个参数的说明:
(0)
暂无评论
nat server命令用来配置NAT内部服务器,即定义内部服务器的外网地址和端口与内网地址和端口的映射表项。
undo nat server命令用来删除指定的内部服务器配置。
【命令】
(1) 普通内部服务器
· 外网地址单一,未使用外网端口或外网端口单一
nat server [ protocol pro-type ] global { global-address | current-interface } [ global-port ] [ vpn-instance global-vpn-instance-name ] inside local-address [ local-port ] [ vpn-instance local-vpn-instance-name ] [ acl { ipv4-acl-number | name ipv4-acl-name } ] [ reversible ] [ rule rule-name ] [ disable ] [ description text ] [ counting ]
undo nat server [ protocol pro-type ] global { global-address | current-interface } [ global-port ] [ vpn-instance global-vpn-instance-name ]
· 外网地址单一,外网端口连续
nat server protocol pro-type global { global-address | current-interface } global-port1 global-port2 [ vpn-instance global-vpn-instance-name ] inside { { local-address | local-address1 local-address2 } local-port | local-address local-port1 local-port2 } [ vpn-instance local-vpn-instance-name ] [ acl { ipv4-acl-number | name ipv4-acl-name } ] [ rule rule-name ] [ disable ] [ description text ] [ counting ]
undo nat server protocol pro-type global { global-address | current-interface } global-port1 global-port2 [ vpn-instance global-vpn-instance-name ]
· 外网地址连续,未使用外网端口或外网端口单一
nat server protocol pro-type global global-address1 global-address2 [ global-port ] [ vpn-instance global-vpn-instance-name ] inside { local-address | local-address1 local-address2 } [ local-port ] [ vpn-instance local-vpn-instance-name ] [ acl { ipv4-acl-number | name ipv4-acl-name } ] [ rule rule-name ] [ disable ] [ description text ] [ counting ]
undo nat server protocol pro-type global global-address1 global-address2 [ global-port ] [ vpn-instance global-vpn-instance-name ]
· 外网地址连续,外网端口单一
nat server protocol pro-type global global-address1 global-address2 global-port [ vpn-instance global-vpn-instance-name ] inside local-address local-port1 local-port2 [ vpn-instance local-vpn-instance-name ] [ acl { ipv4-acl-number | name ipv4-acl-name } ] [ rule rule-name ] [ disable ] [ description text ] [ counting ]
undo nat server protocol pro-type global global-address1 global-address2 global-port [ vpn-instance global-vpn-instance-name ]
(2) 负载均衡内部服务器
nat server protocol pro-type global { { global-address | current-interface } { global-port | global-port1 global-port2 } | global-address1 global-address2 global-port } [ vpn-instance global-vpn-instance-name ] inside server-group group-id [ vpn-instance local-vpn-instance-name ] [ acl { ipv4-acl-number | name ipv4-acl-name } ] [ rule rule-name ] [ disable ] [ description text ] [ counting ]
undo nat server protocol pro-type global { { global-address | current-interface } { global-port | global-port1 global-port2 } | global-address1 global-address2 global-port } [ vpn-instance global-vpn-instance-name ]
(3) 基于ACL的内部服务器
nat server global { ipv4-acl-number | name ipv4-acl-name } inside local-address [ local-port ] [ vpn-instance local-vpn-instance-name ] [ rule rule-name ] [ priority priority ] [ disable ] [ description text ] [ counting ]
undo nat server global { ipv4-acl-number | name ipv4-acl-name }
【缺省情况】
不存在内部服务器。
【视图】
接口视图
【缺省用户角色】
network-admin
context-admin
【参数】
protocol pro-type:指定协议类型。只有当协议类型是TCP、UDP协议时,配置的内部服务器才能带端口参数。如果不指定协议类型,则表示对所有协议类型的报文都生效。pro-type可输入以下形式:
· 数字:取值范围为1~255。
· 协议名称:取值包括icmp、tcp和udp。
global:指定服务器向外提供服务的外网信息。
global-address:内部服务器向外提供服务时对外公布的外网IP地址。
global-address1、global-address2:外网IP地址范围,所包含的地址数目不能超过10000。global-address1表示起始地址,global-address2表示结束地址。global-address2必须大于global-address1。
ipv4-acl-number:ACL的编号,取值范围为2000~3999。
name ipv4-acl-name:ACL的名称,为1~63个字符的字符串,不区分大小写,必须以英文字母a~z或A~Z开头。为避免混淆,ACL的名称不允许使用英文单词all。
current-interface:使用当前接口的主用IP地址作为内部服务器的外网地址,即实现Easy IP方式的内部服务器。
global-port1、global-port2:外网端口范围,和内部主机的IP地址范围构成一一对应的关系。global-port1表示起始端口,global-port2表示结束端口。global-port2必须大于global-port1,且端口范围中的端口数目不能大于10000。外网端口可输入以下形式:
· 数字:取值范围为1~65535。起始端口和结束端口均支持此形式。
· 协议名称:为1~15个字符的字符串,例如http、telnet等。仅起始端口支持该形式。
inside:指定服务器的内网信息。
local-address1、local-address2:定义一组连续的内网IP地址范围,和外网端口范围构成一一对应的关系。local-address1表示起始地址,local-address2表示结束地址。local-address2必须大于local-address1。该地址范围的数量必须和global-port1、global-port2定义的端口数量相同。
local-port:内部服务器的内网端口号,可输入以下形式:
· 数字:取值范围为1~65535(FTP数据端口号20除外)。
· 协议名称:为1~15个字符的字符串,例如http、telnet等。
global-port:外网端口号,缺省值以及取值范围的要求和local-port的规定一致。
local-address:服务器的内网IP地址。
vpn-instance global-vpn-instance-name:对外公布的外网地址所属的VPN实例。global-vpn-instance-name表示MPLS L3VPN的VPN实例名称,为1~31个字符的字符串,区分大小写。如果未指定本参数,则表示对外公布的外网地址不属于任何一个VPN实例。
vpn-instance local-vpn-instance-name:内部服务器所属的VPN实例。local-vpn-instance-name表示MPLS L3VPN的VPN实例名称,为1~31个字符的字符串,区分大小写。如果未指定本参数,则表示内部服务器不属于任何一个VPN实例。
server-group group-id:服务器在内网所属的服务器组。若指定了该参数,则表示要配置一个负载分担内部服务器。group-id表示内部服务器组的编号,取值范围为0~65535。
acl:指定ACL的编号或名称。若指定了该参数,则表示与指定的ACL permit规则匹配的报文才可以使用内部服务器的映射表进行地址转换。
ipv4-acl-number:ACL的编号,取值范围为2000~3999。
name ipv4-acl-name:ACL的名称,为1~63个字符的字符串,不区分大小写,必须以英文字母a~z或A~Z开头。为避免混淆,ACL的名称不允许使用英文单词all。
reversible:表示支持私网侧内部服务器主动访问外网。内部服务器主动访问外网时,将私网地址转换为内部服务器向外提供服务的外网IP地址。
rule rule-name:NAT规则的名称,取值范围为1~63个字符的字符串,区分大小写,不能包括“\”、“/”、“:”、“*”、“?”、“<”、“>”、“|”、“””和“@”。如果不指定该参数,则表示该规则无名称。
priority priority:NAT规则的匹配优先级,取值范围为0~2147483647,数值越小,优先级越高。如果不指定该参数,那么相应的NAT规则在同类NAT规则中,其匹配优先级最低。
disable:表示禁用该地址转换映射。如果不指定该参数,则地址转换映射处于启用状态。
description text:配置NAT内部服务器的描述信息,text为1~63个字符的字符串,不区分大小写。
counting:开启NAT转换计数功能,即对每一次首报文地址转换进行计数。
【使用指导】
通过该配置可以利用NAT设备将一些内部网络的服务器提供给外部网络使用,例如内部的Web服务器、FTP服务器、Telnet服务器、POP3服务器、DNS服务器等。这些内部服务器可以位于普通的内网内,也可以位于MPLS VPN实例内。
NAT内部服务器通常配置在NAT设备的外网侧接口上。外网用户可以通过global-address定义的外网地址和global-port定义的外网端口来访问内网地址和内网端口分别为local-address和local-port的内部服务器。当pro-type不是TCP(协议号为6)或UDP(协议号为17)时,用户只能设置内部IP地址与外部IP地址的一一对应的关系,无法设置端口号之间的映射。
NAT内部服务器支持以下几种内网和外网的地址、端口映射关系。
表1-24 NAT内部服务器的地址与端口映射关系
外网
内网
一个外网地址
一个内网地址
一个外网地址、一个端口号
一个内网地址、一个内网端口号
一个外网地址,N个连续的外网端口号
· 一个内网地址,一个内网端口
· N个连续的内网地址,一个内网端口号
· 一个内网地址,N个连续的内网端口号
N个连续的外网地址
· 一个内网地址
· N个连续的内网地址
N个连续的外网地址连续,一个外网端口号
· 一个内网地址,一个内网端口号
· N个连续的内网地址,一个内网端口号
· 一个内网地址,N个连续的内网端口号
一个外网地址,一个外网端口号
一个内部服务器组
一个外网地址,N个连续的外网端口号
N个连续的外网地址,一个外网端口号
外网地址(通过ACL进行匹配)
· 一个内网地址
· 一个内网地址、一个内网端口号
对于同一个接口下配置的NAT服务器,其协议类型、外网地址和外网端口号的组合必须是唯一的,否则认为是配置冲突。本规则同样适用于Easy IP方式的NAT服务器。每个nat server命令下可以配置的NAT内部服务器数目为global-port2与global-port1的差值,即配置多少个外网端口就对应多少个NAT内部服务器。
在VPN组网中,配置NAT内部服务器时需要指定vpn-instance参数,且VPN实例的名称必须与该接口关联的VPN实例一致。
由于Easy IP方式的NAT内部服务器使用了当前接口或其它接口的IP地址作为它的外网地址,因此强烈建议在配置了Easy IP方式的NAT内部服务器之后,其它NAT内部服务器不要再配置该接口的IP地址作为它的外网地址,反之亦然。
对于Easy IP方式的NAT服务器,如果其引用的接口的IP地址发生改变,导致跟现有的其它非Easy IP方式的NAT服务器冲突,则Easy IP方式的NAT服务器配置失效;如果接口地址又修改为不冲突的IP,或者之前与之冲突的NAT服务器被删除,则Easy IP方式的NAT配置重新生效。
在配置负载均衡内部服务器时,若配置一个外网地址,N个连续的外网端口号对应一个内部服务器组,或N个连续的外网地址,一个外网端口号对应一个内部服务器组,则内部服务器组的成员个数不能小于N,即同一用户不能通过不同的外网地址或外网端口号访问相同内网服务器的同一服务。
配置基于ACL的内部服务器时,ACL规则中不支持引用对象组。
对于基于ACL的内部服务器,当NAT规则的匹配优先级相同时,设备将按照ACL名称或ACL编号进行匹配,且ACL名称的优先级高于ACL编号的优先级,具体规则如下:
· 对于ACL名称,设备将根据名称的字符序对NAT规则进行排序,在字符序中的位置越靠前,相应的NAT规则的匹配优先级越高。
· 对于ACL编号,编号越大,优先级越高,设备将优先进行匹配。
在支持NAT内部服务器自动分配NAT规则名称的版本上执行配置回滚操作时,如果回滚配置文件中的NAT内部服务器不存在系统为其自动分配的NAT规则名称,会出现回滚失败的错误提示信息。比如,回滚配置文件中的配置为nat server global 112.1.1.1 inside 192.168.20.1,回滚操作完成后的配置为nat server global 112.1.1.1 inside 192.168.20.1 rule 内部服务器规则_10(内部服务器规则_10为系统自动分配的NAT规则名称),系统会将此配置与回滚文件中的配置进行比较,比较后发现两者不一致,会提示用户回滚失败。这种情况下,相关的命令已下发成功,用户无需处理。
【举例】
# 在接口GigabitEthernet1/0/1上配置NAT内部服务器,指定局域网内部的Web服务器的IP地址是10.110.10.10,希望外部通过http://202.110.10.10:8080可以访问Web服务器。
<Sysname> system-view
[Sysname] interface gigabitethernet 1/0/1
[Sysname-GigabitEthernet1/0/1] nat server protocol tcp global 202.110.10.10 8080 inside 10.110.10.10 http
[Sysname-GigabitEthernet1/0/1] quit
# 在接口GigabitEthernet1/0/1上配置NAT内部服务器,指定MPLS VPN实例vrf10内部的FTP服务器的IP地址是10.110.10.11,希望外部通过ftp://202.110.10.10可以访问FTP服务器。
[Sysname] interface gigabitethernet 1/0/1
[Sysname-GigabitEthernet1/0/1] nat server protocol tcp global 202.110.10.10 21 inside 10.110.10.11 vpn-instance vrf10
[Sysname-GigabitEthernet1/0/1] quit
# 在接口GigabitEthernet1/0/1上配置NAT内部服务器,指定一个VPN实例vrf10内部的主机10.110.10.12,希望外部网络的主机可以利用ping 202.110.10.11命令ping通它。
[Sysname] interface gigabitethernet 1/0/1
[Sysname-GigabitEthernet1/0/1] nat server protocol icmp global 202.110.10.11 inside 10.110.10.12 vpn-instance vrf10
[Sysname-GigabitEthernet1/0/1] quit
# 在接口GigabitEthernet1/0/1上配置NAT内部服务器,指定一个外部地址202.110.10.10,从端口1001~1100分别映射MPLS VPN实例vrf10内主机10.110.10.1~10.110.10.100的telnet服务。202.110.10.10:1001访问10.110.10.1,202.110.10:1002访问10.110.10.2,依此类推。
[Sysname] interface gigabitethernet 1/0/1
[Sysname-GigabitEthernet1/0/1] nat server protocol tcp global 202.110.10.10 1001 1100 inside 10.110.10.1 10.110.10.100 telnet vpn-instance vrf10
# 正确的服务器地址为10.0.0.172,用户配置的错误地址为192.168.0.0/24网段的地址,在接口GigabitEthernet1/0/1上配置基于ACL的内部服务器对这部分用户的配置错误进行纠正。
<Sysname> system-view
[Sysname] acl advanced 3000
[Sysname-acl-ipv4-adv-3000] rule 5 permit ip destination 192.168.0.0 0.0.0.255
[Sysname-acl-ipv4-adv-3000] quit
[Sysname] interface gigabitethernet 1/0/1
[Sysname-GigabitEthernet1/0/1] nat server global 3000 inside 10.0.0.172
【相关命令】
· display nat all
· display nat server
· nat server-group
(0)
暂无评论
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明
暂无评论