cmd第17章 TCP/IP网络的配置、管理与故障排除
cmd第17章 TCP/IP网络的配置、管理与故障排除
17.1 使用网络服务Shell
网络服务shell(Netsh)是一款命令行脚本工具,可用于管理本地与远程计算机上多种网络服务。Netsh提供了一个单独的命令提示符,可以在交互模式或非交互模式下使用。
17.1.1 操作Netsh上下文
在交互模式下,键入netsh,之后指定待操作网络服务的上下文名称。可用的上下文与子上下文依赖于计算机上已安装的角色服务、角色与功能。关键的上下文名称及其含义如下所示。
- advfirewall。高级防火墙,该上下文用于管理与监控Windows高级安全防火墙。
- bridge。网桥,该上下文用于激活或禁用网桥的传输层(OSI模型第3层)兼容模式,也可用于查看网桥的配置设置。
- dhcp。动态主机配置协议(DHCP),该上下文用于查看与管理DHCP服务器。
- dhcpclient。DHCP客户端,该上下文用于激活或禁用对DHCP的追踪。
- firewall。Windows防火墙,该上下文用于管理Windows防火墙允许的程序、防火墙端口、日志、通告或其他方面。
- http。超文本传输协议(HTTP),该上下文用于管理HTTP监听器。
- interface ipv4。Interface ip版本4(IPv4),该上下文用于查看与管理计算机的IPv4网络配置。要注意的是,很多IPv4只有在本地才是可用的。
- interface ipv6。
- interface portproxy。
- ipsec。
- lan。
- nap client。
- nap hra。
- netio。
- ras。
- ras aaaa。
- ras dianostics。
- routing。路由,该上下文用于管理路由服务,且与路由与远程访问服务器一起使用。
- rpc。远程过程调用(RPC)帮助者,该上下文用于查看与管理计算机上配置的IP地址接口设置与IP子网地址。只有工作在本地时,该上下文才是可用的。
- rpc filter。
- winhttp。
- wins。Windows internet域名服务(WINS),该上下文用于查看与管理WINS服务器设置。
- winsock。Winsock,该上下文用于管理Winsock通信设置。
- wlan。无线LAN,该上下文用于管理无线网络设置。
17.1.2 操作远程计算机
你可以使用Netsh来操作远程计算机。如果需要交互式地操作远程计算机,可以使用-R参数,其后跟随远程计算机的IP地址或域名,比如:
netsh -r 192.168.10.15
或
netsh -r corpsvr02
操作远程计算机时,Netsh会在命令提示符中包含该计算机的IP地址或计算机名,比如:
[corsvr02] netsh>
上面的提示符表明,当前正在使用Netsh操作远程计算机CorpSvr02。通过如下的参数,可以指定必要的用户登录凭据。
- -u 指定不同的用户(以Domain\User或User的形式)登录到远程计算机,且只有在操作远程计算机时才是可用的。
- -p 为指定的用户设置口令。如果不设置口令,或使用“*”作为口令,则会看到提示符要求输入口令。操作远程计算机时,只有在指定了不同的登录用户时才会使用这一参数。
netsh -r fileserver25 -u cpand\williams -p *
如果需要以非交互式模式操作远程计算机,则必须使用如下的语法格式:
netsh -c "interface ipv4" -r corpsvr02 show interfaces
上面的实例中,使用Interface IPv4这一上下文获取CorpSvr02上已配置的网络接口列表。要注意的是,这里不能使用RPC上下文完成这一任务,因为该上下文只能在本地计算机上使用。
17.1.3 操作脚本文件
操作远程计算机时,可以将该脚本存储在远程计算机可以访问的网络共享位置,之后远程登录并运行该脚本。也可以将该脚本直接复制到远程计算机,之后远程登录计算机并执行脚本。两种方式都可以正常工作,但都涉及到一些附加的步骤。幸运的时,还有一种更快捷地在远程计算机上运行脚本的方法。为此,必须对脚本做一些修改,并使用如下的语法格式。
netsh -c Content -r RemoteComputer -f Script
其中,Content为待操作上下文的标识符,RemoteComputer为远程计算机的计算机名或IP地址,Script为执行脚本的文件或网络路径。参考如下实例:
netsh -c "dhcp server" -r corsvr02 -f dhcpconfig.bat
17.2 管理TCP/IP设置
计算机使用IP地址并通过TCP/IP协议进行通信。Windows Vista与Windows 2008实现了双IP层体系结构,同时支持IPv4与IPv6,并共享通用的传输层与数据帧层。
17.2.1 配置IPv4
1. 设置静态IPv4地址
要指定IPv4地址,需要使用Interface IPv4上下文。命令为SET ADDRESS,语法格式如下:
set address [name=]InterfaceName source=static
address=IPAddress mask=SubnetMask [gateway={none |
DefaultGateway [[gwmetric=]GatewayMetric]}]
注解:如果计算机在指定的网络接口上已经配置了IPv4地址,则使用SET ADDRESS命令会替代原来设置的值。要为该网络接口添加地址而不是替换原来的地址,可以使用ADD ADDRESS命令。
在命令行中键入netsh interface ipv4 show addresses
,或者在Netsh Interface IPv4上下文中键入show address,可以查看可用的网络接口及其当前配置。
大多数情况下,需要操作的网络接口名称为“本地区域连接”。
网关metric指明了使用网关的相对路由成本。与GUI中不同的是,命令行中不会自动为网络指定metric,而必须对其进行手工指定。参考如下实例:
set address name="Local Area Connection" source=static
address=192.168.1.50 mask=255.255.255.0 gateway=192.168.1.1
gwmetric=1
2. 设置动态IPv4地址
其语法格式如下:
set address name=InterfaceName source=dhcp
参考如下实例:
set address name="Local Area Connection" source=dhcp
3. 添加IPv4地址与网关
在Netsh Interface IPv4上下文中,使用ADD ADDRESS命令,可以为单一网络适配器指定多个IPv4地址与网关,其语法格式与SET ADDRESS类似:
add address [name=]InterfaceName address=IPAddress
mask=SubnetMask [[gateway=]DefaultGateway [Gwmetric=]GatewayMetric]
参考如下实例:
add address name="Local Area Connection" address=192.168.2.12
mask=255.255.255.0 gateway=192.168.2.1 gwmetric=1
4. 设置IPv4地址使用的DNS服务器
配置静态的DNS地址
set dnsserver name="Local Area Connection" source=static address=192.168.1.56
配置从DHCPv4获取DNS地址
set dnsserver name="Local Area Connection" source=dhcp
5. 指定附加的DNS服务器
add dnsserver name="Local Area Connection" address=192.168.1.75
6. 设置WINS服务器
静态地址的WINS服务器
set winsserver name="Local Area Connection" source=static address=192.168.1.64
指定从DHCP获取WINS
set winsserver name="Local Area Connection" source=dhcp
7. 指定附加的WINS服务器
add winsserver name="Local Area Connection" address=192.168.1.155
17.3.2 检查IP地址与网络接口配置
在Windows命令行中,键入netsh ineterface ipv4 show global
,可以查看IPv4的全局配置信息。
使用netsh interface ipv4 show interfaces
命令,可以查看计算机上网络接口的摘要信息。