使用netsh在v4/v6网络和应用程序之间实现互访
在v4/v6互通转换方面,一些简单有效的东西却往往被忽视。
使用netsh,在不对应用本身做改动的前提下,可以实现几乎所有v4、v6应用的快速互访。
以下内容来源于:http://technet.microsoft.com/zh-cn/library/cc776297(WS.10).aspx
用于接口 Portproxy 的 Netsh 命令
对于在 IPv4 和 IPv6 网络和应用程序之间充当代理的管理服务器,Netsh Interface Portproxy 命令为它们提供了可在其中使用的命令行工具。可以按以下方式使用这些命令来建立代理服务:
- 将配置了 IPv4 的计算机和应用程序消息发送到其他配置了 IPv4 的计算机和应用程序。
- 将配置了 IPv4 的计算机和应用程序消息发送到配置了 IPv6 的计算机和应用程序。
- 将配置了 IPv6 的计算机和应用程序消息发送到配置了 IPv4 的计算机和应用程序。
- 将配置了 IPv6 的计算机和应用程序消息发送到其他配置了 IPv6 的计算机和应用程序。
当使用这些命令编写批处理文件或脚本时,每个命令必须以 netsh interface portproxy 开头。例如,使用 delete v4tov6 命令来指定 portproxy 服务器从该服务器所侦听的 IPv4 地址列表中删除 IPv4 端口和地址时,该批处理文件或脚本必须使用以下语法:
netsh interface portproxy delete v4tov6listenport= {Integer | ServiceName} [[listenaddress=] {IPv4Address| HostName}] [[protocol=]tcp]
可以从 Windows Server 2003 家族产品的命令提示符下,或从 Netsh interface portproxy 上下文的命令提示符下运行这些命令。对于在 Windows Server 2003 家族产品的命令提示符下运行的这些命令,必须在按照下面的语法键入命令和参数之前键入 netsh interface portproxy。Windows 2000 和 Windows Server 2003 家族中的 Netsh 上下文命令之间可能存在功能性差异。
有关 Netsh 的详细信息,请参阅Netsh 概述和输入 netsh 上下文。
若要查看该命令语法,请单击以下命令:
add v4tov4
add v4tov6
add v6tov4
add v6tov6
delete v4tov4
delete v4tov6
delete v6tov4
delete v6tov6
reset
set v4tov4
set v4tov6
set v6tov4
set v6tov6
show all
show v4tov4
show v4tov6
show v6tov4
show v6tov6
add v4tov4
指定 portproxy 服务器侦听发送到指定端口和 IPv4 地址的消息,并映射一个端口和 IPv4 地址,以便向该端口和地址发送在建立独立的 TCP 连接之后所收到的消息。
语法
add v4tov4listenport= {Integer | ServiceName} [[connectaddress=] {IPv4Address | HostName}] [[connectport=] {Integer | ServiceName}] [[listenaddress=] {IPv4Address| HostName}] [[protocol=]tcp]
参数
- listenport
- 必需。按端口号或服务名指定要侦听的 IPv4 端口。
- connectaddress
- 指定要连接的 IPv4 地址。可接受的值为 IP 地址、计算机 NetBIOS 名称或计算机 DNS 名称。如果未指定地址,则默认设置为本地计算机。
- connectport
- 按端口号或服务名指定要连接的 IPv4 端口。如果未指定 connectport,则默认设置为本地计算机上的 listenport 值。
- listenaddress
- 指定要侦听的 IPv4 地址。可接受的值为 IP 地址、计算机 NetBIOS 名称或计算机 DNS 名称。如果未指定地址,则默认设置为本地计算机。
- protocol
- 指定要使用的协议。当前仅支持传输控制协议 (TCP)。
- /?
- 在命令提示符下显示帮助。
add v4tov6
指定 portproxy 服务器侦听发送到指定端口和 IPv4 地址的消息,并映射一个端口和 IPv6 地址,以便向该端口和地址发送在建立独立的 TCP 连接之后所收到的消息。
语法
add v4tov6listenport= {Integer | ServiceName} [[connectaddress=] {IPv6Address | HostName}] [[connectport=] {Integer | ServiceName}] [[listenaddress=] {IPv4Address| HostName}] [[protocol=]tcp]
参数
- listenport
- 必需。按端口号或服务名指定要侦听的 IPv4 端口。
- connectaddress
- 指定要连接的 IPv6 地址。可接受的值为 IP 地址、计算机 NetBIOS 名称或计算机 DNS 名称。如果未指定地址,则默认设置为本地计算机。
- connectport
- 按端口号或服务名指定要连接的 IPv6 端口。如果未指定 connectport,则默认设置为本地计算机上的 listenport 值。
- listenaddress
- 指定要侦听的 IPv4 地址。可接受的值为 IP 地址、计算机 NetBIOS 名称或计算机 DNS 名称。如果未指定地址,则默认设置为本地计算机。
- protocol
- 指定要使用的协议。当前仅支持 TCP 协议。
- /?
- 在命令提示符下显示帮助。
add v6tov4
指定 portproxy 服务器侦听发送到指定端口和 IPv6 地址的消息,并映射一个端口和 IPv4 地址,以便向该端口和地址发送在建立独立的 TCP 连接之后所收到的消息。
语法
add v6tov4listenport= {Integer | ServiceName} [[connectaddress=] {IPv4Address | HostName}] [[connectport=] {Integer | ServiceName}] [[listenaddress=] {IPv6Address| HostName}] [[protocol=]tcp]
参数
- listenport
- 必需。按端口号或服务名指定要侦听的 IPv6 端口。
- connectaddress
- 指定要连接的 IPv4 地址。可接受的值为 IP 地址、计算机 NetBIOS 名称或计算机 DNS 名称。如果未指定地址,则默认设置为本地计算机。
- connectport
- 按端口号或服务名指定要连接的 IPv4 端口。如果未指定 connectport,则默认设置为本地计算机上的 listenport 值。
- listenaddress
- 指定要侦听的 IPv6 地址。可接受的值为 IP 地址、计算机 NetBIOS 名称或计算机 DNS 名称。如果未指定地址,则默认设置为本地计算机。
- protocol
- 指定要使用的协议。当前仅支持 TCP 协议。
- /?
- 在命令提示符下显示帮助。
add v6tov6
指定 portproxy 服务器侦听发送到指定端口和 IPv6 地址的消息,并映射一个端口和 IPv6 地址,以便向该端口和地址发送在建立独立的 TCP 连接之后所收到的消息。
语法
add v6tov6listenport= {Integer | ServiceName} [[connectaddress=] {IPv6Address | HostName}] [[connectport=] {Integer | ServiceName}] [[listenaddress=] {IPv6Address| HostName}] [[protocol=]tcp]
参数
- listenport
- 必需。按端口号或服务名指定要侦听的 IPv6 端口。
- connectaddress
- 指定要连接的 IPv6 地址。可接受的值为 IP 地址、计算机 NetBIOS 名称或计算机 DNS 名称。如果未指定地址,则默认设置为本地计算机。
- connectport
- 按端口号或服务名指定要连接的 IPv6 端口。如果未指定 connectport,则默认设置为本地计算机上的 listenport 值。
- listenaddress
- 指定要侦听的 IPv6 地址。可接受的值为 IP 地址、计算机 NetBIOS 名称或计算机 DNS 名称。如果未指定地址,则默认设置为本地计算机。
- protocol
- 指定要使用的协议。当前仅支持 TCP 协议。
- /?
- 在命令提示符下显示帮助。
delete v4tov4
指定 portproxy 服务器从它侦听的 IPv4 端口和地址列表中删除 IPv4 地址。
语法
delete v4tov4listenport= {Integer | ServiceName} [[listenaddress=] {IPv4Address| HostName}] [[protocol=]tcp]
参数
- listenport
- 必需。指定要删除的 IPv4 端口。
- listenaddress
- 指定要删除的 IPv4 地址。如果未指定地址,则默认设置为本地计算机。
- protocol
- 指定要使用的协议。当前仅支持 TCP 协议。
- /?
- 在命令提示符下显示帮助。
delete v4tov6
指定 portproxy 服务器从它侦听的 IPv4 地址列表中删除 IPv4 端口和地址。
语法
delete v4tov6listenport= {Integer | ServiceName} [[listenaddress=] {IPv4Address| HostName}] [[protocol=]tcp]
参数
- listenport
- 必需。指定要删除的 IPv4 端口。
- listenaddress
- 指定要删除的 IPv4 地址。如果未指定地址,则默认设置为本地计算机。
- protocol
- 指定要使用的协议。当前仅支持 TCP 协议。
- /?
- 在命令提示符下显示帮助。
delete v6tov4
指定 portproxy 服务器从它侦听的 IPv6 地址列表中删除 IPv6 端口和地址。
语法
delete v6tov4listenport= {Integer | ServiceName} [[listenaddress=] {IPv6Address| HostName}] [[protocol=]tcp]
参数
- listenport
- 必需。指定要删除的 IPv6 端口。
- listenaddress
- 指定要删除的 IPv6 地址。如果未指定地址,则默认设置为本地计算机。
- protocol
- 指定要使用的协议。当前仅支持 TCP 协议。
- /?
- 在命令提示符下显示帮助。
delete v6tov6
指定 portproxy 服务器从它侦听的 IPv6 地址列表中删除 IPv6 地址。
语法
delete v6tov6listenport= {Integer | ServiceName} [[listenaddress=] {IPv6Address| HostName}] [[protocol=]tcp]
参数
- listenport
- 必需。指定要删除的 IPv6 端口。
- listenaddress
- 指定要删除的 IPv6 地址。如果未指定地址,则默认设置为本地计算机。
- protocol
- 指定要使用的协议。当前仅支持 TCP 协议。
- /?
- 在命令提示符下显示帮助。
reset
重设 IPv6 配置状态。
语法
reset
set v4tov4
修改使用 add v4tov4 命令创建的 portproxy 服务器上的现有项的参数值,或将新项添加到映射端口/地址对的列表中。
语法
set v4tov4listenport= {Integer | ServiceName} [[connectaddress=] {IPv4Address | HostName}] [[connectport=] {Integer | ServiceName}] [[listenaddress=] {IPv4Address| HostName}] [[protocol=]tcp]
参数
- listenport
- 必需。按端口号或服务名指定要侦听的 IPv4 端口。
- connectaddress
- 指定要连接的 IPv4 地址。可接受的值为 IP 地址、计算机 NetBIOS 名称或计算机 DNS 名称。如果未指定地址,则默认设置为本地计算机。
- connectport
- 按端口号或服务名指定要连接的 IPv4 端口。如果未指定 connectport,则默认设置为本地计算机上的 listenport 值。
- listenaddress
- 指定要侦听的 IPv4 地址。可接受的值为 IP 地址、计算机 NetBIOS 名称或计算机 DNS 名称。如果未指定地址,则默认设置为本地计算机。
- protocol
- 指定要使用的协议。当前仅支持传输控制协议 (TCP)。
- /?
- 在命令提示符下显示帮助。
注释
- 您可以更改现有的端口代理服务器条目的任何参数值。如果未提供值,则不作任何更改。
set v4tov6
修改使用 add v6tov6 命令创建的 portproxy 服务器上的现有项的参数值,或将新项添加到映射端口/地址对的列表中。
语法
set v4tov6listenport= {Integer | ServiceName} [[connectaddress=] {IPv6Address | HostName}] [[connectport=] {Integer | ServiceName}] [[listenaddress=] {IPv4Address| HostName}] [[protocol=]tcp]
参数
- listenport
- 必需。按端口号或服务名指定要侦听的 IPv4 端口。
- connectaddress
- 指定要连接的 IPv6 地址。可接受的值为 IP 地址、计算机 NetBIOS 名称或计算机 DNS 名称。如果未指定地址,则默认设置为本地计算机。
- connectport
- 按端口号或服务名指定要连接的 IPv6 端口。如果未指定 connectport,则默认设置为本地计算机上的 listenport 值。
- listenaddress
- 指定要侦听的 IPv4 地址。可接受的值为 IP 地址、计算机 NetBIOS 名称或计算机 DNS 名称。如果未指定地址,则默认设置为本地计算机。
- protocol
- 指定要使用的协议。当前仅支持 TCP 协议。
- /?
- 在命令提示符下显示帮助。
注释
- 您可以更改现有的端口代理服务器条目的任何参数值。如果未提供值,则不作任何更改。
set v6tov4
修改使用 add v6tov4 命令创建的 portproxy 服务器上的现有项的参数值,或将新项添加到映射端口/地址对的列表中。
语法
set v6tov4listenport= {Integer | ServiceName} [[connectaddress=] {IPv4Address | HostName}] [[connectport=] {Integer | ServiceName}] [[listenaddress=] {IPv6Address| HostName}] [[protocol=]tcp]
参数
- listenport
- 必需。按端口号或服务名指定要侦听的 IPv6 端口。
- connectaddress
- 指定要连接的 IPv4 地址。可接受的值为 IP 地址、计算机 NetBIOS 名称或计算机 DNS 名称。如果未指定地址,则默认设置为本地计算机。
- connectport
- 按端口号或服务名指定要连接的 IPv4 端口。如果未指定 connectport,则默认设置为本地计算机上的 listenport 值。
- listenaddress
- 指定要侦听的 IPv6 地址。可接受的值为 IP 地址、计算机 NetBIOS 名称或计算机 DNS 名称。如果未指定地址,则默认设置为本地计算机。
- protocol
- 指定要使用的协议。当前仅支持 TCP 协议。
- /?
- 在命令提示符下显示帮助。
注释
- 您可以更改现有的端口代理服务器条目的任何参数值。如果未提供值,则不作任何更改。
set v6tov6
修改使用 add v6tov6 命令创建的 portproxy 服务器上的现有项的参数值,或将新项添加到映射端口/地址对的列表中。
语法
set v6tov6listenport= {Integer | ServiceName} [[connectaddress=] {IPv6Address | HostName}] [[connectport=] {Integer | ServiceName}] [[listenaddress=] {IPv6Address| HostName}] [[protocol=]tcp]
参数
- listenport
- 必需。按端口号或服务名指定要侦听的 IPv6 端口。
- connectaddress
- 指定要连接的 IPv6 地址。可接受的值为 IP 地址、计算机 NetBIOS 名称或计算机 DNS 名称。如果未指定地址,则默认设置为本地计算机。
- connectport
- 按端口号或服务名指定要连接的 IPv6 端口。如果未指定 connectport,则默认设置为本地计算机上的 listenport 值。
- listenaddress
- 指定要侦听的 IPv6 地址。可接受的值为 IP 地址、计算机 NetBIOS 名称或计算机 DNS 名称。如果不指定地址,则默认设置是本地计算机。
- protocol
- 指定要使用的协议。当前仅支持 TCP 协议。
- /?
- 在命令提示符下显示帮助。
注释
- 您可以更改现有的端口代理服务器条目的任何参数值。如果未提供值,则不作任何更改。
show all
显示所有 portproxy 参数,包括 v4tov4、v4tov6、v6tov4 和 v6tov6 的端口/地址对。
语法
show all
show v4tov4
显示 v4tov4 portproxy 参数。
语法
show v4tov4
show v4tov6
显示 v4tov6 portproxy 参数。
语法
show v4tov6
show v6tov4
格式图例
| 格式 | 意义 |
|---|---|
| 斜体 | 用户必须提供的信息 |
| 粗体 | 用户必须像显示的一样准确键入的元素 |
| 省略号 (…) | 可在命令行中重复多次的参数 |
| 在括号 ([]) 之间 | 可选项目 |
| 在大括号 ({}) 之间;将选项用管线 (|) 隔开。例如:{even|odd} | 用户必须从中只选择一个选项的选项组 |
Courier font |
代码或程序输出 |