If you're running Tor, be sure you've not accidentally configured it to act as an exit node... I used to run a Tor exit node, my WAN IP address was continually being put into blacklists. Luckily, all I had to do was release the IP lease, get a new IP address, and all was good until the same symptoms you described started again.
And check that the MTU on your connection is actually 1500... that can cause no end of troubles if the MTU (Maximum Transmission Unit) used by your ISP is actually lower than that.
https://www.tp-link.com/us/support/faq/190/
ping -M do -s 1500 9.9.9.9
PING 9.9.9.9 (9.9.9.9) 1500(1528) bytes of data.
ping: local error: message too long, mtu=1500
ping: local error: message too long, mtu=1500
ping: local error: message too long, mtu=1500
ping -M do -s 1472 9.9.9.9
PING 9.9.9.9 (9.9.9.9) 1472(1500) bytes of data.
1480 bytes from 9.9.9.9: icmp_seq=1 ttl=53 time=71.9 ms
1480 bytes from 9.9.9.9: icmp_seq=2 ttl=53 time=94.4 ms
1480 bytes from 9.9.9.9: icmp_seq=3 ttl=53 time=117 ms
You can see that it adds 28 bytes... that's normal (it's the packet header). So a command of ping -M do -s 1472 9.9.9.9
is testing an MTU of 1500.
Hit Ctrl-C to stop the ping process.
You can check what your MTU is set to by:
ip -d link list
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 promiscuity 0 minmtu 0 maxmtu 0 addrgenmode eui64 numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535
2: wlo1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DORMANT group default qlen 1000
link/ether 8a:55:6f:5b:b4:35 brd ff:ff:ff:ff:ff:ff promiscuity 0 minmtu 256 maxmtu 2304 addrgenmode none numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535
As you can see, my wlo1 connection has MTU 1500.
To permanently change the MTU:
And to narrow down where the error is, try running:
awk '(f==0) { i=1; while ( i<=NF) {n[i] = $i; i++ }; f=1; next} (f==1){ i=2; while ( i<=NF){ printf "%s = %d\n", n[i], $i; i++}; f=0}' /proc/net/netstat
It'll give an output like this:
Summary
SyncookiesSent = 0
SyncookiesRecv = 0
SyncookiesFailed = 0
EmbryonicRsts = 0
PruneCalled = 0
RcvPruned = 0
OfoPruned = 0
OutOfWindowIcmps = 0
LockDroppedIcmps = 0
ArpFilter = 0
TW = 74
TWRecycled = 0
TWKilled = 0
PAWSActive = 0
PAWSEstab = 0
DelayedACKs = 999
DelayedACKLocked = 1
DelayedACKLost = 71
ListenOverflows = 0
ListenDrops = 0
TCPHPHits = 24874
TCPPureAcks = 3420
TCPHPAcks = 5530
TCPRenoRecovery = 0
TCPSackRecovery = 0
TCPSACKReneging = 0
TCPSACKReorder = 29
TCPRenoReorder = 0
TCPTSReorder = 0
TCPFullUndo = 0
TCPPartialUndo = 0
TCPDSACKUndo = 0
TCPLossUndo = 0
TCPLostRetransmit = 0
TCPRenoFailures = 0
TCPSackFailures = 0
TCPLossFailures = 0
TCPFastRetrans = 0
TCPSlowStartRetrans = 0
TCPTimeouts = 2
TCPLossProbes = 44
TCPLossProbeRecovery = 1
TCPRenoRecoveryFail = 0
TCPSackRecoveryFail = 0
TCPRcvCollapsed = 0
TCPBacklogCoalesce = 0
TCPDSACKOldSent = 71
TCPDSACKOfoSent = 2
TCPDSACKRecv = 39
TCPDSACKOfoRecv = 0
TCPAbortOnData = 59
TCPAbortOnClose = 23
TCPAbortOnMemory = 0
TCPAbortOnTimeout = 0
TCPAbortOnLinger = 0
TCPAbortFailed = 0
TCPMemoryPressures = 0
TCPMemoryPressuresChrono = 0
TCPSACKDiscard = 0
TCPDSACKIgnoredOld = 0
TCPDSACKIgnoredNoUndo = 23
TCPSpuriousRTOs = 0
TCPMD5NotFound = 0
TCPMD5Unexpected = 0
TCPMD5Failure = 0
TCPSackShifted = 0
TCPSackMerged = 0
TCPSackShiftFallback = 28
TCPBacklogDrop = 0
PFMemallocDrop = 0
TCPMinTTLDrop = 0
TCPDeferAcceptDrop = 0
IPReversePathFilter = 1
TCPTimeWaitOverflow = 0
TCPReqQFullDoCookies = 0
TCPReqQFullDrop = 0
TCPRetransFail = 0
TCPRcvCoalesce = 1005
TCPOFOQueue = 783
TCPOFODrop = 0
TCPOFOMerge = 2
TCPChallengeACK = 1
TCPSYNChallenge = 1
TCPFastOpenActive = 0
TCPFastOpenActiveFail = 0
TCPFastOpenPassive = 0
TCPFastOpenPassiveFail = 0
TCPFastOpenListenOverflow = 0
TCPFastOpenCookieReqd = 0
TCPFastOpenBlackhole = 0
TCPSpuriousRtxHostQueues = 0
BusyPollRxPackets = 0
TCPAutoCorking = 752
TCPFromZeroWindowAdv = 0
TCPToZeroWindowAdv = 0
TCPWantZeroWindowAdv = 0
TCPSynRetrans = 2
TCPOrigDataSent = 9039
TCPHystartTrainDetect = 0
TCPHystartTrainCwnd = 0
TCPHystartDelayDetect = 0
TCPHystartDelayCwnd = 0
TCPACKSkippedSynRecv = 0
TCPACKSkippedPAWS = 0
TCPACKSkippedSeq = 0
TCPACKSkippedFinWait2 = 0
TCPACKSkippedTimeWait = 0
TCPACKSkippedChallenge = 0
TCPWinProbe = 0
TCPKeepAlive = 1072
TCPMTUPFail = 0
TCPMTUPSuccess = 0
TCPDelivered = 9363
TCPDeliveredCE = 0
TCPAckCompressed = 448
TCPZeroWindowDrop = 0
TCPRcvQDrop = 0
TCPWqueueTooBig = 0
TCPFastOpenPassiveAltKey = 0
TcpTimeoutRehash = 2
TcpDuplicateDataRehash = 1
TCPDSACKRecvSegs = 39
TCPDSACKIgnoredDubious = 0
TCPMigrateReqSuccess = 0
TCPMigrateReqFailure = 0
InNoRoutes = 0
InTruncatedPkts = 0
InMcastPkts = 651
OutMcastPkts = 477
InBcastPkts = 0
OutBcastPkts = 0
InOctets = 98576549
OutOctets = 5274975
InMcastOctets = 142485
OutMcastOctets = 91852
InBcastOctets = 0
OutBcastOctets = 0
InCsumErrors = 0
InNoECTPkts = 89776
InECT1Pkts = 0
InECT0Pkts = 0
InCEPkts = 0
ReasmOverlaps = 0
MPCapableSYNRX = 0
MPCapableSYNTX = 0
MPCapableSYNACKRX = 0
MPCapableACKRX = 0
MPCapableFallbackACK = 0
MPCapableFallbackSYNACK = 0
MPFallbackTokenInit = 0
MPTCPRetrans = 0
MPJoinNoTokenFound = 0
MPJoinSynRx = 0
MPJoinSynAckRx = 0
MPJoinSynAckHMacFailure = 0
MPJoinAckRx = 0
MPJoinAckHMacFailure = 0
DSSNotMatching = 0
InfiniteMapRx = 0
DSSNoMatchTCP = 0
DataCsumErr = 0
OFOQueueTail = 0
OFOQueue = 0
OFOMerge = 0
NoDSSInWindow = 0
DuplicateData = 0
AddAddr = 0
EchoAdd = 0
PortAdd = 0
AddAddrDrop = 0
MPJoinPortSynRx = 0
MPJoinPortSynAckRx = 0
MPJoinPortAckRx = 0
MismatchPortSynRx = 0
MismatchPortAckRx = 0
RmAddr = 0
RmAddrDrop = 0
RmSubflow = 0
MPPrioTx = 0
MPPrioRx = 0
MPFailTx = 0
MPFailRx = 0
RcvPruned = 0
SubflowStale = 0
SubflowRecover = 0