标签: Windows Server

  • Windows安装配置 Apache Maven 教程

    Apache Maven 是一个用于 Java 项目的构建管理工具,它通过统一的项目结构、生命周期机制和依赖管理系统,帮助开发者自动完成编译、打包、测试和部署等流程。使用 Maven,可以大幅简化项目构建的复杂度,提高开发效率和团队协作一致性。

    一、下载安装包

    访问官方网站: 打开 Apache Maven 项目的官方下载页面:https://maven.apache.org/download.cgi

    选择并下载: 在页面中找到 “Binary zip archive” 部分,选择 .zip 格式的链接进行下载。
    例如 apache-maven-3.9.10-bin.zip

    二、解压并放置目录

    下载完成后,将压缩包解压到一个稳定且不含中文或空格的路径。这个路径将作为 Maven 的主目录,也就是我们接下来要设置的 MAVEN_HOME
    例如:

    C:\apache-maven-3.9.10

    三、配置环境变量

    配置环境变量可以让你在任意命令行窗口中直接运行 Maven 命令。

    1. 打开环境变量设置
    • 右键点击 “此电脑” → 选择 “属性”。
    • 点击 “高级系统设置”,然后点击 “环境变量” 按钮。
    2. 设置 MAVEN_HOME
    • 在下方的 “系统变量” 区域,点击【新建】。
    • 变量名MAVEN_HOME
    • 变量值C:\apache-maven-3.9.10
    3. 配置 Path 变量
    • 在 “系统变量” 列表中找到 Path,选中后点击【编辑】。
    • 在弹出的窗口中,点击【新建】,并输入以下内容:
    %MAVEN_HOME%\bin
    • 操作建议:点击【上移】,将该条目尽量移到列表顶部,可以减少因其他程序环境变量冲突导致问题的概率。
    • 最后,点击所有窗口的【确定】按钮以保存设置。

    四、验证安装是否成功

    按下 Win + R 输入 cmd 打开命令提示符,执行:

    mvn -version

    如果安装无误,将看到类似以下输出:

    Apache Maven 3.9.10 (5f519b97e944483d878815739f519b2eade0a91d)
    Maven home: C:\apache-maven-3.9.10
    Java version: 22.0.2, vendor: Oracle Corporation, runtime: C:\Program Files\Java\jdk-22
    Default locale: zh_CN, platform encoding: UTF-8
    OS name: "windows server 2022", version: "10.0", arch: "amd64", family: "windows"

  • 将 Windows Server 标准版切换至数据中心版

    在 Windows Server 的使用过程中,根据业务发展和IT需求的变化,您可能需要从标准版升级到功能更全面的数据中心版。Windows Server 提供了便捷的版本转换机制,允许您在现有系统上直接升级,无需耗时的重新安装。

    1. 确认当前系统版本

    运行以下命令确定 Windows Server Standard 是否为当前版本名称

    DISM /online /Get-CurrentEdition

    如果命令输出显示类似 ServerStandard 的信息,则表明您的系统当前为 Windows Server 标准版。

    2. 确定验证 Windows Server Datacenter 是有效的转换选项:

    通过运行以下命令,您可以查看可供升级的目标版本列表:

    DISM /online /Get-TargetEditions

    3. 切换至数据中心版

    DISM /online /Set-Edition:ServerDatacenter /ProductKey:<product key> /AcceptEula
  • 云服务器的黑洞路由配置

    一、 什么是黑洞路由

    黑洞路由是一种网络配置方法,旨在将特定的网络流量引导到一个不存在的目标地址,导致这些流量被丢弃,仿佛进入了一个“黑洞”一样。这种技术通常被用于丢弃不需要的流量,或作为防御手段来应对网络攻击。

    在黑洞路由中,管理员通过配置路由表,将目标 IP 地址或 IP 段指向一个虚拟的“黑洞”地址,这个地址通常是一个不存在的地址或一个空地址。当网络流量被引导到这个黑洞地址时,它们将被直接丢弃,而不会被转发到实际的目标。

    黑洞路由在网络安全方面尤为重要,尤其是在对抗 分布式拒绝服务攻击(DDoS) 等恶意流量时。

    二、 黑洞路由的应用场景

    1. 防御分布式拒绝服务攻击(DDoS)

    背景:

    DDoS 攻击通过向目标网络或服务器发送大量恶意流量,迅速使其瘫痪,无法为正常用户提供服务。

    应用:

    通过设置黑洞路由,将攻击流量引导到“黑洞”地址,避免这些流量占用带宽,从而保护其他正常流量。例如,网络管理员可以通过添加黑洞路由来丢弃所有来自特定 IP 段的攻击流量,确保攻击不会对系统造成负面影响。

    案例:

    某在线服务提供商在遭遇大规模 DDoS 攻击时,立即将攻击来源的 IP 地址段引导到黑洞,从而成功减轻了攻击负担,保护了其正常的用户流量。

    2. 隔离受感染的主机或网络

    背景:

    网络中的设备可能会被病毒或恶意软件感染,成为攻击的源头。为了避免这些设备对其他主机造成威胁,可以通过黑洞路由将其流量隔离。

    应用:

    当发现某台设备或主机被感染时,可以设置黑洞路由将它的流量丢弃,避免它继续传播恶意流量或参与更大的攻击。

    案例:

    某公司发现内网中的一台计算机已经被勒索病毒感染,导致它向外发送大量垃圾流量。管理员通过黑洞路由将这台主机的所有流量引导到黑洞,有效隔离了感染主机,防止了病毒蔓延。

    3. 过滤不需要的流量或垃圾流量

    背景:

    许多网络流量可能是垃圾流量,来自无用的请求或恶意的爬虫,这些流量不仅浪费带宽,还可能影响正常服务的响应速度。

    应用:

    管理员可以设置黑洞路由,丢弃来自不需要的 IP 地址或流量类型。这种方法对于防止无意义的访问或爬虫流量尤为有效。

    案例:

    某网站为了防止爬虫和无效请求消耗带宽,在发现大量来自某些 IP 地址的恶意爬虫流量后,快速通过黑洞路由将这些 IP 阻断,从而保证正常用户的访问不受影响。

    4. 网络重定向和流量控制

    背景:

    在某些情况下,管理员可能希望控制流量的走向,或者强制执行某些安全策略,防止流量访问不安全的目标。

    应用:

    可以通过设置黑洞路由来引导特定流量到“黑洞”,从而控制哪些流量可以进入网络。例如,在企业内部网络中,可以使用黑洞路由来阻止员工访问某些危险的外部网站或 IP 地址。

    案例:

    某企业使用黑洞路由禁止员工访问特定的社交媒体网站,以避免员工在工作时间浪费过多时间,同时降低因不安全网站带来的潜在风险。

    5. IP 地址封禁

    背景:

    当发现某些 IP 地址是恶意的攻击源时,可能需要对这些 IP 进行封禁,防止它们继续发起攻击或进行其他不良行为。

    应用:

    黑洞路由可以被用于封禁特定 IP 地址或 IP 地址段,确保这些恶意源的流量不会进入目标网络。

    案例:

    一个在线游戏平台遭遇了来自某个国家的大规模暴力破解攻击,攻击者通过多个 IP 地址发起登录尝试。管理员通过设置黑洞路由,迅速将这些 IP 地址段的流量丢弃,防止了攻击对游戏服务器的影响。

    6. 流量监控与分析

    背景:

    有时需要对某些流量进行监控和分析,以便检测异常行为或进行故障排查。

    应用:

    可以将流量通过黑洞路由引导到特定地址,来检测是否有异常流量或网络行为,从而帮助网络管理员识别问题。

    案例:

    在某次流量审计中,网络管理员发现了一些异常的流量模式,怀疑可能是恶意活动。为了进一步分析,管理员将这些可疑流量引导到黑洞,从而有效隔离了这些流量并避免了对正常流量的干扰。

    7. 网络故障和故障转移管理

    背景:

    在分布式网络环境中,某些网络节点可能会出现故障,导致流量无法正常路由。此时需要一种快速的手段来避免流量流向故障节点。

    应用:

    黑洞路由可用于将故障节点的流量丢弃,避免错误的流量路径导致其他节点的负担增加。

    案例:

    某企业的外部路由节点发生故障,导致无法正常访问外部资源。管理员通过黑洞路由将所有经过该节点的流量丢弃,防止故障的流量影响到网络中的其他设备和服务。

    8. 临时流量丢弃

    背景:

    有时在系统维护期间,管理员需要暂时丢弃某些流量,以避免在维护过程中受到干扰。

    应用:

    通过黑洞路由,管理员可以在维护过程中临时将不需要的流量引导到黑洞,从而保护网络的正常运行。

    案例:

    某个大型网站在进行例行维护时,管理员通过黑洞路由临时丢弃所有来自外部的流量,以保证维护过程不被外部请求打断。维护结束后,恢复正常流量路由。

    三、 黑洞路由配置示例

    需要配置黑洞路由的条件
    • 防御 DDoS 攻击:当检测到来自特定 IP 地址段的 DDoS 攻击流量时,可以通过黑洞路由将这些流量丢弃,从而防止攻击占用带宽和系统资源。
    • 隔离感染主机:如果网络中某台设备被恶意软件感染,可能会发起大量恶意流量,管理员可以通过黑洞路由将其流量丢弃,防止对其他设备造成危害。
    • 阻止垃圾流量:当网站或服务器受到大量无效请求(如爬虫、扫描器)干扰时,管理员可以配置黑洞路由,将这些不需要的流量丢弃,保障网络的正常运行。
    • 故障恢复或冗余路径管理:如果某个网络节点发生故障或不再有效,黑洞路由可以用于暂时丢弃流量,避免流量被错误地路由到故障节点。
    • IP 封禁:某些 IP 地址在进行恶意行为(如暴力破解)时,管理员可以通过配置黑洞路由直接丢弃这些 IP 的流量,防止其继续攻击。

    1. Windows 配置

    1. 添加黑洞路由
      例如,黑洞路由将所有来自 192.168.1.0/24 网络的流量丢弃:
    route add 192.168.1.0 mask 255.255.255.0 0.0.0.0
    1. 添加永久黑洞路由
      如果需要在系统重启后保留黑洞路由,可以使用 -p 选项:
    route add 192.168.1.0 mask 255.255.255.0 0.0.0.0 -p
    1. 删除黑洞路由
      如果不再需要黑洞路由,可以删除指定的路由规则:
    route delete 192.168.1.0
    1. 查看当前路由表
      通过查看路由表,可以确认是否已配置黑洞路由:
    route print

    2. Linux 配置

    1. 添加黑洞路由
      例如,将 192.168.1.0/24 的流量引导到黑洞:
    ip route add blackhole 192.168.1.0/24
    1. 添加永久黑洞路由
      如果需要保持黑洞路由在重启后仍然有效,可以添加 permanent 标志(在某些 Linux 发行版中,可能需要将配置写入路由表配置文件中以实现永久生效):
    ip route add blackhole 192.168.1.0/24 permanent
    1. 删除黑洞路由
      如果需要删除已配置的黑洞路由,可以使用:
    ip route del blackhole 192.168.1.0/24
    1. 查看当前路由表
      使用以下命令查看当前的路由表,并检查是否存在黑洞路由:
    ip route show | grep blackhole

  • Windows快速创建 Hyper-V 虚拟机的 PowerShell 脚本

    在 Windows 系统上使用 Hyper-V 虚拟化技术时,手动创建虚拟机可能会比较繁琐。可以通过 PowerShell 脚本来自动化这一过程,大大提高效率。今天我将分享一个简单的 PowerShell 脚本,用于快速创建一个 Debian 12 虚拟机,并配置相关的硬件资源和集成服务。

    我编写的 PowerShell 脚本能够自动化以下任务:

    • 创建一台 Debian 12 虚拟机。
    • 分配内存、CPU 核心、虚拟硬盘。
    • 配置网络适配器。
    • 启动虚拟机并设置增强会话模式。

    保存为hyperv-create.ps1

    #Requires -RunAsAdministrator
    #Requires -Modules Hyper-V
    
    $Name = "Debian12-hyperv"
    $Description = "
    Username: test
    Password: test
    (US keyboard layout)"
    
    # Create the virtual machine
    New-VM `
      -Generation 2 `
      -Name "$Name" `
      -MemoryStartupBytes 4096MB `
      -SwitchName "Default Switch" `
      -VHDPath ".\Debian12-hyperv.vhdx"
    
    # Set virtual machine notes
    Set-VM -Name "$Name" -Notes "$Description"
    
    # Enable enhanced session transport
    Set-VM -Name "$Name" -EnhancedSessionTransportType HVSocket
    
    # Disable secure boot
    Set-VMFirmware -VMName "$Name" -EnableSecureBoot Off
    
    # Set CPU cores
    Set-VMProcessor -VMName "$Name" -Count 2
    
    # Enable integration services
    Enable-VMIntegrationService -VMName "$Name" -Name "Guest Service Interface"
    
    # Start the virtual machine
    Start-VM -Name $Name
    
    Write-Host "Virtual machine $Name created and started successfully."
  • Windows Server 更改远程桌面RDP 端口

    Windows Server 使用 PowerShell 更改 RDP 端口

    1. 检查当前 RDP 端口

    打开 PowerShell(以管理员身份运行)并执行以下命令:

    Get-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -name "PortNumber"

    此命令将显示当前 RDP 端口号(默认情况下为 3389)。

    显示输出

    PortNumber   : 3389
    PSPath       : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
    PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations
    PSChildName  : RDP-Tcp
    PSDrive      : HKLM
    PSProvider   : Microsoft.PowerShell.Core\Registry

    2. 更改 RDP 端口

    运行以下命令,将 <port number> 替换为您希望使用的新端口号(例如 5000):

    $portvalue = <port number>
    
    Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -name "PortNumber" -Value $portvalue

    3. 创建防火墙规则以允许新端口

    如果没有相应的防火墙规则,新的 RDP 端口可能无法访问。运行以下命令,替换 <port number> 为您新设置的端口号:

    New-NetFirewallRule -DisplayName 'RDPPORTLatest-TCP-In' -Profile 'Public' -Direction Inbound -Action Allow -Protocol TCP -LocalPort <port number> 
    New-NetFirewallRule -DisplayName 'RDPPORTLatest-UDP-In' -Profile 'Public' -Direction Inbound -Action Allow -Protocol UDP -LocalPort <port number>

    4. 重启计算机

    更改端口后,必须 重启计算机 使更改生效。