努力
加油

没有图形界面的 Windows Server 2019 怎么设置网络?

在 Windows Server 2019 的无图形界面(Server Core)环境下,设置网络主要依赖命令行工具。微软官方推荐且最稳定的方式是使用 PowerShell,当然也可以使用传统的 netsh 命令。

以下是两种主流方法的详细操作步骤,建议优先使用 PowerShell 方法,因为它更符合现代运维规范,支持远程执行和脚本化。

方法一:使用 PowerShell(推荐)

这是最灵活、最现代的方式。你可以直接通过服务器控制台输入命令,或者通过 WinRM 远程连接后执行。

1. 查看当前网卡信息

首先,你需要知道网卡的名称或索引号。通常“以太网”是默认名称,但为了准确起见,先查询一下:

Get-NetAdapter

输出结果中会显示 Name(如 Ethernet)、Status(Up/Down)和 InterfaceIndex(索引号,如 2)。记住你的网卡名称或索引号。

2. 配置静态 IP 地址

假设你要设置的网卡名为 Ethernet,IP 为 192.168.1.100,子网掩码为 24(即 255.255.255.0),网关为 192.168.1.1,DNS 首选为 8.8.8.8,备用为 114.114.114.114。

执行以下命令:

# 设置静态 IP 和子网掩码
New-NetIPAddress -InterfaceAlias "Ethernet" -IPAddress "192.168.1.100" -PrefixLength 24 -DefaultGateway "192.168.1.1"

# 设置 DNS 服务器
Set-DnsClientServerAddress -InterfaceAlias "Ethernet" -ServerAddresses ("8.8.8.8", "114.114.114.114")

注意:如果网卡名称包含空格(如 “Ethernet 2″),请使用双引号包裹名称,或使用 -InterfaceIndex 参数代替 -InterfaceAlias。

3. 验证配置

Get-NetIPAddress -InterfaceAlias "Ethernet"
Get-DnsClientServerAddress -InterfaceAlias "Ethernet"

方法二:使用 netsh 命令(传统方式)

如果你更熟悉 CMD 环境,或者需要在批处理脚本中使用,netsh 依然有效。

1. 查看网卡列表

netsh interface ipv4 show interfaces

记下网卡的名称(如 Ethernet)和索引号。

2. 配置静态 IP

netsh interface ipv4 set address name="Ethernet" static 192.168.1.100 255.255.255.0 192.168.1.1

3. 配置 DNS

netsh interface ipv4 set dns name="Ethernet" static 8.8.8.8 primary
netsh interface ipv4 add dns name="Ethernet" 114.114.114.114 index=2

4. 验证

ipconfig /all

常见问题与注意事项

  1. 网卡名称识别:

    • 在无 GUI 环境中,网卡名称可能不是直观的 “Ethernet”。如果是虚拟机(如 VMware、Hyper-V、阿里云 ECS 等),有时会被命名为 “vEthernet (Internal Switch)” 或其他自定义名称。务必先用 Get-NetAdapter 或 netsh interface ipv4 show interfaces 确认准确名称。
    • 如果网卡名称中有空格,PowerShell 中必须用双引号包裹,例如 "Ethernet 2"。
  2. DHCP 切换回动态获取:

    # PowerShell
    Set-NetIPInterface -InterfaceAlias "Ethernet" -Dhcp Enabled
    Set-DnsClientServerAddress -InterfaceAlias "Ethernet" -ResetServerAddresses
    
    # netsh
    netsh interface ipv4 set address name="Ethernet" dhcp
    netsh interface ipv4 set dns name="Ethernet" dhcp
  3. 防火墙影响:
    修改网络后,确保 Windows 防火墙允许必要的端口(如 RDP 3389、WinRM 5985/5986)。在无 GUI 环境下,你无法通过图形界面调整防火墙规则,需提前通过组策略或初始部署脚本开放所需端口。

  4. 重启网络服务:
    一般情况下,上述命令立即生效,无需重启。但如果遇到网络不通,可以尝试重置 TCP/IP 栈:

    netsh int ip reset
    netsh winsock reset

    然后重启服务器。

  5. 远程管理建议:
    如果你是通过 SSH(需安装 OpenSSH Server)或 WinRM 远程连接到 Server Core,建议在修改 IP 前保存好当前会话的连接凭证,因为 IP 变更可能导致当前连接中断。最好先在本地控制台或通过带外管理(如 iDRAC、ILO、云厂商 VNC)进行操作。


总结

对于 Windows Server 2019 Server Core 环境:

  • 日常运维:推荐使用 Get-Net* 和 Set-Net* 系列 PowerShell cmdlet,语义清晰,易于自动化。
  • 兼容脚本:使用 netsh,适用于旧版脚本或 CMD 环境。
  • 关键点:始终先确认网卡名称/索引,再执行配置命令,最后验证连通性。

以上方法适用于所有主流云平台(阿里云、腾讯云、华为云等)提供的 Windows Server 2019 实例,也适用于物理机和虚拟化平台。