µ±Ç°Î»Öà : 145zÓÎÏ·Õ¾¡¡|¡¡ÄæÕ½¡¡|¡¡¼¼Êõ½Ì³Ì¡¡|¡¡

¡¶ÄæÕ½¡·ËÀ»ú¡°ÍøÂçÐþѧ¡±ÆÆ½â£ºDNS½Ù³ÖÓë×Ô¶¯»¯ÔËά·½°¸

Èȶȣº
Ò»¡¢ÍøÂç“ÒþÐÎɱÊÖ”£ºDNS½Ù³ÖÓëMTUÒì³£Òý·¢±ÀÀ£

²¿·ÖÍæ¼Ò¼´Ê¹Ó²¼þÅäÖôï±ê¡¢ÓÎÏ·ÎļþÍêÕû£¬ÈÔ»áÔâÓö¡¶ÄæÕ½¡·²»Ã÷Ô­ÒòËÀ»ú¡£ÕâÀàÎÊÌâÍùÍùÓëÍøÂç²ãµÄÒþ±Î³åÍ»Ïà¹Ø£¬ÓÈÆäÊÇDNS½Ù³Ö¡¢MTUÖµ²»Æ¥Åä»òÍøÂçЭÒéÕ»Òì³£¡£
DNS½Ù³ÖµÄ“ºûµûЧӦ”

µäÐÍÏÖÏó£º

ÓÎÏ·¼ÓÔØÊ±¿¨ÔÚ“³õʼ»¯ÍøÂçÁ¬½Ó”½çÃæ£¬»òÍÅսʱͻȻºÚÆÁ¡£

ä¯ÀÀÆ÷·ÃÎÊÆäËûÍøÕ¾Õý³££¬µ«ÓÎϷרÓÐЭÒ飨ÈçUDP 7899£©±»½Ù³Ö¡£

¸ùÔ´£º

±¾µØDNS·þÎñÆ÷·µ»Ø´íÎóIP£¨ÈçÔËÓªÉÌ¹ã¸æ×¢È룩£¬µ¼ÖÂÓÎÏ·¿Í»§¶ËÁ¬½ÓÒì³£·þÎñÆ÷£¬´¥·¢SSLÎÕÊÖʧ°Ü»òÊý¾Ý°ü³¬Ê±¡£
MTUÖµ“¹ýÔØ”µ¼ÖÂÊý¾Ý°ü·ÖƬ

±íÏÖ£º

ÓÎÏ·ÖÐÆµ·±³öÏÖ“ÍøÂç¶¶¶¯”£¬RTT£¨ÑÓ³Ù£©²¨¶¯¾çÁÒ£¬ÉõÖÁ´¥·¢“ÍøÂç²»¿É´ï”´íÎó¡£
Ô­Àí£º

±¾µØÍøÂçMTU£¨×î´ó´«Êäµ¥Ôª£©ÓëÓÎÏ··þÎñÆ÷²»Æ¥Å䣨ÈçPPPoE²¦ºÅδ¼õ14×Ö½Ú£©£¬µ¼ÖÂÊý¾Ý°ü·ÖƬ£¬GPUäÖȾÓëÍøÂç½ÓÊÕÏ̲߳»Í¬²½¡£
TCP/IPЭÒéÕ»“ÄÚ´æÐ¹Â©”

¼ì²â·½·¨£º

ʹÓÃWireshark×¥°ü·¢ÏÖ´óÁ¿[TCP Retransmission]»ò[TCP ZeroWindow]±êÖ¾£¬ÇÒÓÎÏ·½ø³ÌÕ¼Óö˿ÚÊýÒì³£Ôö³¤¡£
Ô­Òò£º

ϵͳTCP/IPЭÒéÕ»³¤Ê±¼äÔËÐкó£¬SocketÁ¬½ÓδÕýÈ·ÊÍ·Å£¬Õ¼ÓÃÄÚ´æÖ±ÖÁ±ÀÀ£¡£

¶þ¡¢·Ö²½ÅŲ飺´ÓDNSÇåÏ´µ½MTUµ÷ÓÅ

²½Öè1£ºDNS½Ù³Ö¼ì²âÓëÐÞ¸´
ÊÖ¶¯²éѯÓÎÏ·ÓòÃû½âÎö£º

nslookup game.qq.com

Èô·µ»ØIPµØÖ·ÓëÌÚѶ¹Ù·½¹«²¼µÄ²»·û£¨Èç¾³ÍâIP£©£¬Ôò´æÔÚ½Ù³Ö¡£
Ç¿ÖÆÖ¸¶¨DNS·þÎñÆ÷£º

ÔÚÏµÍ³ÍøÂçÉèÖÃÖУ¬½«DNS¸ÄΪ119.29.29.29£¨ÌÚÑ¶ÔÆDNS£©»ò8.8.8.8£¨Google DNS£©¡£

·ÓÉÆ÷¼¶ÐÞ¸´£ºµÇ¼·ÓÉÆ÷ºǫ́£¬¹Ø±Õ“DNSת·¢”¹¦ÄÜ¡£

²½Öè2£ºMTUÖµÓÅ»¯ÊµÑé
²âÊÔ×î¼ÑMTUÖµ£º

ping -l 1472 -f game.qq.com

Öð²½¼õС-l²ÎÊýÖµ£¨Ã¿´Î¼õ10£©£¬Ö±µ½pingͨÎÞ¶ª°ü¡£

×îÖÕMTUÖµ = ³É¹¦Öµ + 28£¨IPÍ·20×Ö½Ú + UDPÍ·8×Ö½Ú£©¡£
È«¾ÖMTUÉèÖãº

Winϵͳ£º

netsh interface ipv4 set subinterface "ÒÔÌ«Íø" mtu=1450 store=persistent

·ÓÉÆ÷£ºÔÚWAN¿ÚÉèÖÃÖÐÆôÓÓPPPoE MTUÐÞÕý”¡£

²½Öè3£ºÐ­ÒéÕ»ÄÚ´æÐ¹Â©ÐÞ¸´
ÖØÖÃTCP/IPЭÒéÕ»£º

netsh int ip reset
netsh winsock reset

ÖØÆôºóÉúЧ¡£
ÏÞÖÆ²¢·¢Á¬½ÓÊý£º

ʹÓù¤¾ßNetBalancer£¬Îª¡¶ÄæÕ½¡·½ø³ÌÉèÖÃ×î´ó²¢·¢Á¬½ÓÊýΪ500¡£

Èý¡¢×Ô¶¯»¯ÔËά£º½Å±¾¼à¿ØÓëÖÇÄÜÐÞ¸´
ÍøÂ罡¿µ¶Èʵʱ¼à¿Ø½Å±¾

¼à¿ØÓÎÏ·ÑÓ³ÙÓ붪°üÂÊ

while ($true) {
$pingResult = Test-NetConnection game.qq.com -Port 7899
if (pingResult.TcpTestSucceeded -eq false) {
Write-Host "ÍøÂçÒì³££¡ÕýÔÚÖØÖÃÁ¬½Ó..."
netsh int ip reset
Restart-Service "Dnscache"
Start-Sleep -Seconds 60



¹¦ÄÜ£ºÃ¿·ÖÖÓ¼ì²âÓÎÏ·¶Ë¿ÚÁ¬Í¨ÐÔ£¬Ò쳣ʱ×Ô¶¯ÖØÖÃÍøÂçÅäÖá£
MTU¶¯Ì¬ÊÊÅ乤¾ß

ÍÆ¼ö¹¤¾ß£ºClumsy£¨Ä£ÄâÍøÂç¹ÊÕÏ£©»òSimple MTU Tester£¨Ò»¼üÓÅ»¯£©¡£

²Ù×÷Á÷³Ì£º
ÔËÐй¤¾ß£¬Ñ¡ÔñÓÎÏ·½ø³Ì£¨ÈçÄæÕ½.exe£©¡£

×Ô¶¯É¨Ãè²¢Ó¦ÓÃ×î¼ÑMTUÖµ¡£

ÓÎÏ·¼ÓËÙÆ÷Éî¶ÈÅäÖÃ

ѸÓÎ/À×Éñ¼ÓËÙÆ÷£º

ÔÚ“¸ß¼¶ÉèÖÔÖÐÆôÓÓUDP´ò¶´Ä£Ê½”£¬½ûÓÓÖÇÄÜ·ÓÉ”£¨±ÜÃâDNS¶þ´ÎÎÛȾ£©¡£

Ìí¼ÓÓÎÏ··þÎñÆ÷IPµ½°×Ãûµ¥£¨Ðè´Ó¹Ù·½ÇþµÀ»ñÈ¡£©¡£

ËÄ¡¢ÌØÊⳡ¾°ÓëÖÕ¼«·½°¸
¶àÍøÂç½Ó¿Ú³åÍ»

³¡¾°£ºÍ¬Ê±Á¬½ÓWiFiºÍÓÐÏßÍø£¬µ¼ÖÂÓÎÏ·Á÷Á¿±»´íÎó·ÖÁ÷¡£

½â¾ö£º
½øÈëÍøÂçÊÊÅäÆ÷ÉèÖ㬽«ÓÐÏßÍø¿¨µÄ“Ô¾µãÊý”ÉèΪ¸üµÍ£¨Èç10£©¡£

½ûÓÃWiFiµÄIPv6ЭÒé¡£

ÆóÒµÍøÂçÏÞÖÆ

Ö¢×´£º¹«Ë¾·À»ðǽÆÁ±ÎÓÎϷЭÒ飬µ¼ÖÂÁ¬½Ó³¬Ê±¡£

ÈÆ¹ý·½°¸£º

ʹÓÃShadowsocksµÈ¹¤¾ß½¨Á¢SOCKS5´úÀí£¬Ç¿ÖÆÓÎÏ·Á÷Á¿×ß¼ÓÃÜͨµÀ¡£

ÔÚ´úÀíÉèÖÃÖÐÖ¸¶¨ÓÎÏ·½ø³Ì£¨ÈçProxifier£©¡£
¶Ë¿Ú±¬ÆÆ·ÀÓù

¹¥»÷ÌØÕ÷£º¶ñÒâIPƵ·±É¨ÃèÓÎÏ·¶Ë¿Ú£¨UDP 7899£©£¬´¥·¢ÏµÍ³°²È«·À»¤¡£

·ÀÓù½Å±¾£º

# ʹÓÃIPTablesÆÁ±ÎÒì³£Á¬½Ó£¨Linux»·¾³£©
iptables -A INPUT -p udp --dport 7899 -m recent --name BADGUY --set
iptables -A INPUT -p udp --dport 7899 -m recent --name BADGUY --update --seconds 60 --hitcount 10 -j DROP


Îå¡¢³¤Ð§Î¬»¤Óë±Ü¿ÓÖ¸ÄÏ
¶¨ÆÚÇåÀíDNS»º´æ£º

ipconfig /flushdns

¶©ÔÄÍøÂçÖÊÁ¿¼à¿Ø·þÎñ£º

ʹÓÃNetdata»òZabbix¼à¿Ø¼ÒÍ¥ÍøÂ粨¶¯£¬ÌáǰԤ¾¯Ç±ÔÚ¹ÊÕÏ¡£
Ó²¼þ¼¶ÓÅ»¯£º

Ϊ·ÓÉÆ÷Ë¢ÈëOpenWrt¹Ì¼þ£¬ÆôÓÃQoSÁ÷Á¿ÕûÐΣ¬ÓÅÏȱ£ÕÏÓÎÏ·Á÷Á¿¡£

×ܽ᣺¡¶ÄæÕ½¡·ËÀ»úµÄ“ÍøÂçÐþѧ”±¾ÖÊÊÇDNSÎÛȾ¡¢MTU²»Æ¥ÅäÓëЭÒéÕ»×ÊԴй©µÄ×ۺϽá¹û¡£Í¨¹ý×Ô¶¯»¯½Å±¾¼à¿Ø¡¢ÍøÂç²ÎÊýµ÷Óż°Ð­Òé²ãÉî¶ÈÐÞ¸´£¬¿É½â¾ö90%ÒÔÉϵÄÒþ±ÎÍøÂçÎÊÌâ¡£ÈôÈÔÎÞ·¨¸ùÖΣ¬½¨ÒéʹÓÓ´¿¾»²¦ºÅ»·¾³”£¨Èç4GËæÉíWiFi+°×Ãûµ¥Ä£Ê½£©½øÐÐ×îÖÕÑéÖ¤£¬»òÏòÍøÂç·þÎñÉÌÌá½»ÍêÕû×¥°üÈÕÖ¾£¡