IBM Cloud Docs
防御主机

防御主机

在此部署模式中,防御主机允许对其他服务器和应用程序进行外部管理访问。 它可通过浮动 IP 访问,安全组限制从已知 IP 地址或 CIDR 块访问 MS RDP 端口 TCP 3389。 浮动 IP 还允许防御主机访问因特网,以便可以下载文件。 您可能有另一种访问方法,即 Direct Link ,这意味着不需要防御主机。

本指南假定您:

  • 已根据您的需求创建 VPC 和子网。
  • 保留浮动 IP。
  • 已配置安全组。
  • 已上载 SSH 密钥。

本指南将逐步完成以下过程:

  • 订购虚拟服务器。
  • 正在连接到服务器。
  • 正在将所需文件下载到防御主机。
  • 创建 SMB 共享,以便可以从 SQL Server 访问下载的文件。
  • 安装 SQL Server Management Studio (SSMS) ,这是用于管理 SQL 基础结构的集成环境。
  • 加入域。 在 AD 任务完成之前,无法启动此任务。
  • 添加 PowerShell AD 模块。
  • 添加 PowerShell SQL 模块。
  • 配置 NTP 服务器。

订购虚拟服务器

以下规范的虚拟服务器适用于防御主机,可使用 使用 UI 创建虚拟服务器实例 中的指示信息进行订购

  • 概要文件: bx2-2x8
  • 类型: 公用
  • 操作系统: WIndows 2019
  • NIC 数量: 1
  • 数据卷:

连接到服务器

部署虚拟服务器后,您需要将浮动 IP 地址连接到该服务器,以便可以远程访问该服务器,请参阅 添加浮动 IP 地址

Refer to 连接到 Windows 实例 to access the Windows Administrator's password, however, in short the following commands are used from your laptop, where the instances command returns the <INSTANCE_ID> of the virtual server:

ibmcloud is instances
ibmcloud is instance-initialization-values <INSTANCE_ID> --private-key @~/.ssh/id_rsa

下载所需文件

在此部署模式中,我们正在使用应下载到防御主机的以下产品:

  • MS SQL Server Developer Edition ,可从 SQL Server 产品和资源下载。
  • SQL Server Management Studio (SSMS) ,可从 下载 SQL Server Management Studio (SSMS)下载。
  • Diskspd 是存储子系统测试工具,可从 DISKSPD 2.0.21a下载。
  • PowerShell 可以与 SQL Server 实例进行交互,但是需要安装一个模块。 如果此模块必须安装在非因特网连接的 SQL Server 上,请下载此模块。 请参阅 SqlServer 以获取更多详细信息。

您可能会发现 Windows 资源管理器有点难以下载文件,想要禁用 IE 增强安全配置:

function Disable-InternetExplorerESC {
    $AdminKey = "HKLM:\SOFTWARE\Microsoft\Active Setup\Installed Components\{A509B1A7-37EF-4b3f-8CFC-4F3A74704073}"
    $UserKey = "HKLM:\SOFTWARE\Microsoft\Active Setup\Installed Components\{A509B1A8-37EF-4b3f-8CFC-4F3A74704073}"
    Set-ItemProperty -Path $AdminKey -Name "IsInstalled" -Value 0
    Set-ItemProperty -Path $UserKey -Name "IsInstalled" -Value 0
    Stop-Process -Name Explorer
}
Disable-InternetExplorerESC

下载 SQL Server

SQL Server 下载必须以交互方式下载,因为它使用 Web 表单。 对于每个新安装的 Windows Server , Windows Explorer 安全设置不允许下载文件。

  1. 打开 Internet Explorer 的设置对话框并转至 "安全性" 选项卡。

  2. 选择 "定制级别" 按钮以打开设置列表。

  3. 向下滚动,直到找到 "下载" 部分,然后选中 "启用" 前面的单选按钮。

  4. 选择 "确定" 以保存设置并重新启动 Internet Explorer。

  5. 现在,您将能够下载文件。

    下载的文件 SQL2019-SSEI-Eval.exe 只是 "一个下载器" ,将从 Microsoft 下载实际安装介质。 此介质可以是 ISO 或 CAB。 在此示例中,我们下载了 CAB 介质,然后将其解压缩以获取更多信息,请查看帮助文档 C:\Users\Administrator\Downloads\SQL2019-SSEI-Eval.exe /Help。 输入以下命令以下载 CAB 介质并将其解压缩:

    C:\Users\Administrator\Downloads\SQL2019-SSEI-Eval.exe /ACTION=Download MEDIAPATH=C:\Users\Administrator\Downloads\SQL2019 /MEDIATYPE=CAB /QUIET
    C:\Users\Administrator\Downloads\SQL2019\SQLServer2019-x64-ENU.exe /q /x:C:\Users\Administrator\Downloads\SQL2019\Extracted
    

下载 SSMS

以下命令将 SSMS 下载到 C:\Users\Administrator\Downloads:

$client = new-object System.Net.WebClient
$client.DownloadFile("https://aka.ms/ssmsfullsetup","C:\Users\Administrator\Downloads\SSMS-Setup-ENU.exe")

下载 Diskspd

以下命令将 diskspd 下载到 C:\Users\Administrator \ Downloads ,并将 zip 文件展开到 C:\Users\Administrator\Downloads\DiskSpd:

$client = new-object System.Net.WebClient
$client.DownloadFile("https://github.com/microsoft/diskspd/releases/download/v2.0.21a/DiskSpd.zip","C:\Users\Administrator\Downloads\DiskSpd-2.0.21a.zip")
Expand-Archive -LiteralPath C:\Users\Administrator\Downloads\DiskSpd-2.0.21a.zip -DestinationPath C:\Users\Administrator\Downloads\DiskSpd

下载 PowerShell SQL Server 模块

如果要在未连接因特网的 SQL Server 上安装该模块,请使用以下命令从 PowerShell 提示符 Save-Module -Name SQLServer -LiteralPath C:\Users\Administrator\Downloads\ 将该模块下载到防御主机

创建 SMB 共享

以下 PowerShell 命令用于完成以下操作:

  • 检查以查看 SMB2的状态,通常此协议在虚拟服务器映像中处于禁用状态。 如果禁用了此功能,那么可以启用此功能,因为 SMB 需要此功能才能运行。

  • 将创建本地用户 <smbuser> 以远程访问共享。 在 <password>处插入所需的密码。

  • 共享 C:\Users\Administrator \ Downloads 目录。

    $user = "<smbuser>"
    $password = "<password>"
    Get-SmbServerConfiguration | Select EnableSMB2Protocol
    Set-SmbServerConfiguration -EnableSMB2Protocol $true -Force
    $secpassword = ConvertTo-SecureString $password -AsPlainText -Force
    New-LocalUser $user -Password $secpassword -FullName "Share User" -Description "User for SMB share"
    New-SmbShare -Name "Downloads" -Path "C:\Users\Administrator\Downloads" -ReadAccess $user
    

    现在,只要安全组允许流量,即可从 VPC 中的服务器访问共享。 有关 SMB 的更多信息,请参阅 在 Windows Server 中使用 SMB 3 协议进行文件共享的概述

安装 SQL Server Management Studio

SQL Server Management Studio (SSMS) 是一个集成环境,用于管理任何 SQL 基础结构,并提供用于配置,监视和管理 SQL Server 和数据库实例的工具。 使用命令提示符脚本安装 SSMS。

start "" /w C:\Users\Administrator\Downloads\SSMS-Setup-ENU.exe /Quiet SSMSInstallRoot=C:\SSMS

SSMS 将安装在 C:\SSMS\Common7\IDE\Ssms.exe

加入域

直到安装 AD 服务器之后,才应启动此任务。

在防御主机上的 PowerShell 提示符处,输入使服务器能够加入域的以下命令:

  • Get-DnsClientServerAddress 捕获 IPv4 以太网接口的接口索引,以便可以将 DNS 从 IBM Cloud DNS 服务器更改为 ADDNS 服务器。 如果缺少此步骤,那么 Add-Computer 命令将失败,因为服务器将无法找到域控制器。 Add-Computer -Server 仅接受 FQDN。
  • Add-Computer 命令使用 ADDNS 服务器 <ad_server_fqdn> 将服务器添加到域 <domain> ,然后重新启动服务器以使更改生效。
$dns = "<ADDNS_IP_Address>"
$adserver = "<ad_server_fqdn>"
$domain = "<domain>"
$user = $domain + "\Administrator"
$password = "<password>"
$out=Get-DnsClientServerAddress -InterfaceAlias Ethernet -AddressFamily IPv4 | Select-Object -Property InterfaceIndex
Set-DnsClientServerAddress -InterfaceIndex $out.InterfaceIndex -ServerAddresses ($dns)
$password = ConvertTo-SecureString $password -AsPlainText -Force
$credential = New-Object System.Management.Automation.PSCredential ($user, $password)
Add-Computer -DomainName $domain -Server $adserver -Restart -Credential $credential

添加 PowerShell AD 模块

在 Windows Server 2019 中,您可以选择使用以下 PowerShell 命令为 Windows PowerShell 安装 Active Directory 模块。 通过添加模块,您可以从防御主机访问 AD 信息,而不是从 RDP 访问 AD 服务器:

Import-Module ServerManager
Add-WindowsFeature -Name "RSAT-AD-PowerShell" –IncludeAllSubFeature
Install-Module -Name WindowsCompatibility

添加 PowerShell SQL 模块

要安装 SQLServer 模块的最新版本,请从 PowerShell 提示符 Install-Module -Name SQLServer -Force -AllowClobber在因特网连接的设备上使用以下命令。

配置 NTP 服务器

要从 AD 域层次结构自动同步时间,请运行以下命令:

w32tm /config /syncfromflags:domhier /update
net stop w32time
net start w32time
w32tm /query /status