《深入解析IPv6(第3版)》——10.4 Windows的IPv6协议的静态路由

本文涉及的产品
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介:

本节书摘来自异步社区《深入解析IPv6(第3版)》一书中的第10章,第10.4节,作者: 【美】Joseph Davies 更多章节内容可以访问云栖社区“异步社区”公众号查看。

10.4 Windows的IPv6协议的静态路由

运行Windows Server 2012、Windows Server 2008 R2、Windows Server 2008、Windows 8、Windows 7和Windows Vista协议支持静态路由。可以用以下方法配置静态IPv6路由。

对于运行Windows Server 2012或Windows 8,可以使用Windows PowerShell命令行中的Set-NetRoute、Remove-NetRoute和Get-NetRoute命令。
对于运行Windows Server 2012、Windows Server 2008 R2、Windows Server 2008、Windows 8、Windows 7和Windows Vista的计算机,可以使用netsh interface ipv6命令行的命令。
对于运行Windows Server 2012、Windows Server 2008 R2、Windows Server 2008的计算机,可以使用路由和远程访问。
在实验室中使用这些命令建立静态路由的例子,请参见附录C。

10.4.1 用Windows PowerShell配置静态路由
要在Windows Server 2012和Windows 8的Windows PowerShell中创建静态路由,管理员必须在所需接口上通过下列命令来启用发送和通告:

Set-NetIPInterface -InterfaceAlias Name -AddressFamily IPv6 -Forwarding Enabled -Advertising Enabled

在默认情况下,所有IPv6接口的发送和通告都是禁用的。

例如,现在要将一台运行Windows Server 2012、名为ROUTER1的计算机配置为一台路由器。该ROUTER1有3个接口,分别名为Wired Ethernet Connection、Wired Ethernet Connection 2和Wired Ethernet Connection 3。Wired Ethernet Connection和Wired Ethernet Connection 2接口都和非主要子网连接。Wired Ethernet Connection 3接口则连接到了一个含有名为ROUTER2的相邻IPv6路由器的子网。图10-5所示为本示例的配置。


ad1f456216dacc68d3fdbbaf600183648039abb2

为了在Wired Ethernet Connection和Wired Ethernet Connection 2接口上启用发送与通告,并在Wired Ethernet Connection 3接口上启用发送,需要在ROUTER1上运行下列命令:

Set-NetIPInterface -InterfaceAlias "Wired Ethernet Connection" -AddressFamily IPv6 -Forwarding
Enabled -Advertising Enabled
Set-NetIPInterface -InterfaceAlias "Wired Ethernet Connection 2" -AddressFamily IPv6 -Forwarding
Enabled -Advertising Enabled
Set-NetIPInterface -InterfaceAlias "Wired Ethernet Connection 3" -AddressFamily IPv6 -Forwarding
Enabled

Wired Ethernet Connection 3接口所连接的子网已拥有通告路由器ROUTER2。

这些命令成功运行之后,ROUTER1会在两个非主要子网上使用Wired Ethernet Connection和Wired Ethernet Connection 2接口发送路由通告消息。然而,路由通告中不包含任何“前缀信息”或“路由信息”可选项(可以用于让所连接子网上的主机自动配置地址和路由)。为了通告“前缀信息”或“路由信息”可选项,必须配置ROUTER1,使它发布路由。

可以在Windows PowerShell中使用下述命令来添加一条路由,并将它发布出去:

Add-NetRoute -DestinationPrefix Prefix -InterfaceAlias Name -NextHop IPv6Address -AddressFamily IPv6 -Publish Yes -RouteMetric Metric

在默认情况下,没有下一跳地址(前缀在链路上),路由度量是自动判断出来的,路由条目也是不发布的。

例如,为了配置ROUTER1并在Wired Ethernet Connection上通告链路上的子网前缀2001:db8:0:1::/64,同时在Wired Ethernet Connection 2上通告链路上的子网前缀2001:db8:0:2::/64,需要使用如下命令:

Add-NetRoute -DestinationPrefix 2001:db8:0:1::/64 -InterfaceAlias "Wired Ethernet Connection"
-AddressFamily IPv6 -Publish Yes
Add-NetRoute -DestinationPrefix 2001:db8:0:2::/64 -InterfaceAlias "Wired Ethernet Connection 2"
-AddressFamily IPv6 -Publish Yes

通过配置在接口上通告出去的路由,其“前缀信息”可选项中的链路中(On-link)标记会被置位。如果链路中通告的路由前缀长度是64,ROUTER2就会将前缀信息可选项中的自治标记设置为允许主机创建无状态地址。注意,没有Add-NetRoute参数可以清除前缀信息可选项中的自治标记。

为了向主机提供到达通告路由器的直连子网的可达性,ROUTER1包含了一个子网前缀,这个子网前缀按“路由器通告”消息中的“路由器信息”可选项的要求,配置为在其他接口上发布。RFC 4191中描述了路由器信息可选项的用法。路由器信息可选项中的前缀会作为静态路由添加到接收方主机上,使接收方主机可以到达通告路由器直连的其他子网。例如,ROUTER1包含了前缀2001:db8:0:2::/64,该前缀会作为路由器通告中的“路由器信息”可选项在Wired Ethernet Connection上进行发送。同样,ROUTER1还包含了前缀2001:db8:0:1::/64,并将它作为路由器通告中的“路由器信息”选项在Wired Ethernet Connection 2上进行发送。

在这个配置环境中,ROUTER1不会将自己通告为默认路由器。在2001:db8:0:1::/64和2001:db8:0: 2::/64子网上的主机会自动配置地址并向它们的路由表添加路由,但是它们不会自动配置默认路由(::/0)。运行Windows系统的计算机不会将自己通告为默认路由器,除非计算机上配置了一条需要发布的默认路由。

为了将路由器配置为2001:db8:0:1::/64和2001:db8:0:2::/64子网上主机的默认路由器,必须在这台路由器上添加一条默认路由并且将它通告出去。例如,Wired Ethernet Connection 3的子网中包括了链路本地地址为fe80::2aa:ff:fe98:2ab1的ROUTER2。因此,需要在ROUTER1上运行如下命令,添加一条默认路由并将这条路由通告出去:

Add-NetRoute -DestinationPrefix ::/0 -InterfaceAlias "Wired Ethernet Connection 3" -NextHop
fe80::2aa:ff:fe98:2ab1 -AddressFamily IPv6 -Publish Yes

在运行命令之后,ROUTER1会在Wired Ethernet Connection和Wired Ethernet Connection 2上发送路由器生存时间字段为65535的路由器通告消息,表示这是具有最长生存时间的默认路由器。

上例中我们只使用了最有限的命令和可选项,来启用转发、通告行为,并对外通告路由。如需进一步了解使用命令Set-NetIPInterface 和 Add-NetRoute来配置高级IPv6路由器行为的内容,请参阅Windows PowerShell命令行提示符中以下命令的帮助。

注意,Netsh命令中没有可选项能够指定如下内容。

  • 路由器通告消息中的路由器生存时间字段:如果路由器将自己通告为默认路由器,IPv6则会将路由器生存时间设置为一个比默认路由选用生存时间和有效生存时间都小的值。如果这两个值都没有指定,Windows中的IPv6会将这个值设置为65535。
  • 路由器通告消息中的默认路由器优先级字段:IPv6将默认路由器优先级字段作为中等优先级并设置为0。
  • 路由器通告消息中的当前跳数限制字段:IPv6会将当前跳数限制字段设置为0,向发送主机表示路由器没有指定默认跳数限制值。
  • 在前缀信息可选项中清除自治标记:IPv6会将自治标记设置为0,这是为了告知接收方的主机,它们不应该根据通告的前缀来配置无状态地址。
  1. 10.4.2 用Netsh配置静态路由

为了用Netsh工具创建静态IPv6路由器,必须在所需接口上启用发送和通告。在某接口上启用发送和通告,可以使用下述命令来实现:

netsh interface ipv6 set interface InterfaceNameOrIndex forwarding=enabled advertise=enabled

在默认情况下,所有IPv6接口上的发送和通告都是禁用的。

例如,现在要将一台运行Windows Server 2008 R2、名为ROUTER1的计算机配置为一台路由器。该ROUTER1有3个接口,分别名为Local Area Connection、Local Area Connection 2和Local Area Connection 3。Local Area Connection和Local Area Connection 2接口都和非主要子网连接。Local Area Connection 3接口则连接到了一个含有名为ROUTER2的相邻IPv6路由器的子网。图10-6所示为本示例的配置。


5f066d1cb3712104feb3419a324324917ae93613

为了在Local Area Connection和Local Area Connection 2接口上启用发送与通告,并在Local Area Connection 3接口上启用发送,需要在ROUTER1上运行下列命令:

netsh interface ipv6 set interface "Local Area Connection"
forwarding=enabled advertise=enabled
netsh interface ipv6 set interface "Local Area Connection 2"
forwarding=enabled advertise=enabled
netsh interface ipv6 set interface "Local Area Connection 3" forwarding=enabled

Local Area Connection 3接口所连接的子网已拥有通告路由器ROUTER2。

这些命令成功运行之后,ROUTER1会在两个非主要子网上使用Local Area Connection和Local Area Connection 2接口发送路由通告消息。然而,路由通告中不包含任何“前缀信息”或“路由信息”可选项(可以用于让所连接子网上的主机自动配置地址和路由)。为了通告“前缀信息”或“路由信息”可选项,必须配置ROUTER1,使它发布路由。

可以使用下述命令来添加一条路由,并将它发布出去:

netsh interface ipv6 add route IPv6Address/PrefixLength interface=InterfaceNameOrIndex
nexthop=IPv6Address metric=Integer publish=yes

在默认情况下,没有下一跳地址(前缀在链路上),路由度量是自动判断出来的,路由条目也是不发布的。

例如,为了配置路由器1并在Local Area Connection上通告链路上的子网前缀2001:db8:0: 1::/64,同时在Local Area Connection 2上通告链路上的子网前缀2001:db8:0:2::/64,需要使用如下命令:

netsh interface ipv6 add route 2001:db8:0:1::/64 "Local Area Connection" publish=yes
netsh interface ipv6 add route 2001:db8:0:2::/64 "Local Area Connection 2" publish=yes

通过配置在接口上通告出去的路由,其“前缀信息”可选项中的链路中(On-link)标记会被置位。如果链路中通告的路由前缀长度是64,ROUTER2就会将前缀信息可选项中的自治标记设置为允许主机创建无状态地址。注意,没有参数可以清除前缀信息可选项中的自治 标记。

在ROUTER 1上添加如下命令可以添加一条默认路由,并将它通告出去:

netsh interface ipv6 add route ::/0 "Local Area Connection 3" nexthop=fe80::2aa:
ff:fe98:2ab1 publish=yes

在运行命令之后,ROUTER1会在Local Area Connection和Local Area Connection 2上发送路由器生存时间字段为65535的路由器通告消息,表示这是具有最长生存时间的默认路由器。

上例中我们只使用了最有限的Netsh命令和可选项,来启动转发、通告行为,并对外通告路由。

注意,Netsh命令中没有可选项能够指定如下内容。

  • 路由器通告消息中的路由器生存时间字段:如果路由器将自己通告为默认路由器,IPv6则会将路由器生存时间设置为一个比默认路由选用生存时间和有效生存时间都小的值。如果这两个值都没有指定,Windows中的IPv6会将这个值设置为65535。
  • 路由器通告消息中的默认路由器优先级字段:IPv6将默认路由器优先级字段作为中等优先级并设置为0。
  • 路由器通告消息中的当前跳数限制字段:IPv6会将当前跳数限制字段设置为0,向发送主机表示路由器没有指定默认跳数限制值。
  • 在前缀信息可选项中清除自治标记:IPv6会将自治标记设置为0,这是为了告知接收方的主机,它们不应该根据通告的前缀来配置无状态地址。

10.4.3 使用路由和远程访问来配置静态路由
在运行Windows Server 2012、Windows Server 2008 R2或Windows Server 2008的计算机中,可以使用路由和远程访问管理单元来启用IPv6路由并配置静态IPv6路由。

如需启用对IPv6路由的支持,可执行如下操作。

1.在“路由和远程访问”管理单元的控制台树中,右键单击服务器名称,然后单击“属性”(Properties)。

2.在“常规”(General)选项卡中,单击“IPv6路由器”(IPv6 Router),然后选择“仅局域网路由”(Local Area Network[LAN] Routing Only)或“LAN和按需拨号路由”(LAN And Demand-Dial Routing)。

3.单击“确定”(OK)按钮。

如需添加静态IPv6路由,可执行如下操作。

1.在路由和远程访问管理单元的控制台树,打开IPv6。

2.右键单击“静态路由”(Static Routes),然后单击“新建静态路由”(New Static Route)。

3.在“IPv6静态路由”(IPv6 Static Route)对话框中,选择接口并输入目的地址、前缀长度、网关(下一跳IPv6地址)以及静态路由的度量(metric)。对于按需拨号路由,也可以选中“使用此路由来初始化按需拨号连接”(Use this route to initiate demand-dial Connections)复选框,这可以为匹配路由的流量启动按需拨号连接。图10-6所示为IPv6静态路由对话框的示例。

4.单击“确定”铵钮。

5.若要设置其他IPv6静态路由,则重复第2步~第4步。

如需修改“路由与远程访问”管理单元中现有的IPv6静态路由,在详细窗格右键单击路由并单击“属性”。如需删除“路由与远程访问”管理单元中现存的IPv6静态路由,在详细窗格中右键单击路由并单击“删除”按钮。


348192b9e10550e986cb1ee2abe0264b63b2e551
相关文章
|
1月前
|
存储 缓存 网络协议
DNS协议详解
通过本文,您可以全面了解DNS协议的各个方面,从而更好地理解和应用这一重要的互联网基础服务。
121 44
|
6月前
|
域名解析 存储 网络协议
深入解析网络通信关键要素:IP 协议、DNS 及相关技术
本文详细介绍了IP协议报头结构及其各字段的功能,包括版本、首部长度、服务类型、总长度、标识、片偏移、标志、生存时间(TTL)、协议、首部检验和等内容。此外,还探讨了IP地址的网段划分、特殊IP地址的应用场景,以及路由选择的大致流程。最后,文章简要介绍了DNS协议的作用及其发展历史,解释了域名解析系统的工作原理。
227 5
深入解析网络通信关键要素:IP 协议、DNS 及相关技术
|
5月前
|
XML JSON API
ServiceStack:不仅仅是一个高性能Web API和微服务框架,更是一站式解决方案——深入解析其多协议支持及简便开发流程,带您体验前所未有的.NET开发效率革命
【10月更文挑战第9天】ServiceStack 是一个高性能的 Web API 和微服务框架,支持 JSON、XML、CSV 等多种数据格式。它简化了 .NET 应用的开发流程,提供了直观的 RESTful 服务构建方式。ServiceStack 支持高并发请求和复杂业务逻辑,安装简单,通过 NuGet 包管理器即可快速集成。示例代码展示了如何创建一个返回当前日期的简单服务,包括定义请求和响应 DTO、实现服务逻辑、配置路由和宿主。ServiceStack 还支持 WebSocket、SignalR 等实时通信协议,具备自动验证、自动过滤器等丰富功能,适合快速搭建高性能、可扩展的服务端应用。
298 3
|
3月前
|
网络协议 安全 网络安全
探索网络模型与协议:从OSI到HTTPs的原理解析
OSI七层网络模型和TCP/IP四层模型是理解和设计计算机网络的框架。OSI模型包括物理层、数据链路层、网络层、传输层、会话层、表示层和应用层,而TCP/IP模型则简化为链路层、网络层、传输层和 HTTPS协议基于HTTP并通过TLS/SSL加密数据,确保安全传输。其连接过程涉及TCP三次握手、SSL证书验证、对称密钥交换等步骤,以保障通信的安全性和完整性。数字信封技术使用非对称加密和数字证书确保数据的机密性和身份认证。 浏览器通过Https访问网站的过程包括输入网址、DNS解析、建立TCP连接、发送HTTPS请求、接收响应、验证证书和解析网页内容等步骤,确保用户与服务器之间的安全通信。
199 3
|
4月前
|
监控 网络协议 网络性能优化
网络通信的核心选择:TCP与UDP协议深度解析
在网络通信领域,TCP(传输控制协议)和UDP(用户数据报协议)是两种基础且截然不同的传输层协议。它们各自的特点和适用场景对于网络工程师和开发者来说至关重要。本文将深入探讨TCP和UDP的核心区别,并分析它们在实际应用中的选择依据。
118 3
|
3月前
|
传感器
Modbus协议深入解析
Modbus协议是由Modicon公司(现施耐德电气)于1979年发明的串行通信协议,主要用于工业自动化系统中的PLC通信。本文深入解析了Modbus协议的主从模式、数据类型(线圈、离散输入、保持寄存器、输入寄存器)、帧结构和通信过程,并介绍了其应用场景和重要性。
103 0
|
4月前
|
网络协议 网络安全 网络虚拟化
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算。通过这些术语的详细解释,帮助读者更好地理解和应用网络技术,应对数字化时代的挑战和机遇。
223 3
|
4月前
|
负载均衡 网络协议 算法
OSPF与其他IGP协议的比较:全面解析与应用场景
OSPF与其他IGP协议的比较:全面解析与应用场景
106 0
|
5月前
|
网络协议 定位技术 Windows
Windows Server 2019 DNS服务器搭建
Windows Server 2019 DNS服务器搭建
167 1
|
6月前
|
前端开发 JavaScript 安全
深入解析 http 协议
HTTP(超文本传输协议)不仅用于传输文本,还支持图片、音频和视频等多种类型的数据。当前广泛使用的版本为 HTTP/1.1。HTTPS 可视为 HTTP 的安全增强版,主要区别在于添加了加密层。HTTP 请求和响应均遵循固定格式,包括请求行/状态行、请求/响应头、空行及消息主体。URL(统一资源定位符)用于标识网络上的资源,其格式包含协议、域名、路径等信息。此外,HTTP 报头提供了附加信息,帮助客户端和服务端更好地处理请求与响应。状态码则用于指示请求结果,如 200 表示成功,404 表示未找到,500 表示服务器内部错误等。
139 0
深入解析 http 协议

热门文章

最新文章

推荐镜像

更多