
У меня есть производственный сервер, который работал номинально до 16:00 вчера, 12/16/2020. После этого времени он начал отклонять входящие TCP-подключения и подключения, пытающиеся подключиться через localhost.
Сервер блокирует все эти соединения:
• MySQL
• Ping (не может пинговаться или пинговаться клиентом, но может пинговать такие сайты, как Google)
• Tracert
Иногда соединения MySQL проходят, но в 95% случаев я получаю 10060 timeout error
. На сервере размещены веб-сайт и API, оба из которых по-прежнему доступны удаленно.
Я попробовал следующее:
• Отключение/включение брандмауэра
• Перезапуск сервера
• Обновление всех доступных обновлений
• Сканирование на наличие вредоносного ПО
• Проверка того, что порт 3306 прослушивается
• Пингование сервера с клиента
Я понятия не имею, почему это произошло. Я думаю, что это не проблема брандмауэра, но я не могу придумать ничего другого, что могло бы измениться. Никто не входил на сервер, и обычные задания 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-соединений).