Windows Server 2016 が突然接続を受け入れなくなる

Windows Server 2016 が突然接続を受け入れなくなる

昨日 2020 年 12 月 16 日午後 4 時まで正常に動作していた本番サーバーがあります。その後、着信 TCP 接続と、localhost 経由で接続しようとする接続を拒否し始めました。

サーバーは次の接続をすべてブロックします:

• MySQL
• Ping (クライアントからpingしたり、pingされたりすることはできませんが、Googleなどのサイトにpingすることはできます)
• Tracert

MySQL 接続が成功することもありますが、95% の確率で が発生します10060 timeout error。サーバーは Web サイトと API をホストしており、どちらもリモートからアクセスできます。

私は次のことを試しました:

• ファイアウォールのオン/オフ
• サーバーの再起動
• 利用可能なすべてのアップデートの更新
• マルウェアのスキャン
• ポート 3306 がリッスンしていることの確認
• クライアントからサーバーへの ping

なぜこのようなことが起きたのか、私にはわかりません。ファイアウォールの問題ではないと思いますが、他に何か変わったことは思いつきません。誰もサーバーにログオンしておらず、通常の cron ジョブなどはネットワークに関連するものを変更しません。サーバー プロバイダーの問題でしょうか?

編集 ファイアウォールのログ記録を有効にしましたが、ドロップされた UDP パケットが多数表示されています。ただし、TCP 接続はすべて受信されています。調べてみると、RDP は TCP 経由なので、サーバーに RDP できる理由が説明できます。では、なぜサーバーが UDP パケットをドロップするのでしょうか?

編集 サーバーテスト結果 クライアントテスト結果

答え1

正直に言うと、会話ブロックで何かをしようとするのは面倒なので、回答ブロックに切り替えます。

まだインストールしていない場合は、問題が発生しているサーバーに PowerShell 7.1 をダウンロードしてインストールしてください。

PowerShell (PWSH.EXE) で次のスクリプト ブロックを実行し、出力を報告します。

これにより、IP設定のテストが実行されます

$All_IPConfigs = Get-NetIPConfiguration | Where-Object {$null -ne $_.IPv4Address.IPAddress}

Foreach ($IPConfig in $All_IPConfigs)
    {
    Write-Host "###################################"
    Write-Host "Testing interface $($IPConfig.InterfaceAlias)"

    Write-Host "Testing ip $($IPConfig.IPv4Address.IPAddress)"
    $Test_Self = $null
    $Test_Self = Test-Connection -ComputerName $($IPConfig.IPv4Address.IPAddress) -Ping -Count 2 -Quiet -ErrorAction SilentlyContinue
    Write-Host "[Can ping self?]: $($Test_Self)"

    Foreach ($Gateay in $($IPConfig.IPv4DefaultGateway.NextHop))
        {
        Write-Host "Testing gateway $($Gateay)"
        $Test_Gateway = $null
        $Test_Gateway = Test-Connection -ComputerName $($Gateay) -Ping -Count 2 -Quiet -ErrorAction SilentlyContinue
        Write-Host "[Can ping gateway?]: $($Test_Gateway)"
        }

    

    Foreach ($DNS_Server in $($IPConfig.DNSServer.ServerAddresses))
        {
        Write-Host "Testing DNS IP $($DNS_Server)"
        $Test_DNS_Network = $null
        $Test_DNS_Network = Test-NetConnection -ComputerName $DNS_Server -Port 53 -ErrorAction SilentlyContinue
        
        $Test_Resolove_Self = $null
        $Test_Resolove_Self = Resolve-DnsName -Name "$($env:computername)" -Server $DNS_Server -Type A -ErrorAction SilentlyContinue | Select-Object -First 1

        $Test_Resolove_GMail = $null
        $Test_Resolove_GMail = Resolve-DnsName -Name "gmail.com" -Server $DNS_Server -Type A -ErrorAction SilentlyContinue | Select-Object -First 1

        Write-Host "[Can ping DNS server?]: $($Test_DNS_Network.PingSucceeded)"
        Write-Host "[Can connect to DNS server TCP port 53?]: $($Test_DNS_Network.TcpTestSucceeded)"
        Write-Host "[Can resolve self?]: $($Test_Resolove_Self.IPAddress)"
        Write-Host "[Can resolve gmail?]: $($Test_Resolove_GMail.IPAddress)"
        }

    Write-Host "Testing Google DNS IP 8.8.8.8"
    $Test_Google_DNS = $null
    $Test_Google_DNS = Resolve-DnsName -Name "gmail.com" -Server "8.8.8.8" -Type A -ErrorAction SilentlyContinue | Select-Object -First 1
    Write-Host "[Can resolve gmail via Google DNS?]: $($Test_Google_DNS.IPAddress)"
    }

IP設定

Get-NetIPConfiguration   

すべてのネットワークTCP接続

Get-NetTCPConnection

すべてのネットワークTCP接続

Get-NetTCPConnection

また、接続に失敗しているクライアントでも同じテストを実行してください (すべての TCP 接続を除く)。

関連情報