• 产品与解决方案
  • 行业解决方案
  • 服务
  • 支持
  • 合作伙伴
  • 关于我们

05-三层技术-IP业务命令参考

目录

04-域名解析命令

本章节下载 04-域名解析命令  (465.07 KB)

04-域名解析命令


1 域名解析

1.1  域名解析配置命令

1.1.1  description

description命令用来配置DNS服务器组的描述信息。

undo description命令用来恢复缺省情况。

【命令】

description text

undo description

【缺省情况】

未配置DNS服务器组的描述信息。

【视图】

域名服务器组视图

【缺省用户角色】

network-admin

【参数】

text:域名服务器组的描述信息,为1~255个字符的字符串,不区分大小写。

【举例】

# 配置域名服务器组1的描述信息为office。

<Sysname> system-view

[Sysname] dns server-group 1

[Sysname-dns-server-group-1] description office

【相关命令】

·     dns server-group

1.1.2  display dns domain

display dns domain命令用来显示域名后缀信息。

【命令】

display dns domain [ dynamic ]

【视图】

任意视图

【缺省用户角色】

network-admin

network-operator

【参数】

dynamic:显示通过DHCP等协议动态获得的域名后缀信息。如果未指定本参数,则显示静态配置和动态获得的域名后缀信息。

【举例】

# 显示公网静态配置和动态获得的域名后缀信息。

<Sysname> display dns domain

Type:

  D: Dynamic    S: Static

 

No.    Type   Domain suffix

1      S      com

2      D      net

表1-1 display dns domain命令显示信息描述表

字段

描述

No.

序号

Type

域名后缀类型:

·     S:表示静态配置的域名后缀

·     D:表示通过DHCP等协议动态获得的域名后缀

Domain suffix

域名后缀

 

【相关命令】

·     dns domain

1.1.3  display dns host

display dns host命令用来显示域名解析信息。

【命令】

display dns host [ ip | ipv6 ]

【视图】

任意视图

【缺省用户角色】

network-admin

network-operator

【参数】

ip:显示A类查询的信息。A类查询用来解析域名对应的IPv4地址。

ipv6:显示AAAA类查询的信息。AAAA类查询用来解析域名对应的IPv6地址。

【使用指导】

如果未指定ipipv6参数,则显示所有查询类型的域名解析信息。

【举例】

# 显示所有查询类型的域名解析信息。

<Sysname> display dns host

Type:

  D: Dynamic    S: Static

 

Total number: 3

No.  Host name           Interface    Type  TTL      QType  IP addresses

1    sample.com                       D     3132     A      192.168.10.1

                                                            192.168.10.2

                                                            192.168.10.3

2    zig.sample.com                   S     -        A      192.168.1.1

3    sample.net                       S     -        AAAA   FE80::4904:4448

表1-2 display dns host命令显示信息描述表

字段

描述

No.

序号

Host name

查询名称

Interface

出接口名称。未通过direct interface命令指定出接口时,显示为“-”。

Type

域名解析信息的类型:

·     S:表示静态配置的域名解析信息,即通过ip hostipv6 host命令配置的主机名及其对应的主机IPv4/IPv6地址

·     D:表示通过动态域名解析获得的域名解析信息

TTL

域名解析信息的剩余有效时间,单位为秒

静态信息的TTL值显示为“-”

Query type

查询类型,取值包括A和AAAA

IP addresses

主机名对应的IP地址

·     对于A类查询类型,为IPv4地址

·     对于AAAA类查询类型,为IPv6地址

 

【相关命令】

·     reset dns host

·     ip host

·     ipv6 host

1.1.4  display dns server

display dns server命令用来显示域名服务器的IPv4地址信息。

【命令】

display dns server [ dynamic ]

【视图】

任意视图

【缺省用户角色】

network-admin

network-operator

【参数】

dynamic:显示通过DHCP等协议动态获得的域名服务器IPv4地址信息。如果未指定本参数,则显示静态配置和动态获得的域名服务器IPv4地址信息。

【举例】

# 显示公网的域名服务器IPv4地址信息。

<Sysname> display dns server

Type:

  D: Dynamic    S: Static

 

No. Type  IP address

1   S     202.114.0.124

2   S     169.254.65.125

表1-3 display dns server命令显示信息描述表

字段

描述

No.

域名服务器的序号

Type

域名服务器类型

·     S表示静态指定的域名服务器信息

·     D表示通过DHCP等协议动态获得的域名服务器信息

IP address

域名服务器的IPv4地址

 

【相关命令】

·     dns server

1.1.5  display dns server health status

display dns server health status命令用来显示DNS服务器健康探测状态。

【命令】

display dns server health status

【视图】

任意视图

【缺省用户角色】

network-admin

network-operator

【举例】

# 查看DNS服务器健康探测状态。

<Sysname> display dns server health status

No. DNS server           OutInterface     VPN name                        Status

1   1.1.1.1              -                vpn1                            Up

2   2::1                 -                                                Up

3   FE80::1              -                vpn1                            Up

表1-4 display dns server health status命令显示信息描述表

字段

描述

No.

序号

DNS server

DNS服务器的地址

OutInterface

DNS域名服务器转发报文的出接口

仅当DNS服务器地址为IPv6链路本地地址时,才会显示本字段

Status

健康探测结果:

Up:DNS服务器可用

Down:DNS服务器不可用

 

【相关命令】

·     health-check enable

1.1.6  display ipv6 dns server

display ipv6 dns server命令用来显示域名服务器的IPv6地址信息。

【命令】

display ipv6 dns server [ dynamic ]

【视图】

任意视图

【缺省用户角色】

network-admin

network-operator

【参数】

dynamic:显示通过DHCP等协议动态获得的域名服务器IPv6地址信息。如果未指定本参数,则显示静态配置和动态获得的域名服务器IPv6地址信息。

【举例】

# 显示公网域名服务器的IPv6地址信息。

<Sysname> display ipv6 dns server

Type:

  D: Dynamic    S: Static

 

No. Type  IPv6 address                             Outgoing Interface

1   S     2::2

表1-5 display ipv6 dns server命令显示信息描述表

字段

描述

No.

域名服务器的序号

Type

域名服务器类型

·     S表示静态指定的域名服务器信息

·     D表示通过DHCP等协议动态获得的域名服务器信息

IPv6 address

域名服务器的IPv6地址

Outgoing Interface

出接口名

 

【相关命令】

·     ipv6 dns server

1.1.7  dns cache ttl

dns cache ttl命令用来配置域名解析表项的有效时间。

undo dns cache ttl命令用来取消域名解析表项有效时间的配置。

【命令】

dns cache ttl { maximum max-value | minimum min-value } *

undo dns cache ttl [ maximum | minimum ]

【缺省情况】

域名解析表项的有效时间为DNS响应报文中的TTL。

【视图】

系统视图

【缺省用户角色】

network-admin

【参数】

maximum max-value:指定域名解析表项的最大有效时间,取值范围为60~3600,单位为秒。

minimum min-value:指定域名解析表项的最小有效时间,取值范围为60~3600,单位为秒。

【使用指导】

应用场景

设备根据域名解析表项的有效时间定期向域名服务器发起域名解析请求,此过程会占用CPU资源。如果有效时间过短,设备会频繁发起域名解析请求,增加对CPU资源的占用;如果有效时间较长,则会导致域名解析结果更新不及时。用户可以通过本命令设置域名解析表项的有效时间,避免上述问题的产生。

工作机制

缺省情况下,对于DNS源地址透明代理功能生成的域名解析表项、DNS Snooping功能生成的域名解析表项以及服务器/服务器组功能生成的动态域名解析缓存表,由DNS客户端从域名服务器的应答报文中获得老化时间。配置本命令后,设备选取域名解析表项有效时间的机制如下:

·     DNS响应报文中的TTL小于min-value,则使用min-value作为域名解析表项的有效时间。否则,使用DNS响应报文中的TTL作为域名解析表项的有效时间。

·     DNS响应报文中的TTL大于max-value,则使用max-value作为域名解析表项的有效时间。否则,使用DNS响应报文中的TTL作为域名解析表项的有效时间。

注意事项

配置本命令后,仅会影响此后由DNS源地址透明代理功能、DNS Snooping功能、服务器/服务器组功能新生成的域名解析表项的有效时间。

执行undo dns cache ttl命令后,仅会影响此后由DNS源地址透明代理功能、DNS Snooping功能、服务器/服务器组功能新生成的域名解析表项的有效时间。对于执行undo dns cache ttl命令前已经存在的域名解析表项,当前的有效时间继续生效。

执行undo命令时,如果未指定任何参数,则表示取消所有域名解析表项有效时间的配置。

配置的min-value必须小于max-value

多次执行dns cache ttl minimumdns cache ttl maximumdns cache ttl minimum maximum命令时,最后一次执行的命令生效。

【举例】

# 配置域名解析表项的最大有效时间为3600秒,最小有效时间为180秒。

<Sysname> system-view

[Sysname] dns cache ttl maximum 3600 minimum 180

【相关命令】

·     dns server

·     dns server-group

·     dns snooping enable

·     dns transparent-proxy enable

1.1.8  dns domain

dns domain命令用来添加域名后缀。

undo dns domain命令用来删除指定的域名后缀。

【命令】

dns domain domain-name

undo dns domain domain-name

【缺省情况】

未配置域名后缀,即只根据用户输入的域名信息进行解析。

【视图】

系统视图

【缺省用户角色】

network-admin

【参数】

domain-name:域名后缀,由“.”分隔的字符串组成(如example.com),每个字符串的长度不超过63个字符,包括“.”在内的总长度不超过253个字符。不区分大小写,字符串中可以包含字母、数字、“-”、“_”或“.”。

【使用指导】

应用场景

设备支持域名后缀列表功能。用户可以预先设置一些域名后缀,在域名解析的时候,用户只需要输入域名的部分字段,系统会自动将输入的域名加上不同的后缀进行解析。例如,用户想查询域名example.com,那么可以先在后缀列表中配置com,然后输入example进行查询,系统会自动将输入的域名与后缀连接成example.com进行查询。

工作机制

使用域名后缀的时候,根据用户输入域名方式的不同,查询方式分成以下几种情况:

·     如果用户输入的域名中没有“.”,比如example,系统认为这是一个主机名,会首先加上域名后缀进行查询,如果所有加后缀的域名查询都失败,将使用最初输入的域名(如example)进行查询。

·     如果用户输入的域名中间有“.”,比如www.example,系统直接用它进行查询,如果查询失败,再依次加上各个域名后缀进行查询。

·     如果用户输入的域名最后有“.”,比如example.com.,表示不需要进行域名后缀添加,系统直接用输入的域名进行查询,不论成功与否都直接返回结果。就是说,如果用户输入的字符中最后一个字符为“.”,就只根据用户输入的字符进行查找,而不会去匹配用户预先设置的域名后缀,因此最后这个“.”,也被称为查找终止符。带有查询终止符的域名,称为FQDN(Fully Qualified Domain Name,完全合格域名)。

设备仅在查询动态域名解析缓存表时执行上述操作。

注意事项

设备仅在作为DNS客户端时支持域名后缀列表功能。

域名解析时,用户只需要输入域名的部分字段,系统会按照域名后缀配置的先后顺序,依次将输入的域名加上不同的域名后缀进行解析。

本命令配置的域名后缀同时用于IPv4域名解析和IPv6域名解析。

【举例】

# 为公网添加一个域名后缀com。

<Sysname> system-view

[Sysname] dns domain com

【相关命令】

·     display dns domain

1.1.9  dns domain-name-group

dns domain-name-group命令用来创建域名组并进入域名组视图。如果已经创建了域名组,则直接进入该域名组视图。

undo dns domain-name-group命令用来删除指定的域名组。

【命令】

dns domain-name-group group-name

undo dns domain-name-group group-name

【缺省情况】

存在名称为any的默认域名组。

【视图】

系统视图

【缺省用户角色】

network-admin

【参数】

group-name:域名组名称,为1~31个字符的字符串,不区分大小写。

【使用指导】

应用场景

在使用域名匹配规则将收到的域名请求发送给指定的域名服务器的场景中,将域名匹配规则与域名组关联可以简化配置,需要匹配多个不同的域名时,无需多次配置域名匹配规则。

工作机制

在域名组中通过domain-name命令添加完整域名,或者通过subdomain-name命令添加子域名后,将域名匹配规则与域名组关联能够实现根据域名匹配结果分发域名请求的目的。

域名匹配规则与域名组的关联方式包括如下两种:

·     包含域名组。该方式下,设备使用请求中的域名和域名组中的域名进行匹配,匹配上组中任意域名即为匹配成功。

如果域名匹配规则包含名称为any的域名组,则任意域名均能匹配该规则。

·     排除域名组。该方式下,设备使用请求中的域名和域名组中的域名进行匹配,只有与组中所有域名均不匹配才算通过域名匹配规则的过滤。

如果域名匹配规则包含名称为any的域名组,则所有域名均无法匹配该规则。

注意事项

不能手工创建或删除默认域名组。

多次执行本命令可以创建多个域名组。能够创建的域名组的最大数量与设备的型号有关,请以设备的实际情况为准。

不允许删除被域名匹配规则引用的域名组。

【举例】

# 创建名称为1的域名组并进入域名组视图。

<Sysname> system-view

[Sysname] dns domain-name-group 1

[Sysname-domain-name-group-1]

【相关命令】

·     dns domain-rule

·     domain-name

·     subdomain-name

1.1.10  dns domain-rule

dns domain-rule命令用来配置域名匹配规则。

undo dns domain-rule命令用来删除已配置的域名匹配规则。

【命令】

dns domain-rule rule-id { domain-name domain-name | [ exclude ] domain-name-group group-name | subdomain-name subdomain-name } server-group group-id

undo dns domain-rule rule-id [ domain-name domain-name | [ exclude ] domain-name-group group-name | subdomain-name subdomain-name ]

【缺省情况】

未配置域名匹配规则。

【视图】

系统视图

【缺省用户角色】

network-admin

【参数】

rule-id:域名匹配规则ID。取值范围为1~16。

domain-name domain-name:完整域名。domain-name由“.”分隔的字符串组成,每个字符串的长度不超过63个字符,包括“.”在内的总长度不超过253个字符。不区分大小写,字符串中可以包含字母、数字、“-”、“_”或“.”,如www.example.com。

exclude:表示与指定域名组中的所有域名均不匹配才算通过域名匹配规则的过滤。如果未指定本参数,则表示匹配方式为包含域名组。

domain-name-group domain-group-name:指定域名匹配规则关联的域名组。domain-group-name表示域名组的名称,为1~31个字符的字符串,不区分大小写。指定的域名组必须已经存在。

subdomain-name subdomain-name:子域名。subdomain-name由“.”分隔的字符串组成,每个字符串的长度不超过63个字符,包括“.”在内的总长度不超过253个字符。不区分大小写,字符串中可以包含字母、数字、“-”、“_”、“.”或“.”,如.example.com。

server-group group-id:域名服务器组编号,取值范围为1~16。本参数需要指定已存在的域名服务器的编号。

【使用指导】

应用场景

某些组网环境中,为了使设备(包括DNS客户端和DNS proxy)在收到域名请求后,能够根据请求的域名向指定的域名服务器发送查询请求,需要在设备上创建域名服务器组和匹配的域名匹配规则。

工作机制

当DNS客户端收到公网的用户请求后,如果本地不存在对应的域名缓存,则先查看公网内是否存在匹配的域名匹配规则。如果存在匹配的域名匹配规则,则向与该匹配规则绑定的域名服务器组中的域名服务器转发该请求。如果该域名未匹配上任何一条域名匹配规则,则DNS客户端不会向域名服务器组中的服务器转发该请求。

域名匹配规则包括以下匹配方式:

·     完整域名匹配方式,设备使用请求中的域名和domain-name指定的域名进行匹配,只有完全对应才算匹配成功。

·     子域名匹配方式,设备使用请求中的域名和subdomain-name指定的域名进行匹配,只有完全对应subdomain-name字符串,才算匹配成功。指定subdomain-name时,请不要携带“*”。

·     包含域名组。该方式下,设备使用请求中的域名和域名组中的域名进行匹配,匹配上组中任意域名即为匹配成功。关联多个域名组时,匹配上任意组中的任意域名即为匹配成功。

如果域名匹配规则包含名称为any的域名组,则任意域名均能匹配该规则。

·     排除域名组。该方式下,设备使用请求中的域名和域名组中的域名进行匹配,只有与组中所有域名均不匹配才算通过域名匹配规则的过滤。关联多个域名组时,只有与所有组中所有域名均不匹配才算通过域名匹配规则的过滤。

如果域名匹配规则包含名称为any的域名组,则所有域名均无法匹配该规则。

当设备收到公网或某个VPN内的用户发送的域名解析请求后,如果本地不存在对应的域名缓存,则在公网或对应的VPN内按照域名匹配规则ID从小到大的顺序依次匹配:

·     如果请求中的域名匹配到某条规则中的完整域名或子域名,则设备向该规则绑定的域名服务器组转发请求。

¡     如果收到域名服务器的应答,则设备会将应答报文转发给发起请求的用户,并将域名和地址的对应关系保存在本地缓存中。

¡     如果未收到域名服务器的应答,则继续匹配其他域名匹配规则。

·     如果请求中的域名未匹配到任何域名匹配规则中的完整域名或子域名,则DNS客户端不会向域名服务器组中的服务器转发该请求,域名解析失败。

注意事项

一条规则由一个规则ID唯一标识。对于同一个规则,有如下使用限制:

·     同一个规则只能绑定一个域名服务器组。

·     同一个规则最多可以关联8个域名组,但不能同时配置包含域名组和排除域名组的匹配方式。

·     对于同一个规则,可以通过多次执行本命令,将最多8个域名和子域名与同一个域名服务器组绑定。

·     同一规则关联域名组后,不允许在该规则下配置完整域名和子域名。反之,同一规则下配置完整域名或子域名后,不允许该规则与域名组关联。

·     执行undo dns domain-rule命令时,如果携带domain-name domain-namesubdomain-name subdomain-name参数,则只删除添加的完整域名或子域名;如果携带exclude domain-name-group domain-group-namedomain-name-group domain-group-name参数,则删除域名匹配规则关联的域名组;如果未携带任何域名参数,则删除整条域名匹配规则。

·     一条域名匹配规则只能绑定一个域名服务器组。

【举例】

# 配置域名匹配规则1,将子域名“.example.com”和完整域名“www.ddeeff.com”与域名服务器组1绑定。

<Sysname> system-view

[Sysname] dns domain-rule 1 subdomain-name .example.com server-group 1

[Sysname] dns domain-rule 1 domain-name www.ddeeff.com server-group 1

# 配置域名匹配规则1与名称为group1的域名组关联,并与域名服务器组1绑定。

<Sysname> system-view

[Sysname] dns domain-name-group group1

[Sysname-dns-domain-name-group-group1] domain-name www.example.com

[Sysname-dns-domain-name-group-group1] subdomain-name example.com

[Sysname-dns-domain-name-group-group1] quit

[Sysname] dns domain-rule 1 domain-name-group group1 server-group 1

【相关命令】

·     dns domain-name-group

·     dns server-group

1.1.11  dns dscp

dns dscp命令用来指定DNS客户端或DNS proxy发送DNS报文的DSCP优先级。

undo dns dscp命令用来恢复缺省情况。

【命令】

dns dscp dscp-value

undo dns dscp

【缺省情况】

DNS客户端或DNS proxy发送DNS报文的DSCP优先级为0。

【视图】

系统视图

【缺省用户角色】

network-admin

【参数】

dscp-value:DNS报文的DSCP优先级,取值范围为0~63。

【使用指导】

DSCP优先级用来体现报文自身的优先等级,决定报文传输的优先程度。配置的DSCP优先级的取值越大,报文的优先级越高。

【举例】

# 配置发送的DNS报文的DSCP优先级为30。

<Sysname> system-view

[Sysname] dns dscp 30

1.1.12  dns fast-reply enable

dns fast-reply enable命令用来开启DNS快速应答功能。

undo dns fast-reply enable命令用来关闭DNS快速应答功能。

【命令】

dns fast-reply enable

undo dns fast-reply enable

【缺省情况】

DNS快速应答功能处于关闭状态。

【视图】

系统视图

【缺省用户角色】

network-admin

【使用指导】

本功能每秒钟能够处理的DNS请求报文数量较多,适用于对DNS报文处理性能要求较高的场景。

配置本命令后,设备会侦听过路的DNS请求报文(目前只支持UDP报文),解析出报文中的被请求的域名,然后查找本地的静态域名解析表,根据查询结果的不同决定是否进行DNS快速应答,具体工作机制如下:

·     在本地静态域名解析表中查找到域名和IP地址信息,设备直接应答DNS请求,不会将报文转发给DNS服务器。

·     未在本地静态域名解析表中查找到域名和IP地址信息,设备将DNS请求转发给DNS服务器。

本命令的配置同时用于IPv4和IPv6的DNS快速应答。

dns fast-reply enable命令和dns transparent-proxy enable命令互斥。配置dns fast-reply enable命令后,无法配置dns transparent-proxy enable命令。反之,配置dns transparent-proxy enable命令后,无法配置dns fast-reply enable命令。

【举例】

# 开启DNS快速应答功能。

<Sysname> system-view

[Sysname] dns fast-reply enable

【相关命令】

·     dns transparent-proxy enable

1.1.13  dns filter

dns filter命令用来开启DNS过滤功能,并配置黑/白名单。

undo dns filter命令用来关闭DNS过滤功能,并删除指定的黑/白名单。

【命令】

dns filter { allowlist | denylist } hostname

undo dns filter { allowlist | denylist } hostname

【缺省情况】

DNS过滤功能处于关闭状态。

【视图】

系统视图

【缺省用户角色】

network-admin

【参数】

allowlist:表示主机名白名单。

denylist:表示主机名黑名单。

hostname:主机名,为1~253个字符的字符串,不区分大小写,字符串中可以包含字母、数字、“-”、“_”和“.”。支持使用“*”来定义模糊匹配主机名称,输入方式形如*abc**abc或者abc*,三种方式均表示主机名中包含指定的字符串。模糊匹配方式下,“*”只能位于字符串的首部或末尾,不能位于字符串中间。若输入的主机名中不存在“*”号,则表示精确匹配所配置的主机名。

【使用指导】

DNS过滤功能用于DNS代理对DNS请求报文进行拦截或放行。设备支持基于白名单或黑名单的域名访问控制,具体机制如下:

·     如果DNS代理收到的DNS请求报文中的域名命中白名单,则DNS代理放行该DNS请求报文,并在收到DNS响应报文后记录域名解析的结果,然后将DNS响应报文转发给DNS客户端。如果DNS代理收到的DNS请求报文中的域名未命中白名单,则DNS代理丢弃该DNS请求报文。

·     如果DNS代理收到的DNS请求报文中的域名未命中黑名单,则DNS代理放行该DNS请求报文,并在收到DNS响应报文后记录域名解析的结果,然后将DNS响应报文转发给DNS客户端。如果DNS代理收到的DNS请求报文中的域名命中黑名单,则DNS代理丢弃该DNS请求报文。

设备使用域名提供某些应用时(如telnet应用),如果希望实现严格的访问控制,建议使用白名单进行DNS过滤。如果希望实现宽松的访问控制,建议使用黑名单进行DNS过滤。

多次执行本命令可以配置多个白名单或多个黑名单,但不允许同时配置白名单和黑名单。

【举例】

# 开启DNS过滤功能,并配置白名单,放行所有对*.abc域名的DNS请求报文。

<Sysname> system-view

[Sysname] dns filter allowlist *.abc

1.1.14  dns proxy enable

dns proxy enable命令用来开启DNS proxy功能。

undo dns proxy enable命令用来关闭DNS proxy功能。

【命令】

dns proxy enable

undo dns proxy enable

【缺省情况】

DNS proxy功能处于关闭状态。

【视图】

系统视图

【缺省用户角色】

network-admin

【使用指导】

本命令的配置同时用于IPv4域名解析和IPv6域名解析。

【举例】

# 开启DNS proxy功能。

<Sysname> system-view

[Sysname] dns proxy enable

1.1.15  dns redirect enable

dns redirect enable命令用来开启DNS重定向功能。

undo dns redirect enable命令用来关闭DNS重定向功能。

【命令】

dns redirect enable

undo dns redirect enable

【缺省情况】

DNS重定向功能处于关闭状态。

【视图】

系统视图

【缺省用户角色】

network-admin

【使用指导】

开启DNS重定向功能后,设备会侦听过路的DNS请求报文(目前只支持UDP报文),解析出报文中的源IP地址、源端口号、域名等信息后,根据解析出来的域名查询域名匹配规则,然后将DNS请求报文重定向到域名匹配规则中的DNS服务器。

设备开启DNS重定向功能后,工作机制如下:

(1)     设备使用从DNS请求报文中解析出来的域名查询域名匹配规则,如果匹配上域名匹配规则,设备从域名匹配规则对应的域名服务器组中选择第一个路由可达的域名服务器,然后使用该域名服务器的IP地址替换原始DNS请求报文中的目的IP地址,并将该报文转发给目的IP地址对应的域名服务器。

如果设备从DNS请求报文中解析出来的域名没有匹配上域名匹配规则,则不对该报文进行重定向处理。

(2)     设备记录替换关系。包括替换前DNS请求报文的源IP、源端口号、请求的域名服务器的IP地址等信息,以及替换后的域名服务器的IP地址。

(3)     设备收到DNS响应报文后,根据替换关系将DNS响应报文的源IP地址还原为原始的DNS请求中的域名服务器IP地址。

本命令的配置同时用于IPv4和IPv6的DNS重定向。

dns redirect enable命令和dns transparent-proxy enable命令互斥。配置dns redirect enable命令后,无法配置dns transparent-proxy enable命令。反之,配置dns transparent-proxy enable命令后,无法配置dns redirect enable命令。

【举例】

# 开启DNS重定向功能。

<Sysname> system-view

[Sysname] dns redirect enable

【相关命令】

·     dns transparent-proxy enable

1.1.16  dns server

dns server命令用来配置域名服务器的IPv4地址。

undo dns server命令用来删除域名服务器的IPv4地址。

【命令】

dns server ip-address [ priority priority-value ]

undo dns server [ ip-address ]

【缺省情况】

未配置域名服务器的IPv4地址。

【视图】

系统视图

接口视图

【缺省用户角色】

network-admin

【参数】

ip-address:域名服务器的IPv4地址。在接口视图下执行undo命令时需要指定本参数。

priority priority-value:域名服务器的优先级。取值范围为1~255,优先级的值越小,优先级越高。缺省值为100。

【使用指导】

工作机制

在进行服务器域名解析时,系统按照配置的域名服务器优先级从高到低的顺序,依次向各个域名服务器发送查询请求。优先级相同时,则按照域名服务器IPv4地址从小到大的顺序,依次向各个域名服务器发送查询请求。用户可以通过修改域名服务器的优先级来调整发送查询请求的先后顺序。

注意事项

公网实例内最多可以配置6个域名服务器的IPv4地址。可同时在公网内配置域名服务器的IPv4地址。

执行undo dns server命令时如果未指定ip-address参数,则删除公网的所有域名服务器IPv4地址。

【举例】

# 配置域名服务器的IPv4地址为172.16.1.1。

<Sysname> system-view

[Sysname] dns server 172.16.1.1

# 在接口GigabitEthernet1/0/1配置域名服务器的IPv4地址为172.16.1.1。

<Sysname> system-view

[Sysname] interface gigabitethernet 1/0/1

[Sysname-GigabitEthernet1/0/1] dns server 172.16.1.1

【相关命令】

·     display dns server

1.1.17  dns server (dns server-group view)

dns server命令用来在域名服务器组中添加域名服务器。

undo dns server命令用来删除在域名服务器组中添加的域名服务器。

【命令】

dns server ip-address [ priority priority-value ]

undo dns server [ ip-address ]

【缺省情况】

域名服务器组中无域名服务器。

【视图】

域名服务器组视图

【缺省用户角色】

network-admin

【参数】

ip-address:域名服务器的IPv4地址。

priority priority-value:域名服务器的优先级。取值范围为1~255,优先级的值越小,优先级越高。缺省值为100。

【使用指导】

工作机制

在进行服务器组域名解析时,系统按照优先级从高到低的顺序,依次向各个域名服务器发送查询请求。优先级相同时,则按照在域名服务器组中执行display this命令显示服务器IPv4地址的先后顺序,依次向各个域名服务器发送查询请求。用户可以通过修改域名服务器的优先级来调整发送查询请求的先后顺序。

注意事项

单个域名服务器组内最多可以配置6个域名服务器的IPv4地址。

执行undo dns server命令时如果未指定ip-address参数,则删除域名服务器组中的所有域名服务器IPv4地址。

【举例】

# 在域名服务器组1中,添加IPv4地址172.16.1.1的域名服务器。

<Sysname> system-view

[Sysname] dns server-group 1

[Sysname-dns-server-group-1] dns server 172.16.1.1

1.1.18  dns server-group

dns server-group命令用来创建域名服务器组并进入域名服务器组视图。如果已经创建了域名服务器组,则直接进入该域名服务器组视图。

undo dns server-group命令用来删除指定的域名服务器组。

【命令】

dns server-group group-id

undo dns server-group group-id

【缺省情况】

不存在域名服务器组。

【视图】

系统视图

【缺省用户角色】

network-admin

【参数】

group-id:域名服务器组编号,取值范围为1~16。

【使用指导】

某些组网环境中,为了使设备(包括DNS客户端和DNS代理)能够根据请求的域名向指定的域名服务器发送查询请求,需要在设备上配置域名服务器组和对应的域名匹配规则。

当设备收到公网或某个VPN内的用户发送的域名解析请求后,如果本地不存在对应的域名缓存,则在公网或对应的VPN内按照域名匹配规则ID从小到大的顺序依次匹配:

·     如果请求中的域名匹配到某条规则中的完整域名或子域名,则设备向该规则绑定的域名服务器组转发请求。

¡     如果收到域名服务器的应答,则设备会将应答报文转发给发起请求的用户,并将域名和地址的对应关系保存在本地缓存中。

¡     如果未收到域名服务器的应答,则继续匹配其他域名匹配规则。

如果请求中的域名未匹配到任何域名匹配规则中的完整域名或子域名,则DNS客户端不会向域名服务器组中的服务器转发该请求,域名解析失败。

【举例】

# 创建域名服务器组1。

<Sysname> system-view

[Sysname] dns server-group 1

[Sysname-dns-server-group-1]

【相关命令】

·     description

·     dns domain-rule

1.1.19  dns snooping enable

dns snooping enable命令用来开启DNS Snooping功能。

undo dns snooping enable命令用来关闭DNS Snooping功能。

【命令】

dns snooping enable

undo dns snooping enable

【缺省情况】

DNS Snooping功能处于关闭状态。

【视图】

系统视图

【缺省用户角色】

network-admin

【使用指导】

应用场景

DNS Snooping功能适用于基于域名过滤用户流量的场景。

工作机制

其他模块(如地址对象组模块)向DNS模块下达域名订阅请求后,才能通过DNS Snooping功能获取域名对应的IP地址。当DNS Snooping功能开启后,设备会监听经过的DNS请求和应答报文。如果请求报文中的域名与订阅的域名匹配,设备会在接收到该域名的应答报文时记录解析结果,并将其上报至发起订阅的模块。如果请求报文中的域名与订阅的域名不符,则设备不会记录解析结果。

当下达域名订阅请求的模块获取到域名对应的IP地址后,就可以利用这些信息实现基于域名的流量过滤。

此外,当其他模块订阅的域名老化时,DNS模块会通知相关模块删除该表项,以保证表项的准确性。

注意事项

开启DNS Snooping功能时,需要注意:

·     DNS Snooping功能仅适用于三层业务组网场景,设备上同一个VLAN的二层转发业务不支持该功能。

·     DNS Snooping设备只有位于DNS客户端与DNS服务器之间,或DNS客户端与DNS代理设备之间时,DNS Snooping功能配置后才能正常工作。

·     DNS Snooping功能和DNS源地址透明代理功能不能同时使用。

【举例】

# 开启DNS Snooping功能。

<Sysname> system-view

[Sysname] dns snooping enable

【相关命令】

·     dns transparent-proxy enable

1.1.20  dns snooping log enable

dns snooping log enable命令用来开启DNS Snooping的日志功能。

undo dns snooping log enable命令用来关闭DNS Snooping的日志功能。

【命令】

dns snooping log enable

undo dns snooping log enable

【缺省情况】

DNS Snooping的日志功能处于关闭状态。

【视图】

系统视图

【缺省用户角色】

network-admin

【使用指导】

网络环境中,DNS proxy设备收到请求报文后,需要查询自己是否记录了请求域名对应的地址,如果存在,则直接应答需求;如果不存在,则需要向DNS服务器转发请求。如果网络中存在攻击源或有大量客户端同一时间发送大量DNS请求,则会增加网络负载并影响DNS proxy设备或DNS服务器的性能。

可以在DNS客户端和DNS proxy或DHCP服务器之间的设备配置DNS Snooping功能,配置本功能后,DNS收到一个请求和对应的应答报文后会进行记录,并生成日志发给快速日志模块。管理员通过查询日志信息确认并解决问题。关于快速日志模块的详细介绍,请参见“网络管理和监控配置指导”中的“快速日志输出”。

【举例】

# 开启DNS Snooping的日志功能。

<Sysname> system-view

[Sysname] dns snooping log enable

1.1.21  dns snooping rate-limit

dns snooping rate-limit命令用来开启DNS Snooping的报文限速功能,并指定限速速率。

undo dns snooping rate-limit命令用来关闭DNS Snooping的报文限速功能。

【命令】

dns snooping rate-limit rate

undo dns snooping rate-limit

【缺省情况】

DNS Snooping的报文限速功能处于关闭状态。

【视图】

系统视图

【缺省用户角色】

network-admin

【参数】

rate:接口接收DNS报文的最高速率,单位为pps。取值范围为64-512。

【使用指导】

开启DNS Snooping的报文限速功能后,当接口上收到的DNS报文速率超过用户设定的限速值时,丢弃超过速率限制的DNS报文。

只有开启了DNS源地址透明代理功能或DNS Snooping的日志功能,本命令才会生效。

【举例】

# 开启DNS Snooping的报文限速功能,并指定限速速率为64pps。

<Sysname> system-view

[Sysname] dns snooping rate-limit 64

【相关命令】

·     dns snooping log enable

·     dns transparent-proxy enable

1.1.22  dns source-interface

dns source-interface命令用来指定DNS报文的源接口。

undo dns source-interface命令用来恢复缺省情况。

【命令】

dns source-interface interface-type interface-number

undo dns source-interface interface-type interface-number

【缺省情况】

设备根据DNS server的地址,通过路由表查找报文的出接口,并将该出接口的主IP地址作为发送到该服务器的DNS查询报文的源地址。

【视图】

系统视图

【缺省用户角色】

network-admin

【参数】

interface-type interface-number:源接口的接口类型和接口编号。

【使用指导】

通过本命令指定DNS报文的源接口后,系统将选择指定接口的主IPv4地址或根据RFC 3484中定义的规则选择指定接口的某个IPv6地址,作为DNS查询报文的源地址。

本命令的配置同时用于IPv4域名解析和IPv6域名解析。

公网只能配置1个源接口。多次执行本命令,最后一次执行的命令生效。

【举例】

# 指定公网DNS报文的源接口为GigabitEthernet1/0/1。

<Sysname> system-view

[Sysname] dns source-interface gigabitethernet 1/0/1

1.1.23  dns spoofing

dns spoofing命令用来开启DNS spoofing功能,并指定应答的IPv4地址。

undo dns spoofing命令关闭DNS spoofing功能。

【命令】

dns spoofing ip-address

undo dns spoofing ip-address

【缺省情况】

DNS spoofing功能处于关闭状态。

【视图】

系统视图

【缺省用户角色】

network-admin

【参数】

ip-address:用来欺骗性应答域名解析请求的IPv4地址。

【使用指导】

配置DNS spoofing前,需要先开启DNS proxy功能。

开启DNS spoofing功能后,如果设备上未配置域名服务器地址或不存在到达域名服务器的路由,则会利用配置的应答IP地址作为域名解析结果,欺骗性地应答A类域名解析请求。

公网只能配置1个DNS spoofing应答的IPv4地址。多次执行本命令,最后一次执行的命令生效。

【举例】

# 开启公网的DNS spoofing功能,并指定应答的IPv4地址为1.1.1.1。

<Sysname> system-view

[Sysname] dns proxy enable

[Sysname] dns spoofing 1.1.1.1

【相关命令】

·     dns proxy enable

1.1.24  dns transparent-proxy enable

dns transparent-proxy enable命令用来开启DNS源地址透明代理功能。

undo dns transparent-proxy enable命令用来关闭DNS源地址透明代理功能。

【命令】

dns transparent-proxy enable

undo dns transparent-proxy enable

【缺省情况】

DNS透明代理功能处于关闭状态。

【视图】

系统视图

【缺省用户角色】

network-admin

【使用指导】

DNS透明代理指的是,DNS客户端感知不到代理服务存在的代理模式。DNS源地址透明代理不仅能够提供代理服务,还会修改DNS请求报文的源地址,从而实现发送DNS请求报文的设备能够接收到相应的DNS响应报文,适用于需要基于域名做策略的场景(如安全策略、带宽策略等)。

与DNS代理功能不同的是,DNS客户端不需要将DNS服务器的地址指定为DNS源地址透明代理设备的地址,简化了客户端的配置。在一些负载均衡场景中,为了保证基于域名的策略能够成功对报文进行控制,建议使用DNS源地址透明代理功能。

开启DNS源地址透明代理功能后,设备开始监听过路的DNS请求报文和DNS应答报文,并记录域名解析信息,以便提供代理功能。具体工作机制如下:

(1)     DNS源地址透明代理设备监听所有过路DNS报文,当收到DNS请求报文时,设备根据一定的规则从能够到达DNS服务器的本地IP地址选取一个,并将其作为修改后的DNS请求报文的源IP地址,使得DNS应答报文能够返回本设备。

(2)     DNS源地址透明代理设备收到DNS服务器的应答报文后,记录域名解析的结果,并将报文转发给DNS客户端。DNS客户端利用域名解析的结果进行相应的处理。后续DNS透明代理设备收到DNS请求报文后,首先查找DNS透明代理记录的表项,如果存在请求的信息,则DNS透明代理设备直接通过DNS应答报文将域名解析结果返回给DNS client。如果不存在请求的信息,则DNS透明代理设备将报文转发给域名服务器进行解析。

DNS源地址透明代理功能和DNS快速应答功能、DNS Snooping功能、DNS重定向功能不能同时使用。

【举例】

# 开启DNS源地址透明代理功能。

<Sysname> system-view

[Sysname] dns transparent-proxy enable

【相关命令】

·     dns fast-reply enable

·     dns proxy enable

·     dns redirect enable

·     dns snooping enable

1.1.25  dns trust-interface

dns trust-interface命令用来指定DNS信任接口。

undo dns trust-interface命令用来删除指定的DNS信任接口。

【命令】

dns trust-interface interface-type interface-number

undo dns trust-interface [ interface-type interface-number ]

【缺省情况】

未指定任何接口为信任接口。

【视图】

系统视图

【缺省用户角色】

network-admin

【参数】

interface-type interface-number:DNS信任接口的接口类型和接口编号。

【使用指导】

缺省情况下,任意接口通过DHCP等协议动态获得的域名后缀和域名服务器信息都将作为有效信息,用于域名解析。如果网络攻击者通过DHCP服务器为设备分配错误的域名后缀和域名服务器地址,则会导致设备域名解析失败,或解析到错误的结果。通过本配置指定信任接口后,域名解析时只采用信任接口动态获得的域名后缀和域名服务器信息,非信任接口获得的信息不能用于域名解析,从而在一定程度上避免这类攻击。

本命令同时用于IPv4域名解析和IPv6域名解析。

设备最多可以配置128个信任接口。

执行undo dns trust-interface命令时,如果未指定任何接口,则删除所有的DNS信任接口,恢复到缺省情况。

【举例】

# 指定接口GigabitEthernet1/0/1为DNS信任接口。

<Sysname> system-view

[Sysname] dns trust-interface gigabitethernet 1/0/1

1.1.26  domain-name

domain-name命令用来在域名组中添加完整域名。

undo domain-name命令用来添删除域名组中指定的完整域名。

【命令】

domain-name domain-name

undo domain-name domain-name

【缺省情况】

域名组中未配置完整域名。

【视图】

域名组视图

【缺省用户角色】

network-admin

【参数】

domain-name:完整域名,由“.”分隔的字符串组成,每个字符串的长度不超过63个字符,包括“.”在内的总长度不超过253个字符。不区分大小写,字符串中可以包含字母、数字、“-”、“_”或“.”,如www.example.com。

【使用指导】

设备使用请求中的域名和域名组中的完整域名进行匹配时,只有完全对应才算匹配成功。

多次执行本命令可以添加多个完整域名。同一个域名组中能够添加的域名和子域名的最大数量与设备的型号有关,请以设备的实际情况为准。

【举例】

# 在域名组1中添加完整域名www.example.com。

<Sysname> system-view

[Sysname] dns domain-name-group 1

[Sysname-domain-name-group-1] domain-name www.example.com

【相关命令】

·     dns domain-name-group

·     subdomain-name

1.1.27  health-check enable

health-check enable命令用来开启DNS服务器健康探测功能。

undo health-check enable命令用来关闭DNS服务器健康探测功能。

【命令】

health-check enable

undo health-check enable

【缺省情况】

DNS服务器健康探测功能处于关闭状态。

【视图】

域名服务器组视图

【缺省用户角色】

network-admin

【使用指导】

本功能用于对如下场景中的域名服务器可用性进行检测,保证其能够提供有效的服务。

在使用DNS重定向功能对DNS请求进行分流的场景中,当DNS请求报文经过开启DNS重定向功能的设备时,如果DNS请求报文匹配上域名匹配规则,则设备从按照域名服务器组中选择一个域名服务器,并将该报文转发给选中的域名服务器。选择服务器的机制如下:

(1)     如果域名服务器配置了优先级,则按照优先级从高到低的顺序依次选择域名服务器。

(2)     如果域名服务器未配置优先级或优先级相同,则按照在域名服务器组中执行display this命令显示服务器地址的先后顺序选择域名服务器。

设备向域名服务器发送请求报文后,若2s内无法收到该选中域名服务器的DNS响应报文,设备会重新选择域名服务器。为了避免设备选中不可用的域名服务器,请使用本功能对域名服务器可用性进行检测。具体机制如下:

(1)     设备周期性进行健康探测,即周期性向域名服务器组中的各个域名服务器分别发送一个DNS请求报文,根据是否能收到DNS响应报文判断域名服务器的可用性。

(2)     如果设备收到DNS响应报文,则认为该DNS服务器可用。

(3)     如果设备连续3次向某DNS服务器发送DNS请求报文后,均未收到DNS响应报文,则认为该DNS服务器不可用。

DNS重定向设备在对DNS请求报文进行重定向时,会自动跳过不可用的DNS服务器,然后根据字典序在可用的域名服务器中进行选择。

【举例】

# 开启域名服务器组1的DNS服务器健康探测功能。

<Sysname> system-view

[Sysname] dns server-group 1

[Sysname-server-group-1] health-check enable

【相关命令】

·     display dns server health status

1.1.28  ip host

ip host命令用来配置主机名及其对应的主机IPv4地址。

undo ip host命令用来删除主机名及其对应的主机IPv4地址。

【命令】

ip host host-name ip-address

undo ip host host-name ip-address

【缺省情况】

不存在主机名及IPv4地址的对应关系。

【视图】

系统视图

【缺省用户角色】

network-admin

【参数】

host-name:主机名,为1~253个字符的字符串,不区分大小写,字符串中可以包含字母、数字、“-”、“_”和“.”,且需满足以下要求:

·     主机名以“.”字符分割成多个字符串,单个字符串的长度不超过63个字符。

·     主机名不能以“.”字符开头或结尾。

·     主机名不能包含两个连续的“.”字符。

ip-address:与主机名对应的IPv4地址。

【使用指导】

公网最多可以配置1024个主机名和IPv4地址的对应关系。

在公网内,一个主机名只能对应一个IPv4地址。多次执行本命令,最后一次执行的命令生效。

ip-a-c-f-h-i-m-n-p-q-r-s-t-tos-v-vpn-instance已被系统用作ping命令的参数关键字,在配置主机名时,请避免使用相同的字符串作为主机名。ping命令支持的参数形式,请参考“网络管理和监控”中的“ping”命令。

【举例】

# 配置公网内主机名aaa对应的IPv4地址为10.110.0.1。

<Sysname> system-view

[Sysname] ip host aaa 10.110.0.1

【相关命令】

·     display dns host

1.1.29  ipv6 dns dscp

ipv6 dns dscp命令用来指定IPv6 DNS客户端或IPv6 DNS proxy发出的IPv6 DNS报文的DSCP优先级。

undo ipv6 dns dscp命令用来恢复缺省情况。

【命令】

ipv6 dns dscp dscp-value

undo ipv6 dns dscp

【缺省情况】

IPv6 DNS客户端或IPv6 DNS proxy发出的IPv6 DNS报文的DSCP优先级为0。

【视图】

系统视图

【缺省用户角色】

network-admin

【参数】

dscp-value:IPv6 DNS报文的DSCP优先级,取值范围为0~63。

【使用指导】

DSCP优先级用来体现报文自身的优先等级,决定报文传输的优先程度。配置的DSCP优先级的取值越大,报文的优先级越高。

【举例】

# 配置发送的IPv6 DNS报文的DSCP优先级为30。

<Sysname> system-view

[Sysname] ipv6 dns dscp 30

1.1.30  ipv6 dns server

ipv6 dns server命令用来配置域名服务器的IPv6地址。

undo ipv6 dns server命令用来删除域名服务器的IPv6地址。

【命令】

ipv6 dns server ipv6-address [ interface-type interface-number ] [ priority priority-value ]

undo ipv6 dns server [ ipv6-address [ interface-type interface-number ] ]

【缺省情况】

未配置域名服务器的IPv6地址。

【视图】

系统视图

【缺省用户角色】

network-admin

【参数】

ipv6-address:域名服务器的IPv6地址。

interface-type interface-number:指定报文的出接口的接口类型和接口编号。如果未指定本参数,则根据路由表查找报文的出接口。域名服务器的IPv6地址为链路本地地址时,必须指定本参数。域名服务器的IPv6地址为全球单播地址时,无法指定本参数。

priority priority-value:域名服务器的优先级。取值范围为1~255,优先级的值越小,优先级越高。缺省值为100。

【使用指导】

工作机制

在进行服务器域名解析时,系统按照配置的域名服务器优先级从高到低的顺序,依次向各个域名服务器发送查询请求。优先级相同时,则按域名服务器IPv6地址从小到大的顺序,依次向各个域名服务器发送查询请求。用户可以通过修改域名服务器的优先级来调整发送查询请求的先后顺序。

注意事项

公网内最多可以配置6个域名服务器的IPv6地址。

执行undo ipv6 dns server命令时如果未指定ipv6-address参数,则删除公网的所有域名服务器IPv6地址。

【举例】

# 配置公网内域名服务器的IPv6地址为2002::1。

<Sysname> system-view

[Sysname] ipv6 dns server 2002::1

【相关命令】

·     display ipv6 dns server

1.1.31  ipv6 dns server (dns server-group view)

ipv6 dns server命令用来在域名服务器组中添加域名服务器。

undo ipv6 dns server命令用来在域名服务器组中添加的域名服务器。

【命令】

ipv6 dns server ipv6-address [ interface-type interface-number ] [ priority priority-value ]

undo ipv6 dns server [ ipv6-address [ interface-type interface-number ] ]

【缺省情况】

域名服务器组中无域名服务器。

【视图】

域名服务器组视图

【缺省用户角色】

network-admin

【参数】

ipv6-address:域名服务器的IPv6地址。

interface-type interface-number:指定报文的出接口的接口类型和接口编号。如果未指定本参数,则根据路由表查找报文的出接口。域名服务器的IPv6地址为链路本地地址时,必须指定本参数。域名服务器的IPv6地址为全球单播地址时,无法指定本参数。

priority priority-value:域名服务器的优先级。取值范围为1~255,优先级的值越小,优先级越高。缺省值为100。

【使用指导】

工作机制

在进行服务器组域名解析时,系统按照优先级从高到低的顺序,依次向各个域名服务器发送查询请求。优先级相同时,则按照在域名服务器组中执行display this命令显示服务器IPv6地址的先后顺序,依次向各个域名服务器发送查询请求。用户可以通过修改域名服务器的优先级来调整发送查询请求的先后顺序。

注意事项

单个域名服务器组内最多可以配置6个域名服务器的IPv6地址。

执行undo ipv6 dns server命令时如果未指定ipv6-address参数,则删除域名服务器组中的所有域名服务器IPv6地址。

【举例】

# 在域名服务器组1中,添加IPv6地址为2000::1的域名服务器。

<Sysname> system-view

[Sysname] dns server-group 1

[Sysname-server-group-1] ipv6 dns server 2000::1

1.1.32  ipv6 dns spoofing

ipv6 dns spoofing命令用来开启DNS spoofing功能,并指定应答的IPv6地址。

undo ipv6 dns spoofing命令用来关闭DNS spoofing功能。

【命令】

ipv6 dns spoofing ipv6-address

undo ipv6 dns spoofing ipv6-address

【缺省情况】

DNS spoofing功能处于关闭状态。

【视图】

系统视图

【缺省用户角色】

network-admin

【参数】

ipv6-address:用来欺骗性应答域名解析请求的IPv6地址。

【使用指导】

本命令必须和dns proxy enable命令一起使用。

开启DNS spoofing功能后,如果设备上未配置域名服务器地址或不存在到达域名服务器的路由,则会利用配置的应答IPv6地址作为域名解析结果,欺骗性地应答AAAA类域名解析请求。

【举例】

# 为公网开启DNS spoofing功能,并指定应答的IPv6地址为2001::1。

<Sysname> system-view

[Sysname] dns proxy enable

[Sysname] ipv6 dns spoofing 2001::1

【相关命令】

·     dns proxy enable

1.1.33  ipv6 host

ipv6 host命令用来配置主机名及其对应的主机IPv6地址。

undo ipv6 host命令用来删除主机名及其对应的主机IPv6地址。

【命令】

ipv6 host host-name ipv6-address

undo ipv6 host host-name ipv6-address

【缺省情况】

不存在主机名及IPv6地址的对应关系。

【视图】

系统视图

【缺省用户角色】

network-admin

【参数】

host-name:主机名,为1~253个字符的字符串,不区分大小写,字符串中可以包含字母、数字、“-”、“_”和“.”,且需满足以下要求:

·     主机名以“.”字符分割成多个字符串,单个字符串的长度不超过63个字符。

·     主机名不能以“.”字符开头或结尾。

主机名不能包含两个连续的“.”字符。

ipv6-address:与主机名对应的IPv6地址。

【使用指导】

公网内最多可以配置1024个主机名和IPv6地址的对应关系。

在公网内,一个主机名只能对应一个IPv6地址。多次执行本命令,最后一次执行的命令生效。

-a-c-i-m-q-s-t-tc-v-vpn-instance已被系统用作ping ipv6命令的参数关键字,在配置主机名时,请避免使用相同的字符串作为主机名。ping ipv6命令支持的参数形式,请参考“网络管理和监控”中的“ping ipv6”命令。

【举例】

# 配置公网内主机名aaa对应的IPv6地址为2001::1。

<Sysname> system-view

[Sysname] ipv6 host aaa 2001::1

【相关命令】

·     ip host

1.1.34  reset dns host

reset dns host命令用来清除动态域名解析缓存信息。

【命令】

reset dns host [ ip | ipv6 ]

【视图】

用户视图

【缺省用户角色】

network-admin

【参数】

ip:清除A类查询的动态缓存信息。A类查询用来解析域名对应的IPv4地址。

ipv6:清除AAAA类查询的动态缓存信息。AAAA类查询用来解析域名对应的IPv6地址。

【使用指导】

如果未指定ipipv6参数,则清除所有查询类型的动态域名解析缓存信息。

使用本命令能够清除如下缓存信息:

·     DNS客户端上的动态域名解析缓存信息。

·     开启DNS源地址透明代理的设备上的动态域名解析缓存信息。

【举例】

# 清除公网所有查询类型的动态域名解析缓存信息。

<Sysname> reset dns host

【相关命令】

·     display dns host

1.1.35  subdomain-name

subdomain-name命令用来在域名组中添加子域名。

undo subdomain-name命令用来删除域名组中指定的子域名。

【命令】

subdomain-name subdomain-name

undo subdomain-name subdomain-name

【缺省情况】

域名组中未配置子域名。

【视图】

域名组视图

【缺省用户角色】

network-admin

【参数】

subdomain-name:子域名,由“.”分隔的字符串组成,每个字符串的长度不超过63个字符,包括“.”在内的总长度不超过253个字符。不区分大小写,字符串中可以包含字母、数字、“-”、“_”或“.”,如.example.com。字符串中不可包含“*”。

【使用指导】

设备使用请求中的域名和域名组中的子域名进行匹配时,只有包含subdomain-name字符串,才算匹配成功。例如,example.net包含两个子域名a.example.net和b.example.net,subdomain-name设置为不同值时,能够匹配的域名不同:

·     subdomain-name设置为.example.net时,仅a.example.net和b.example.net能够与设置的子域名匹配。

·     subdomain-name设置为example.net时,example.net、a.example.net和b.example.net均能够与设置的子域名匹配。

多次执行本命令可以添加多个子域名。同一个域名组中能够添加的域名和子域名的最大数量与设备的型号有关,请以设备的实际情况为准。

【举例】

# 在域名组1中添加子域名com。

<Sysname> system-view

[Sysname] dns domain-name-group 1

[Sysname-domain-name-group-1] subdomain-name com

【相关命令】

·     dns domain-name-group

·     domain-name


2 DDNS

2.1  DDNS配置命令

2.1.1  ddns apply policy

ddns apply policy命令用来在接口上应用指定的DDNS策略来更新指定的FQDN与接口主IP地址的对应关系,并启动DDNS更新。

undo ddns apply policy命令用来在接口上取消应用DDNS策略,停止DDNS更新。

【命令】

ddns apply policy policy-name [ fqdn domain-name ]

undo ddns apply policy policy-name

【缺省情况】

没有为接口指定任何DDNS策略和需要更新的FQDN,且未启动DDNS更新。

【视图】

接口视图

【缺省用户角色】

network-admin

【参数】

policy-name:DDNS策略名称,为1~32个字符的字符串,不区分大小写。

fqdn domain-name:指定需要更新该FQDN与IP地址的对应关系,用于替换DDNS更新请求URL中的<h>。domain-name为主机名,主机名,为1~253个字符的字符串,不区分大小写,字符串中可以包含字母、数字、“-”、“_”和“.”。

【使用指导】

一个接口上最多可以应用4个DDNS策略。

重复应用名称相同的DDNS策略,并指定不同的FQDN时,最后一次执行的命令生效,同时发起一次DDNS更新。

【举例】

# 在接口GigabitEthernet1/0/1下指定应用DDNS策略steven_policy来更新合格域名www.example.com与IP地址的对应关系,并启动DDNS更新功能。

<Sysname> system-view

[Sysname] interface gigabitethernet 1/0/1

[Sysname-GigabitEthernet1/0/1] ddns apply policy steven_policy fqdn www.example.com

【相关命令】

·     ddns policy

·     display ddns policy

2.1.2  ddns dscp

ddns dscp命令用来配置发送DDNS报文的DSCP优先级。

undo ddns dscp命令用来恢复缺省情况。

【命令】

ddns dscp dscp-value

undo ddns dscp

【缺省情况】

配置发送DDNS报文的DSCP优先级为0。

【视图】

系统视图

【缺省用户角色】

network-admin

【参数】

dscp-value:DDNS报文的DSCP优先级,取值范围为0~63。

【使用指导】

DSCP优先级用来体现报文自身的优先等级,决定报文传输的优先程度。配置的DSCP优先级的取值越大,报文的优先级越高。

【举例】

# 配置发送的DDNS报文的DSCP优先级为30。

<Sysname> system-view

[Sysname] ddns dscp 30

2.1.3  ddns policy

ddns policy命令用来创建DDNS策略,并进入DDNS策略视图。如果指定的DDNS策略视图已存在,则直接进入DDNS策略视图。

undo ddns policy命令用来删除DDNS策略。

【命令】

ddns policy policy-name

undo ddns policy policy-name

【缺省情况】

设备上不存在DDNS策略。

【视图】

系统视图

【缺省用户角色】

network-admin

【参数】

policy-name:DDNS策略名称,为1~32个字符的字符串,不区分大小写。

【使用指导】

设备上最多可以创建16个DDNS策略。

【举例】

# 创建名称为steven_policy的DDNS策略,并进入DDNS策略视图。

<Sysname> system-view

[Sysname] ddns policy steven_policy

【相关命令】

·     display ddns policy

·     ddns apply policy

2.1.4  display ddns policy

display ddns policy命令用来显示DDNS策略的信息。

【命令】

display ddns policy [ policy-name ]

【视图】

任意视图

【缺省用户角色】

network-admin

network-operator

【参数】

policy-name:DDNS策略名称,为1~32个字符的字符串,不区分大小写。如果未指定本参数,则显示所有DDNS策略的信息。

【举例】

# 显示名称为steven_policy的DDNS策略的信息。

<Sysname> display ddns policy steven_policy

DDNS policy: steven_policy

  URL              : http://members.3322.org/dyndns/update?

                     system=dyndns&hostname=<h>&myip=<a>

  Username         : steven

  Password         : ******

  Method           : GET

  SSL client policy:

  Interval         : 1 days 0 hours 1 minutes

# 显示所有DDNS策略的信息。

<Sysname> display ddns policy

DDNS policy: steven_policy

  URL              : http://members.3322.org/dyndns/update?system=

                     dyndns&hostname=<h>&myip=<a>

  Username         : steven

  Password         : ******

  Method           : GET

  SSL client policy:

  Interval         : 0 days 0 hours 30 minutes 

 

DDNS policy: tom-policy

  URL              : http://members.3322.org/dyndns/update?system=

                     dyndns&hostname=<h>&myip=<a>

  Username         :

  Password         :

  Method           : GET

  SSL client policy:

  Interval         : 0 days 0 hours 15 minutes

 

DDNS policy: u-policy

  URL              : oray://phddns60.oray.net

  Username         : username

  Password         :

  Method           : -

  SSL client policy:

  Interval         : 0 days 0 hours 15 minutes

表2-1 display ddns policy命令显示信息描述表

字段

描述

DDNS policy

DDNS策略名称

URL

DDNS更新请求的URL地址。未配置时显示为空

Username

登录DDNS服务器的用户名。未配置时显示为空

Password

登录DDNS服务器的密码。未配置时显示为空,有配置时显示为“******”

Method

采用HTTP或HTTPS报文发送DDNS更新请求时,使用的参数传输方式

取值包括:

·     GET:表示参数传输方式为GET方式

·     POST:表示参数传输方式为POST方式

SSL client policy

关联的SSL客户端策略名称。未配置时显示为空

Interval

定时发起DDNS更新请求的时间间隔

 

【相关命令】

·     ddns policy

2.1.5  interval

interval命令用来指定定时发起更新请求的时间间隔。

undo interval命令用来恢复缺省情况。

【命令】

interval days [ hours [ minutes ] ]

undo interval

【缺省情况】

定时发起DDNS更新请求的时间间隔是1小时。

【视图】

DDNS策略视图

【缺省用户角色】

network-admin

【参数】

days:天,取值范围为0~365。

hours:小时,取值范围为0~23。

minutes:分钟,取值范围为0~59。

【使用指导】

不论是否到达定时发起更新请求的时间,只要对应接口的主IP地址发生改变或接口的链路状态由down变为up,都会立即发起更新请求。

如果配置时间间隔为0,则不会定时发起更新,除非对应接口的IP地址发生改变或接口的链路状态由down变为up。

多次执行本命令,最后一次执行的命令生效。如果DDNS策略已经应用到接口上,则立即触发一次DDNS更新,并以最后一次配置的时间间隔为更新周期。

【举例】

# 为DDNS策略steven_policy指定定时发起更新请求的时间间隔为1天零1分。

<Sysname> system-view

[Sysname] ddns policy steven_policy

[Sysname-ddns-policy-steven_policy] interval 1 0 1

【相关命令】

·     display ddns policy

·     ddns policy

2.1.6  method

method命令用来配置采用HTTP或HTTPS报文发送DDNS更新请求时使用的参数传输方式。

undo method命令用来恢复缺省情况。

【命令】

method { http-get | http-post }

undo method

【缺省情况】

采用HTTP或HTTPS报文发送DDNS更新请求时使用的参数的传输方式为http-get。

【视图】

DDNS策略视图

【缺省用户角色】

network-admin

【参数】

http-get:参数的传输方式为http-get。

http-post:参数的传输方式为http-post。

【使用指导】

采用HTTP或HTTPS报文发送DDNS更新请求时,不同的DDNS服务器要求使用的参数传输方式可能不同。例如DHS服务器,需要使用http-post参数传输方式。通过本配置可以修改参数传输方式,以满足DDNS服务器的要求。

本命令仅在基于HTTP或HTTPS与DDNS服务器通信时生效。基于其他协议与DDNS服务器通信时,本命令不生效。

通过本命令修改DDNS策略的参数传输方式时,如果该DDNS策略已经应用到接口上,则立即触发一次DDNS更新。

【举例】

# 配置DDNS策略steven_policy采用HTTP或HTTPS报文发送DDNS更新请求时使用的参数传输方式为http-post方式。

<Sysname> system-view

[Sysname] ddns policy steven_policy

[Sysname-ddns-policy-steven_policy] method http-post

【相关命令】

·     display ddns policy

·     ddns policy

2.1.7  password

password命令用来指定登录DDNS服务器的密码。

undo password命令用来恢复缺省情况。

【命令】

password { cipher | simple } string

undo password

【缺省情况】

未指定登录DDNS服务器的密码。

【视图】

DDNS策略视图

【缺省用户角色】

network-admin

【参数】

cipher:表示以密文方式设置密码。

simple:表示以明文方式设置密码,该密码将以密文形式存储。

string:密码字符串,区分大小写。明文密码为1~32个字符的字符串,密文密码为1~73个字符的字符串。

【举例】

# 为DDNS策略steven_policy指定登录DDNS服务器的密码为nevets。

<Sysname> system-view

[Sysname] ddns policy steven_policy

[Sysname-ddns-policy-steven_policy] password simple nevets

【相关命令】

·     display ddns policy

·     ddns policy

·     url

·     username

2.1.8  ssl-client-policy

ssl-client-policy命令用来指定与DDNS策略关联的SSL客户端策略。

undo ssl-client-policy命令用来恢复缺省情况。

【命令】

ssl-client-policy policy-name

undo ssl-client-policy

【缺省情况】

未指定与DDNS策略关联的SSL客户端策略。

【视图】

DDNS策略视图

【缺省用户角色】

network-admin

【参数】

policy-name:SSL客户端策略名称,为1~31个字符的字符串,不区分大小写。

【使用指导】

SSL客户端策略只对URL为HTTPS地址的DDNS更新请求有效。

多次执行本命令,为同一个DDNS策略关联不同的SSL客户端策略时,DDNS策略将只与最后配置的SSL客户端策略关联。

【举例】

# 将SSL客户端策略ssl_policy与DDNS策略steven_policy关联。

<Sysname> system-view

[Sysname] ddns policy steven_policy

[Sysname-ddns-policy-steven_policy] ssl-client-policy ssl_policy

【相关命令】

·     ddns policy

·     display ddns policy

·     ssl-client-policy(安全命令参考/SSL)

2.1.9  url

url命令用来指定DDNS更新请求的URL地址。

undo url命令用来恢复缺省情况。

【命令】

url request-url

undo url

【缺省情况】

未指定DDNS更新请求的URL地址。

【视图】

DDNS策略视图

【缺省用户角色】

network-admin

【参数】

request-url:DDNS更新请求的URL地址,为1~240个字符的字符串,区分大小写。

【使用指导】

不同DDNS服务器的请求更新URL地址有所不同。常见的DDNS服务器URL地址格式如表2-2所示。

表2-2 常见的DDNS更新请求URL地址格式列表

DDNS服务器

DDNS更新请求的URL地址格式

www.3322.org

http://members.3322.org/dyndns/update?system=dyndns&hostname=<h>&myip=<a>

DYNDNS

http://members.dyndns.org/nic/update?system=dyndns&hostname=<h>&myip=<a>

DYNS

http://www.dyns.cx/postscript.php?host=<h>&ip=<a>

ZONEEDIT

http://dynamic.zoneedit.com/auth/dynamic.html?host=<h>&dnsto=<a>

TZO

http://cgi.tzo.com/webclient/signedon.html?TZOName=<h>IPAddress=<a>

EASYDNS

http://members.easydns.com/dyn/ez-ipupdate.php?action=edit&myip=<a>&host_id=<h>

HEIPV6TB

http://dyn.dns.he.net/nic/update?hostname=<h>&myip=<a>

CHANGE-IP

http://nic.changeip.com/nic/update?hostname=<h>&offline=1

NO-IP

http://dynupdate.no-ip.com/nic/update?hostname=<h>&myip=<a>

DDNS客户端到达DDNS服务器的路径上需要经过NAT设备时,不要指定myip参数

DHS

http://members.dhs.org/nic/hosts?domain=dyn.dhs.org&hostname=<h>&hostscmd=edit&hostscmdstage=2&type=1&ip=<a>

HP

https://server-name/nic/update?group=group-name&myip=<a>

ODS

ods://update.ods.org

GNUDIP

gnudip://server-name

花生壳

根据实际情况选择:

·     oray://phddns60.oray.net

·     oray://phservice2.oray.net

·     http://ddns.oray.com/ph/update?hostname=<h>&myip=<a>

 

URL地址中不支持携带用户名和密码,配置用户名和密码请配合usernamepassword命令使用,请根据实际情况修改。

HP和GNUDIP是通用的DDNS更新协议,server-name是使用对应DDNS更新协议的服务提供商的服务器域名或地址。

DDNS更新请求的URL地址可以以“http://”开头,表示基于HTTP与DDNS服务器通信;以“https://”开头,表示基于HTTPS与DDNS服务器通信;以“ods://”开头,表示基于TCP与ODS服务器通信;以“gnudip://”开头,表示基于TCP与GNUDIP服务器通信;以“oray://”开头,表示基于TCP与花生壳DDNS服务器通信。

members.3322.org和phddns60.oray.net是服务提供商提供DDNS服务的域名。花生壳提供DDNS服务的域名是phddns60.oray.net和phservice2.oray.net,phservice2.oray.net对应的是花生壳老版的服务器公网地址,phddns60.oray.net对应的是当前新版本的服务器公网地址。花生壳基本不再维护老版本的服务器公网地址,所以部分服务器有时会登录不上,需要重复多试几次。在花生壳上申请的新账号应使用新版本的服务器公网地址。请根据实际情况修改域名。

URL地址中的端口号是可选项,如果不包含端口号则使用缺省端口号:HTTP是80,HTTPS是443,花生壳DDNS服务器是6060。

<h>由系统根据接口上应用DDNS策略时指定的FQDN自动填写,<a>由系统根据应用DDNS策略的接口的主IP地址自动填写,用户可以不更改URL中的<h>和<a>。用户也可以手工输入需要更新的FQDN和IP地址,代替URL中的<h>和<a>,此时,应用DDNS策略时指定的FQDN将不会生效。为了避免配置错误,建议用户不要修改URL中的<h>和<a>。

花生壳DDNS服务器的URL地址中不能指定用于更新的FQDN和IP地址。用户可在接口上应用DDNS策略时指定FQDN;用于更新的IP地址是应用DDNS策略的接口的主IP地址。

为避免歧义,请尽量不要在DDNS服务器上申请含有“:”、“@”或“?”字符的用户名和密码。

多次执行本命令,最后一次执行的命令生效。

【举例】

# 为DDNS策略steven_policy指定DDNS更新请求的URL地址。DDNS服务提供商为www.3322.org。

<Sysname> system-view

[Sysname] ddns policy steven_policy

[Sysname-ddns-policy-steven_policy] url http://members.3322.org/dyndns/update?system=dyndns&hostname=<h>&myip=<a>

【相关命令】

·     display ddns policy

·     ddns policy

·     password

·     username

2.1.10  username

username命令用来指定登录DDNS服务器的用户名。

undo username命令用来恢复缺省情况。

【命令】

username username

undo username

【缺省情况】

未指定登录DDNS服务器的用户名。

【视图】

DDNS策略视图

【缺省用户角色】

network-admin

【参数】

username:登录DDNS服务器的用户名,为1~32个字符的字符串,区分大小写。

【举例】

# 为DDNS策略steven_policy指定登录DDNS服务器的用户名为steven。

<Sysname> system-view

[Sysname] ddns policy steven_policy

[Sysname-ddns-policy-steven_policy] username steven

【相关命令】

·     display ddns policy

·     ddns policy

·     password

·     url

不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!

新华三官网
联系我们