15-GRE配置
本章节下载: 15-GRE配置 (353.35 KB)
GRE(Generic Routing Encapsulation,通用路由封装)协议是对某些网络层协议(如IP和IPX)的数据报文进行封装,使这些被封装的数据报文能够在另一个网络层协议(如IP)中传输。封装后的数据报文在网络中传输的路径,称为GRE隧道。GRE隧道是一个虚拟的点到点的连接,其两端的设备分别对数据报进行封装及解封装。
图1-1 GRE封装后的报文格式
如图1-1所示,GRE封装后的报文包括如下几个部分:
· 净荷数据(Payload packet):需要封装和传输的数据报文。净荷数据的协议类型,称为乘客协议(Passenger Protocol)。
· GRE头(GRE header):系统收到净荷数据后,在净荷数据上添加GRE头,使其成为GRE报文。对净荷数据进行封装的GRE协议,称为封装协议(Encapsulation Protocol)。
· 传输协议的报文头(Delivery header):负责转发封装后报文的网络协议,称为传输协议(Delivery Protocol或者Transport Protocol)。在GRE报文上需要增加传输协议的报文头,以便传输协议对封装后的报文进行转发处理。
图1-2 GRE封装报文举例
IPv6报文通过GRE隧道穿越IPv4网络时,报文格式如图1-2所示。其中,乘客协议为IPv6,封装协议为GRE,传输协议为IPv4。
根据传输协议的不同,GRE隧道可以分为:
· GRE over IPv4:传输协议为IPv4,乘客协议为任意网络层协议。
· GRE over IPv6:传输协议为IPv6,乘客协议为任意网络层协议。
图1-3 X协议网络通过GRE隧道互连
下面以图1-3的网络为例说明X协议的报文穿越IP网络在GRE隧道中传输的过程:
· Device A连接Group 1的接口收到X协议报文后,首先交由X协议处理;
· X协议检查报文头中的目的地址域来确定如何路由此包;
· 若报文的目的地址要经过Tunnel才能到达,则设备将此报文发给相应的Tunnel接口;
· Tunnel接口收到此报文后进行GRE封装,再封装IP报文头后,设备根据此IP包的目的地址及路由表对报文进行转发,从相应的网络接口发送出去。
解封装过程和加封装的过程相反。
· Device B从Tunnel接口收到IP报文,检查目的地址;
· 如果目的地是本路由器,且IP报文头中的协议号为47(表示封装的报文为GRE报文),则Device B剥掉此报文的IP报头,交给GRE协议处理(进行检验密钥、检查校验和及报文的序列号等);
· GRE协议完成相应的处理后,剥掉GRE报头,再交由X协议对此数据报进行后续的转发处理。
GRE收发双方的加封装、解封装处理,以及由于封装造成的数据量增加,会导致使用GRE后设备的数据转发效率有一定程度的下降。
为了提高GRE隧道的安全性,GRE还支持由用户选择设置Tunnel接口的识别关键字(或称密钥),和对隧道封装的报文进行端到端校验。
在RFC 1701中规定:
· 若GRE报文头中的Key标识位置1,则收发双方将进行通道识别关键字的验证,只有Tunnel两端设置的识别关键字完全一致时才能通过验证,否则将报文丢弃。
· 若GRE报文头中的Checksum标识位置1,则校验和有效。发送方将根据GRE头及Payload信息计算校验和,并将包含校验和的报文发送给对端。接收方对接收到的报文计算校验和,并与报文中的校验和比较,如果一致则对报文进行进一步处理,否则丢弃。
GRE主要应用于以下几种环境:
图1-4中,Group 1和Group 2是运行Novell IPX协议的本地网,Team 1和Team 2是运行IP协议的本地网。通过在Device A和Device B之间采用GRE协议封装的隧道,Group 1和Group 2、Team 1和Team 2可以互不影响地进行通信。
两台终端之间的跳数超过15,它们将无法通信。通过在网络中使用隧道可以隐藏一部分跳数,从而扩大网络的工作范围。
图1-6 Tunnel连接不连续子网
运行Novell IPX协议的两个子网Group 1和Group 2分别在不同的城市,通过使用隧道可以实现跨越广域网的VPN。
图1-7 GRE-IPsec隧道应用
GRE可以和IPsec结合使用,即对于路由协议、语音、视频等数据先进行GRE封装,再对封装后的报文进行IPsec的加密处理,以提高数据在隧道中传输的安全性。
与GRE相关的协议规范有:
· RFC 1701:Generic Routing Encapsulation (GRE)
· RFC 1702:Generic Routing Encapsulation over IPv4 networks
· RFC 2784:Generic Routing Encapsulation (GRE)
设备上存在已经配置IP地址、能够进行正常通讯的接口(如VLAN接口,Loopback接口等),该接口将作为Tunnel接口的源接口。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建一个Tunnel接口,并进入该Tunnel接口视图 |
interface tunnel interface-number |
必选 缺省情况下,设备上无Tunnel接口 |
设置Tunnel接口的IPv4地址 |
ip address ip-address { mask | mask-length } |
必选 缺省情况下,Tunnel接口上没有设置IPv4地址 |
配置隧道模式为GRE over IPv4 |
tunnel-protocol gre |
可选 缺省情况下,Tunnel接口上隧道模式为GRE over IPv4 在隧道的两端应配置相同的隧道模式,否则可能造成报文传输失败 |
设置Tunnel接口的源端地址或接口 |
source { ip-address | interface-type interface-number } |
必选 缺省情况下,Tunnel接口上没有设置源端地址和接口 |
设置Tunnel接口的目的端地址 |
destination ip-address |
必选 缺省情况下,Tunnel接口上没有设置目的端地址 |
使能GRE的keepalive功能,探测Tunnel接口状态,并配置keepalive报文发送周期及最大发送次数 |
keepalive [ seconds [ times ] ] |
可选 缺省情况下,不启用GRE的keepalive功能 |
使能GRE报文校验和功能 |
gre checksum |
可选 缺省情况下,未使能GRE报文校验和功能 |
设置GRE类型隧道接口的密钥 |
gre key key-number |
可选 缺省情况下,没有设置GRE类型隧道接口的密钥 隧道两端要么设置相同的密钥,要么都不设置密钥 |
设置GRE头中Recursion Control字段的值 |
gre recursion recursion-value |
可选 缺省情况下,GRE头中Recursion Control字段的值为0,表示不限制GRE报文被封装的次数 |
配置通过Tunnel转发报文的路由 |
配置的详细情况请参见“三层技术配置指导”中的“静态路由”或其他路由协议配置 |
必选 在源端路由器和目的端路由器上都必须存在经过Tunnel转发报文的路由,这样需要进行GRE封装的报文才能正确转发。可以配置静态路由,也可以配置动态路由 |
退回系统视图 |
quit |
- |
配置丢弃含有IPv4兼容IPv6地址的IPv6报文 |
tunnel discard ipv4-compatible-packet |
可选 缺省情况下,不会丢弃含有IPv4兼容IPv6地址的IPv6报文 |
· Tunnel的源端地址与目的端地址唯一标识了一个通道。Tunnel两端必须配置源端地址与目的端地址,且两端地址互为源地址和目的地址。
· 两个或两个以上使用同种封装协议的Tunnel接口不能配置完全相同的源地址和目的地址。
· 配置Tunnel接口的源端地址时,若采用配置源接口形式,则Tunnel的源地址取的是源接口的主IP地址。
· 隧道两端可以根据实际应用的需要决定配置校验和或禁止校验和。如果本端配置了校验和而对端没有配置,则本端将不会对接收到的报文进行校验和检查,但对发送的报文计算校验和;相反,如果本端没有配置校验和而对端已配置,则本端将对从对端发来的报文进行校验和检查,但对发送的报文不计算校验和。
· 配置通过Tunnel转发的路由时,可以手工配置一条静态路由,目的地址是未进行GRE封装的报文的目的地址,下一跳是对端Tunnel接口的地址。也可以在Tunnel接口上和与私网相连的路由器接口上分别使能动态路由协议,由动态路由协议来建立通过Tunnel转发的路由表项。
· 在Tunnel接口配置的静态路由的目的地址不能与Tunnel接口的地址在同一网段。
设备上存在已经配置IP地址、能够进行正常通讯的接口(如VLAN接口,Loopback接口等),该接口将作为Tunnel接口的源接口。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
使能IPv6报文转发功能 |
ipv6 |
必选 缺省情况下,关闭IPv6报文转发功能 |
创建一个Tunnel接口,并进入该Tunnel接口视图 |
interface tunnel interface-number |
必选 缺省情况下,设备上无Tunnel接口 |
设置Tunnel接口的IPv4地址 |
ip address ip-address { mask | mask-length } |
必选 缺省情况下,Tunnel接口上没有设置IPv4地址 |
配置隧道模式为GRE over IPv6 |
tunnel-protocol gre ipv6 |
必选 缺省情况下,Tunnel接口上隧道模式为GRE over IPv4 在隧道的两端应配置相同的隧道模式,否则可能造成报文传输失败 |
设置Tunnel接口的源端地址或接口 |
source { ipv6-address | interface-type interface-number } |
必选 缺省情况下,Tunnel接口上没有设置源端地址和接口 |
设置Tunnel接口的目的端地址 |
destination ipv6-address |
必选 缺省情况下,Tunnel接口上没有设置目的端地址 |
使能GRE报文校验和功能 |
gre checksum |
可选 缺省情况下,未使能GRE报文校验和功能 |
设置GRE类型隧道接口的密钥 |
gre key key-number |
可选 缺省情况下,没有设置GRE类型隧道接口的密钥 隧道两端要么设置相同的密钥,要么都不设置密钥 |
设置GRE头中Recursion Control字段的值 |
gre recursion recursion-value |
可选 缺省情况下,GRE头中Recursion Control字段的值为0,表示不限制GRE报文被封装的次数 |
退回系统视图 |
quit |
- |
配置丢弃含有IPv4兼容IPv6地址的IPv6报文 |
tunnel discard ipv4-compatible-packet |
可选 缺省情况下,不会丢弃含有IPv4兼容IPv6地址的IPv6报文 |
配置通过Tunnel转发报文的路由 |
配置的详细情况请参见“三层技术配置指导”中的“静态路由”或其他路由协议配置 |
必选 在源端路由器和目的端路由器上都必须存在经过Tunnel转发报文的路由,这样需要进行GRE封装的报文才能正确转发。可以配置静态路由,也可以配置动态路由 |
· 以上各项Tunnel接口下进行的功能特性配置,在删除Tunnel接口后,该接口上的所有配置也将被删除。
· Tunnel的源端地址与目的端地址唯一标识了一个通道。Tunnel两端必须配置源端地址与目的端地址,且两端地址互为源地址和目的地址。
· 两个或两个以上使用同种封装协议的Tunnel接口不能配置完全相同的源地址和目的地址。
· 配置Tunnel接口的源端地址时,若采用配置源接口形式,则Tunnel的源地址取的是源接口的主IP地址。
· 隧道两端可以根据实际应用的需要决定配置校验和或禁止校验和。如果本端配置了校验和而对端没有配置,则本端将不会对接收到的报文进行校验和检查,但对发送的报文计算校验和;相反,如果本端没有配置校验和而对端已配置,则本端将对从对端发来的报文进行校验和检查,但对发送的报文不计算校验和。
· 配置通过Tunnel转发的路由时,可以手工配置一条静态路由,目的地址是未进行GRE封装的报文的目的地址,下一跳是对端Tunnel接口的地址。也可以在Tunnel接口上和与私网相连的路由器接口上分别使能动态路由协议,由动态路由协议来建立通过Tunnel转发的路由表项。
· 在Tunnel接口配置的静态路由的目的地址不能与Tunnel接口的地址在同一网段。
在完成上述配置后,在任意视图下执行display命令可以显示配置后GRE的运行情况,通过查看显示信息验证配置的效果。
表1-3 GRE的显示和维护
操作 |
命令 |
显示Tunnel接口的相关信息 |
display interface [ tunnel ] [ brief [ down ] ] [ | { begin | exclude | include } regular-expression ] display interface tunnel number [ brief ] [ | { begin | exclude | include } regular-expression ] |
显示Tunnel接口的IPv6相关信息 |
display ipv6 interface tunnel [ number ] [ brief ] [ | { begin | exclude | include } regular-expression ] |
AC 1和AC 2之间通过Internet相连。运行IP协议的私有网络的两个子网Group 1和Group 2,通过在两台AC之间使用GRE建立隧道实现互联。
图1-8 GRE over IPv4应用组网图
在开始下面的配置之前,需确保AC 1和AC 2之间路由可达。
(1) 配置AC 1
# 配置LAN接口GigabitEthernet1/0/1加入VLAN 100。
<AC1> system-view
[AC1] vlan 100
[AC1-vlan100] port gigabitethernet 1/0/1
[AC1-vlan100] quit
# 配置Vlan-interface100 的IP地址。
[AC1] interface vlan-interface 100
[AC1-Vlan-interface100] ip address 10.1.1.1 255.255.255.0
[AC1-Vlan-interface100] quit
# 配置WAN接口GigabitEthernet1/0/5的IP地址。
[AC1] interface GigabitEthernet 1/0/5
[AC1-GigabitEthernet1/0/5] ip address 1.1.1.1 255.255.255.0
[AC1-GigabitEthernet1/0/5] quit
# 创建Tunnel1接口。
[AC1] interface tunnel 1
# 配置Tunnel1接口的IP地址。
[AC1-Tunnel1] ip address 10.1.2.1 255.255.255.0
# 配置Tunnel封装模式为GRE over IPv4隧道模式。
[AC1-Tunnel1] tunnel-protocol gre
# 配置Tunnel1接口的源地址(GigabitEthernet1/0/5的IP地址)。
[AC1-Tunnel1] source GigabitEthernet 1/0/5
# 配置Tunnel1接口的目的地址(AC 2的GigabitEthernet1/0/5的IP地址)。
[AC1-Tunnel1] destination 2.2.2.2
# 配置从AC 1经过Tunnel1接口到Group 2的静态路由。
[AC1] ip route-static 10.1.3.0 255.255.255.0 tunnel 1
(2) 配置AC 2
# 配置LAN接口GigabitEthernet1/0/1。
<AC2> system-view
[AC2] vlan 100
[AC2-vlan100] port gigabitethernet 1/0/1
[AC2-vlan100] quit
# 配置Vlan-interface100 的IP地址。
[AC2] interface vlan-interface 100
[AC2-Vlan-interface100] ip address 10.1.3.1 255.255.255.0
[AC2-Vlan-interface100] quit
# 配置WAN接口GigabitEthernet1/0/5的IP地址。
[AC2] GigabitEthernet1/0/5
[AC2-GigabitEthernet1/0/5] ip address 2.2.2.2 255.255.255.0
[AC2-GigabitEthernet1/0/5] quit
# 创建Tunnel1接口。
[AC2] interface tunnel 1
# 配置Tunnel1接口的IP地址。
[AC2-Tunnel1] ip address 10.1.2.2 255.255.255.0
# 配置Tunnel封装模式为GRE over IPv4隧道模式。
[AC2-Tunnel1] tunnel-protocol gre
# 配置Tunnel1接口的源地址(GigabitEthernet1/0/5的IP地址)。
[AC2-Tunnel1] source GigabitEthernet1/0/5
# 配置Tunnel1接口的目的地址(AC 1的GigabitEthernet1/0/5的IP地址)。
[AC2-Tunnel1] destination 1.1.1.1
# 配置从AC 2经过Tunnel1接口到Group 1的静态路由。
[AC2] ip route-static 10.1.1.0 255.255.255.0 Tunnel 1
(3) 验证配置结果
# 完成以上配置后,分别查看AC 1和AC 2的Tunnel接口状态。
[AC1] display interface tunnel 1
Tunnel1 current state: UP
Line protocol current state: UP
Description: Tunnel1 Interface
The Maximum Transmit Unit is 1476
Internet Address is 10.1.2.1/24 Primary
Encapsulation is TUNNEL, service-loopback-group ID is 1.
Tunnel source 1.1.1.1, destination 2.2.2.2
Tunnel keepalive disabled
Tunnel protocol/transport GRE/IP
GRE key disabled
Checksumming of GRE packets disabled
Last clearing of counters: Never
Last 300 seconds input: 0 bytes/sec, 0 packets/sec
Last 300 seconds output: 0 bytes/sec, 0 packets/sec
10 packets input, 840 bytes
0 input error
10 packets output, 840 bytes
0 output error
[AC2] display interface tunnel 1
Tunnel1 current state: UP
Line protocol current state: UP
Description: Tunnel1 Interface
The Maximum Transmit Unit is 1476
Internet Address is 10.1.2.2/24 Primary
Encapsulation is TUNNEL, service-loopback-group ID is 1.
Tunnel source 2.2.2.2, destination 1.1.1.1
Tunnel keepalive disabled
Tunnel protocol/transport GRE/IP
GRE key disabled
Checksumming of GRE packets disabled
Last clearing of counters: Never
Last 300 seconds input: 2 bytes/sec, 0 packets/sec
Last 300 seconds output: 2 bytes/sec, 0 packets/sec
10 packets input, 840 bytes
0 input error
10 packets output, 840 bytes
0 output error
# 从AC 2可以Ping通AC 1上VLAN接口100的地址。
[AC2] ping 10.1.1.1
PING 10.1.1.1: 56 data bytes, press CTRL_C to break
Reply from 10.1.1.1: bytes=56 Sequence=1 ttl=255 time=2 ms
Reply from 10.1.1.1: bytes=56 Sequence=2 ttl=255 time=2 ms
Reply from 10.1.1.1: bytes=56 Sequence=3 ttl=255 time=2 ms
Reply from 10.1.1.1: bytes=56 Sequence=4 ttl=255 time=2 ms
Reply from 10.1.1.1: bytes=56 Sequence=5 ttl=255 time=2 ms
--- 10.1.1.1 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 2/2/2 ms
运行IP协议的两个子网Group1和Group2通过IPv6网络相连。通过在AC1和AC2之间建立GRE over IPv6隧道,实现两个子网穿越IPv6网络互联。
图1-9 GRE over IPv6应用组网图
在开始下面的配置之前,需确保AC 1和AC 2之间路由可达。
(1) 配置AC 1
<AC1> system-view
# 使能IPv6。
[AC1] ipv6
# 配置LAN接口Gigabitethernet 1/0/1加入VLAN 100。
[AC1] vlan 100
[AC1-vlan100] port gigabitethernet 1/0/1
[AC1-vlan100] quit
# 配置Vlan-interface100 的IP地址。
[AC1] interface vlan-interface 100
[AC1-Vlan-interface100] ip address 10.1.1.1 255.255.255.0
[AC1-Vlan-interface100] quit
# 配置WAN接口Gigabitethernet 1/0/5的IP地址。
[AC1] GigabitEthernet1/0/5
[AC1-GigabitEthernet1/0/5] ip address 2002::1:1 64
[AC1-GigabitEthernet1/0/5] quit
# 创建Tunnel0接口。
[AC1] interface tunnel 0
# 配置Tunnel0接口的IP地址。
[AC1-Tunnel0] ip address 10.1.2.1 255.255.255.0
# 配置Tunnel封装模式为GRE over IPv6隧道模式。
[AC1-Tunnel0] tunnel-protocol gre ipv6
# 配置Tunnel0接口的源地址(Gigabitethernet 1/0/5的IP地址)。
[AC1-Tunnel0] source 2002::1:1
# 配置Tunnel0接口的目的地址(AC 2的Gigabitethernet 1/0/5的IP地址)。
[AC1-Tunnel0] destination 2001::2:1
[AC1-Tunnel0] quit
# 配置从AC 1经过Tunnel1接口到Group 2的静态路由。
[AC1] ip route-static 10.1.3.0 255.255.255.0 tunnel 0
(2) 配置AC 2
<AC2> system-view
# 使能IPv6。
[AC2] ipv6
# 配置LAN接口Gigabitethernet 1/0/1加入VLAN100。
[AC2] vlan 100
[AC2-vlan100] port gigabitethernet 1/0/1
[AC2-vlan100] quit
# 配置Vlan-interface100 的IP地址。
[AC2] interface vlan-interface 100
[AC2-Vlan-interface100] ip address 10.1.3.1 255.255.255.0
[AC2-Vlan-interface100] quit
# 配置WAN接口Gigabitethernet 1/0/5的IP地址。
[AC2] GigabitEthernet1/0/5
[AC2-GigabitEthernet1/0/5] ipv6 address 2001::2:1 64
[AC2-GigabitEthernet1/0/5] quit
# 创建Tunnel0接口。
[AC2] interface tunnel 0
# 配置Tunnel0接口的IP地址。
[AC2-Tunnel0] ip address 10.1.2.2 255.255.255.0
# 配置Tunnel封装模式为GRE over IPv6隧道模式。
[AC2-Tunnel0] tunnel-protocol gre ipv6
# 配置Tunnel0接口的源地址(Gigabitethernet 1/0/5的IP地址)。
[AC2-Tunnel0] source 2001::2:1
# 配置Tunnel0接口的目的地址(AC 1的Gigabitethernet 1/0/5的IP地址)。
[AC2-Tunnel0] destination 2002::1:1
[AC2-Tunnel0] quit
# 配置从AC 2经过Tunnel2接口到Group 1的静态路由。
[AC2] ip route-static 10.1.1.0 255.255.255.0 tunnel 0
(3) 验证配置结果
# 完成以上配置后,分别查看AC 1和AC 2的Tunnel接口状态。
[AC1] display interface Tunnel 0
Tunnel0 current state: UP
Line protocol current state: UP
Description: Tunnel0 Interface
The Maximum Transmit Unit is 1456
Internet Address is 10.1.2.1/24 Primary
Encapsulation is TUNNEL, service-loopback-group ID is 1.
Tunnel source 2002::1:1, destination 2001::2:1
Tunnel protocol/transport GRE/IPv6
GRE key disabled
Checksumming of GRE packets disabled
Last clearing of counters: Never
Last 300 seconds input: 0 bytes/sec, 0 packets/sec
Last 300 seconds output: 0 bytes/sec, 0 packets/sec
10 packets input, 840 bytes
0 input error
10 packets output, 840 bytes
0 output error
[AC2] display interface Tunnel 0
Tunnel0 current state: UP
Line protocol current state: UP
Description: Tunnel0 Interface
The Maximum Transmit Unit is 1456
Internet Address is 10.1.2.2/24 Primary
Encapsulation is TUNNEL, service-loopback-group ID is 1.
Tunnel source 2001::2:1, destination 2002::1:1
Tunnel protocol/transport GRE/IPv6
GRE key disabled
Checksumming of GRE packets disabled
Last clearing of counters: Never
Last 300 seconds input: 0 bytes/sec, 0 packets/sec
Last 300 seconds output: 0 bytes/sec, 0 packets/sec
10 packets input, 840 bytes
0 input error
10 packets output, 840 bytes
0 output error
# 从AC 2可以Ping通AC 1上VLAN接口100的地址。
[AC2] ping 10.1.1.1
PING 10.1.1.1: 56 data bytes, press CTRL_C to break
Reply from 10.1.1.1: bytes=56 Sequence=1 ttl=255 time=3 ms
Reply from 10.1.1.1: bytes=56 Sequence=2 ttl=255 time=2 ms
Reply from 10.1.1.1: bytes=56 Sequence=3 ttl=255 time=2 ms
Reply from 10.1.1.1: bytes=56 Sequence=4 ttl=255 time=2 ms
Reply from 10.1.1.1: bytes=56 Sequence=5 ttl=255 time=3 ms
--- 10.1.1.1 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 2/2/3 ms
GRE的配置相对比较简单,但要注意配置的一致性,大部分的错误都可以通过使用调试命令debugging gre和debugging tunnel定位。这里仅就一种错误进行分析,如图1-10所示。
图1-10 GRE排错示例
Tunnel两端接口配置正确且Tunnel两端可以ping通,但Host A和Host B之间却无法ping通。
可以按照如下步骤进行:
(1) 在任意视图下,在Device A和Device C分别执行display ip routing-table命令,观察在Device A是否有经过Tunnel0接口到10.2.0.0/16的路由;在Device C是否有经过Tunnel0接口到10.1.0.0/16的路由。
(2) 如果在上一步的输出中发现缺少相应的静态路由,在系统视图下使用ip route-static命令添加。以Device A为例,配置如下:
[DeviceA] ip route-static 10.2.0.0 255.255.0.0 tunnel 0
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!