本节书摘来自异步社区《深入解析IPv6(第3版)》一书中的第2章,第2.5节,作者: 【美】Joseph Davies 更多章节内容可以访问云栖社区“异步社区”公众号查看。
不同于Windows XP和Windows Server 2003中的IPv6,Windows Server 2012、Windows Server 2008 R2、Windows Server 2008、Windows 8、Windows 7和Windows Vista中的IPv6协议已经被安装并且默认开启了。Windows的IPv6协议在设计时的目标就是实现自动配置。例如,能够自动配置用于链路上节点间通信的本地链路地址。如果主机子网中有一台IPv6路由器或存在一台ISATAP路由器,那么主机就可以使用接收到的路由器通告信息来自动配置其他的地址、默认路由器以及其他的配置参数了。
用户也可以通过如下方式在Windows中手动配置IPv6地址和其他参数。
2.5.1 通过Internet Protocol Version 6(TCP/IPv6)的属性来配置IPv6
通过“网络连接”文件夹来手动配置IPv6协议,可以按照如下步骤进行。
1.在网络连接文件夹中,右键单击要配置的连接或网络适配器,然后单击“属性”(Properties)选项。
2.在连接或网络适配器属性的“网络”(Networking)选项卡中,在“此连接使用下列项”(This Connection Use The Following Items)下的列表中双击Internet协议版本6(TCP/IPv6)。
Windows会显示“Internet协议版本6属性”(Internet Protocol Version 6 Properties)的对话框。图2-3所示即为该对话框的示例。
常规(General)选项卡
在“Internet协议版本6(TCP/IPv6)属性”对话框的“常规”选项卡中,可以进行如下配置。
高级TCP/IP设置(Advanced TCP/IP Setting)
在“常规”选项卡中,单击“高级”(Advanced)按钮就可以进入“高级TCP/IP设置”对话框。这个对话框非常类似于Internet协议版本4(TCP/IPv4)组件的“高级TCP/IP设置”对话框,两者的区别是这里没有WINS选项卡(IPv6并不使用NetBIOS和Windows Internet命名服务[WINS])和“选项”选项卡(TCP/IP过滤只适用于IPv4流量)。对于IPv6,“高级TCP/IP设置”对话框有“IP设置”(IP Settings)和“DNS”选项卡。图2-4所示为“IP设置”选项卡的示例。
在“IP设置”选项卡中,可以进行如下配置。
图2-5所示为DNS选项卡的示例。
在DNS选项卡中,用户可以配置以下内容。
DNS服务器的IPv6地址(单击DNS服务器地址,按使用顺序排列[DNS server addresses, in order of use]下的“添加”[Add]按钮)是按使用顺序排列的。
首选及指定连接的DNS后缀、域名注册和授权行为。这些设置和IPv4中的相同。
2.5.2 用Windows PowerShell配置IPv6
Windows 2012和Windows 8的Windows PowerShell命令行也可以对IPv6地址、默认网关和DNS服务器进行配置。
配置地址
配置IPv6地址可以使用命令New-NetIPAddress来实现。比如,如果要在名为“Wired Ethernet Connection”的接口上配置IPv6单播地址2001:db8:290c:1291::1,就要使用如下命令:
New-NetIPAddress –InterfaceAlias "Wired Ethernet Connection" –IPAddress 2001:db8:290c:1291::1
添加默认网关
配置默认网关可以使用命令New-NetRoute来实现。比如,如果要在名为“Wired Ethernet Connection”的接口上添加一条默认路由,即将下一条地址设置为fe80::2aa:ff:fe9a:21b8,就要使用如下命令:
New-NetRoute–DestinationPrefix::/0–InterfaceAlias "Wired Ethernet Connection" –NextHop fe80::2aa:ff:fe9a:21b8
添加DNS服务器
配置DNS服务器的IPv6地址可以使用命令Set-DnsClientServerAddress来实现。比如,如果要在名为“Wired Ethernet Connection”的接口上添加一个IPv6地址为2001:db8:99:4acd::8的DNS服务器,就要使用如下命令:
Set-DnsClientServerAddress -InterfaceAlias "Wired Ethernet Connection"
-ServerAddresses 2001:db8:99:4acd::8
注释
本节只会描述如何在Windows PowerShell命令行中通过命令来添加地址、默认网关和DNS服务器。除此之外,Windows PowerShell命令行还有很多其他用来配置IPv6设置和IPv6组件的命令。
2.5.3 用Netsh.exe工具配置IPv6
用户也可以通过在命令行中使用netsh interface ipv6形式的命令,来配置IPv6地址、默认网关和DNS服务器。
配置地址
配置IPv6地址可以使用命令netsh interface ipv6 add address来实现,该命令语法如下。
netsh interface ipv6 add address [interface=] Interface NameorIndex [address=] IPv6 Address [/PrefixLength] [[type=] unicast|anycast] [[validlifetime=] Time|infinite] [[preferredlifetime=] Time|infinite] [[store=] active|persistent]
例如,如果要在名为“Local Area Connection”的接口上配置IPv6单播地址2001:db8:290c:1291::1,让这个地址长期有效且处于被选用的状态,而且该地址在系统重启之后仍然保留,要使用如下命令:
netsh interface ipv6 add address "Local Area Connection" 2001:db8:290c:1291::1
添加默认网关
配置默认网关可以使用命令netsh interface ipv6 add route来实现,并添加一条默认路由(::/0),该命令语法如下。
netsh interface ipv6 add route [prefix=]::/0 [interface=] InterfaceNameorIndex [[nexthop=] IPv6Address] [[siteprefixlength=] Length] [[metric=] MetricValue] [[publish=]no|yes|immortal] [[validlifetime=]Time|infinite] [[preferredlifetime=]Time|infinite] [[store=]active|persistent]
例如,如果要在名为“Local Area Connection”的接口上添加一条默认路由,并将下一跳地址设置为fe80::2aa:ff:fe9a:21b8,要使用如下命令:
netsh interface ipv6 add route ::/0 "Local Area Connection" fe80::2aa:ff:fe9a:21b8
添加DNS服务器
配置DNS服务器的IPv6地址可以使用命令netsh interface ipv6 add dnsserver来实现,该命令语法如下。
netsh interface ipv6 add dnsserver [name=] Interface Name [[address=] IPv6Address] [[index=] Preference Value]
默认情况下,DNS服务器会被添加到DNS服务器列表的末尾。若指定了索引号,则DNS服务器会被放到列表中相应的位置,其他DNS服务器则相应后移。
例如,如果要在名为“Local Area Connection”的接口上添加一个IPv6地址为2001:db8:99:4acd::8的DNS服务器,要使用如下命令:
netsh interface ipv6 add dnsserver "Local Area Connection" 2001:db8:99:4acd::8
注释
本节只会描述如何使用Netsh命令来添加地址、默认网关和DNS服务器。除此之外,还有许多配置IPv6设置和IPv6组件的Netsh命令。如果读者需要全部的配置命令集,请参见Windows系统的“帮助”和“支持”。