ããã«ã¡ã¯ãã¿ããªïŒ ç§ã®ååã¯ããããªãŒã»ãµã ãœããã§ããOdnoklassniki ã§äž»ä»»ã·ã¹ãã 管çè
ãšããŠåããŠããŸãã åœç€Ÿã«ã¯ 7 å°ãè¶
ããç©çãµãŒããŒãã¯ã©ãŠãå
ã« 11 åã®ã³ã³ãããŒãããã³ 200 åã®ã¢ããªã±ãŒã·ã§ã³ããããããŸããŸãªæ§æ㧠700 åã®ç°ãªãã¯ã©ã¹ã¿ãŒã圢æããŠããŸãã 倧å€æ°ã®ãµãŒããŒã¯ CentOS 7 ãå®è¡ããŠããŸãã
14 幎 2018 æ XNUMX æ¥ã«ãFragmentSmack ã®è匱æ§ã«é¢ããæ
å ±ãå
¬éãããŸããã
(
ããããã«ãŒãã«ã®ã¢ããããŒãã«ãŸã£ããå察ããŠããããã§ã¯ãããŸããã ãã ãããã¥ã¢ã³ã¹ããããŸã...
æ¬çªç°å¢ã§ã«ãŒãã«ãæŽæ°ããæ¹æ³
äžè¬ã«ãè€éãªããšã¯äœããããŸããã
- ããã±ãŒãžãããŠã³ããŒãããŸãã
- ããããå€æ°ã®ãµãŒã㌠(ã¯ã©ãŠãããã¹ãããŠãããµãŒããŒãå«ã) ã«ã€ã³ã¹ããŒã«ããŸãã
- äœãå£ããŠããªãããšã確èªããŠãã ããã
- ãã¹ãŠã®æšæºã«ãŒãã«èšå®ããšã©ãŒãªãé©çšãããŠããããšã確èªããŠãã ããã
- æ°æ¥åŸ ã£ãŠãã ããã
- ãµãŒããŒã®ããã©ãŒãã³ã¹ã確èªããŸãã
- æ°ãããµãŒããŒã®å±éãæ°ããã«ãŒãã«ã«åãæ¿ããŸãã
- ããŒã¿ã»ã³ã¿ãŒããšã«ãã¹ãŠã®ãµãŒããŒãæŽæ°ããŸã (åé¡ãçºçããå Žåã«ãŠãŒã¶ãŒãžã®åœ±é¿ãæå°éã«æããããã«ãäžåºŠã« XNUMX ã€ã®ããŒã¿ã»ã³ã¿ãŒ)ã
- ãã¹ãŠã®ãµãŒããŒãåèµ·åããŸãã
ã«ãŒãã«ã®ãã¹ãŠã®ãã©ã³ãã«å¯ŸããŠãããç¹°ãè¿ããŸãã çŸæç¹ã§ã¯æ¬¡ã®ãšããã§ãã
- æšæºç CentOS 7 3.10 - ã»ãšãã©ã®éåžžã®ãµãŒããŒçšã
- Vanilla 4.19 - ç§ãã¡ã®ããã«
äžã€ã®é² ãBFQãBBRãªã©ãå¿ èŠãªããã - Elrepo kernel-ml 5.2 - çš
é«è² è·ã®ãã£ã¹ããªãã¥ãŒã¿ 4.19 ã¯åäœãäžå®å®ã ã£ãããã§ãããåãæ©èœãå¿ èŠã§ãã
ãæ³åã®ãšãããäœåå°ãã®ãµãŒããŒãåèµ·åããã«ã¯æãæéãããããŸãã ãã¹ãŠã®è匱æ§ããã¹ãŠã®ãµãŒããŒã«ãšã£ãŠé倧ãªããã§ã¯ãªããããã€ã³ã¿ãŒãããããçŽæ¥ã¢ã¯ã»ã¹ã§ããè匱æ§ã®ã¿ãåèµ·åããŸãã ã¯ã©ãŠãã§ã¯ãæè»æ§ãå¶éããªãããã«ãå€éšããã¢ã¯ã»ã¹å¯èœãªã³ã³ãããæ°ããã«ãŒãã«ãåããåã ã®ãµãŒããŒã«é¢é£ä»ãããäŸå€ãªããã¹ãŠã®ãã¹ããåèµ·åããŸãã 幞ããªããšã«ããã®æé ã¯éåžžã®ãµãŒããŒãããç°¡åã§ãã ããšãã°ãã¹ããŒãã¬ã¹ ã³ã³ããã¯ãåèµ·åäžã«å¥ã®ãµãŒããŒã«ç°¡åã«ç§»åã§ããŸãã
ãã ãããŸã å€ãã®äœæ¥ããããæ°é±éãæ°ããããŒãžã§ã³ã«åé¡ãããå Žåã¯æ倧ã§æ°ãæãããå ŽåããããŸãã æ»æè ã¯ãã®ããšãããç解ããŠããããããã©ã³ B ãå¿ èŠã§ãã
ãã©ã°ã¡ã³ãã¹ããã¯/ã»ã°ã¡ã³ãã¹ããã¯ã åé¿ç
幞ããªããšã«ãäžéšã®è匱æ§ã«ã€ããŠã¯ããã®ãããªãã©ã³ãBããååšããããã¯åé¿çãšåŒã°ããŸãã ã»ãšãã©ã®å Žåãããã¯ã«ãŒãã«/ã¢ããªã±ãŒã·ã§ã³èšå®ã®å€æŽã§ãããèµ·ããåŸã圱é¿ãæå°éã«æããããè匱æ§ã®æªçšãå®å šã«æé€ãããã§ããŸãã
FragmentSmack/SegmentSmackã®å Žå
«net.ipv4.ipfrag_high_thresh ããã³ net.ipv3.ipfrag_low_thresh (ããã³ ipv4 net.ipv4.ipfrag_high_thresh ããã³ net.ipv6.ipfrag_low_thresh ã®å¯Ÿå¿ãããã®) ã®ããã©ã«ãå€ 6MB ããã³ 6MB ãããããã 256 KB ããã³ 192 KB ã«å€æŽã§ããŸããããäœãã ãã¹ãã§ã¯ãããŒããŠã§ã¢ãèšå®ãæ¡ä»¶ã«å¿ããŠãæ»æäžã« CPU 䜿çšçãå°èŠæš¡ããå€§å¹ ã«äœäžããããšã瀺ãããŠããŸãã ãã ããäžåºŠã«åã¢ã»ã³ã㪠ãã¥ãŒã«åãŸãã®ã¯ 262144 ã€ã® 64K ãã©ã°ã¡ã³ãã®ã¿ã§ãããããipfrag_high_thresh=XNUMX ãã€ãã«ãããããã©ãŒãã³ã¹ã«å€å°ã®åœ±é¿ãçããå¯èœæ§ããããŸãã ããšãã°ã倧ã㪠UDP ãã±ãããæ±ãã¢ããªã±ãŒã·ã§ã³ãå£ãããªã¹ã¯ããããŸãã'ã
ãã©ã¡ãŒã¿èªäœ
ipfrag_high_thresh - LONG INTEGER
Maximum memory used to reassemble IP fragments.
ipfrag_low_thresh - LONG INTEGER
Maximum memory used to reassemble IP fragments before the kernel
begins to remove incomplete fragment queues to free up resources.
The kernel still accepts new fragments for defragmentation.
æ¬çªãµãŒãã¹ã«ã¯å€§èŠæš¡ãª UDP ããããŸããã LAN äžã«ã¯æçåããããã©ãã£ãã¯ã¯ãããŸãããWAN äžã«ã¯æçåããããã©ãã£ãã¯ããããŸãããé倧ã§ã¯ãããŸããã å åã¯ãããŸãã - åé¿çãå±éã§ããŸãã
ãã©ã°ã¡ã³ãã¹ããã¯/ã»ã°ã¡ã³ãã¹ããã¯ã æåã®è¡
ç§ãã¡ãééããæåã®åé¡ã¯ãã¯ã©ãŠã ã³ã³ãããŒãæ°ããèšå®ãéšåçã«ã®ã¿ (ipfrag_low_thresh ã®ã¿) é©çšããå ŽåãšããŸã£ããé©çšããªãå Žåããããåã«éå§æã«ã¯ã©ãã·ã¥ãããšããããšã§ããã åé¡ãå®å®ããŠåçŸããããšã¯ã§ããŸããã§ãã (ãã¹ãŠã®èšå®ã¯æåã§åé¡ãªãé©çšãããŸãã)ã ã³ã³ãããéå§æã«ã¯ã©ãã·ã¥ããçç±ãç解ããã®ããããã»ã©ç°¡åã§ã¯ãããŸããããšã©ãŒã¯èŠã€ãããªãã£ãã®ã§ãã XNUMX ã€ç¢ºããªããšã¯ãèšå®ãããŒã«ããã¯ãããšãã³ã³ãããŒã®ã¯ã©ãã·ã¥ã®åé¡ã解決ããããšããããšã§ãã
ãã¹ãã« Sysctl ãé©çšããã ãã§ã¯äžååãªã®ã¯ãªãã§ãã? ã³ã³ããã¯ç¬èªã®å°çšãããã¯ãŒã¯åå空éã«ååšãããããå°ãªããšã
Sysctl èšå®ã¯ã³ã³ããã«ã©ã®ããã«æ£ç¢ºã«é©çšãããŸãã? ç§ãã¡ã®ã³ã³ããã«ã¯ç¹æš©ããªããããã³ã³ããèªäœã«ã¢ã¯ã»ã¹ã㊠Sysctl èšå®ãå€æŽããããšã¯ã§ããŸãããåã«ååãªæš©éããªãã ãã§ãã ã³ã³ãããå®è¡ããããã«ãåœæã®ã¯ã©ãŠãã§ã¯ Docker ã䜿çšããŠããŸãã (çŸåšã¯
ããŒãžã§ã³ã調ã¹ããšãããDocker API ããã¹ãŠã®ãšã©ãŒãè¿ããŠããªãããšãå€æããŸãã (å°ãªããšãããŒãžã§ã³ 1.10)ã ãdocker runãçµç±ã§ã³ã³ãããèµ·åããããšãããšãæçµçã«å°ãªããšãäœããèŠããŸããã
write /proc/sys/net/ipv4/ipfrag_high_thresh: invalid argument docker: Error response from daemon: Cannot start container <...>: [9] System error: could not synchronise with container process.
ãã©ã¡ãŒã¿å€ãç¡å¹ã§ãã ãããããªãïŒ ãããŠããªããããæã ã®ã¿æå¹ã§ã¯ãªãã®ã§ãããã? Docker 㯠Sysctl ãã©ã¡ãŒã¿ãŒãé©çšãããé åºãä¿èšŒããŠããªãããšãå€æããŸãã (ææ°ã®ãã¹ãæžã¿ããŒãžã§ã³ã¯ 1.13.1)ããã®ãããipfrag_low_thresh ããŸã 256Mãã€ãŸãäžéãäœããšãã« ipfrag_high_thresh ã 3K ã«èšå®ããããšããããšããããŸãããäžéãäžåã£ãããããšã©ãŒãçºçããŸããã
ãã®æç¹ã§ãèµ·ååŸã«ã³ã³ãããåæ§æããããã®ç¬èªã®ã¡ã«ããºã (èµ·ååŸã«ã³ã³ãããããªãŒãºãã) ããã§ã«äœ¿çšããŠããŸããã
ãã©ã°ã¡ã³ãã¹ããã¯/ã»ã°ã¡ã³ãã¹ããã¯ã ãã¡ãŒã¹ããã©ãã2
ã¯ã©ãŠãã§ã® Workaround ã®äœ¿çšæ³ãç解ããåã«ããŸãã«ãŠãŒã¶ãŒããæåã®èŠæ ãå±ãå§ããŸããã ãã®æç¹ã§ãæåã®ãµãŒããŒã§ Workaround ã®äœ¿çšãéå§ããŠããæ°é±éãçµéããŠããŸããã åæ調æ»ã§ã¯ãèŠæ ã¯åã ã®ãµãŒãã¹ã«å¯ŸããŠåãåããããã®ã§ããããããã®ãµãŒãã¹ã®ãã¹ãŠã®ãµãŒããŒã«å¯ŸããŠåãåãããããã§ã¯ãªãããšãå€æããŸããã åé¡ã¯åã³æ¥µããŠäžç¢ºå®ãªãã®ãšãªã£ãã
ãã¡ããããŸã第äžã«ãSysctl èšå®ãããŒã«ããã¯ããããšããŸããããå¹æã¯ãããŸããã§ããã ãµãŒããŒãã¢ããªã±ãŒã·ã§ã³ã®èšå®ãããŸããŸã«æäœããŠã圹ã«ç«ã¡ãŸããã§ããã åèµ·åã圹ã«ç«ã¡ãŸããã Linux ãåèµ·åããã®ã¯ãæã® Windows ã§ã¯æ®éã ã£ãã®ãšåããããäžèªç¶ã§ãã ããããããã¯åœ¹ã«ç«ã£ãã®ã§ãSysctl ã§æ°ããèšå®ãé©çšãããšãã®ãã«ãŒãã«ã®äžå ·åãã§ãããšèããŸããã ãªããŠè»œèã ã£ããã ããâŠã
504é±éåŸãåé¡ãåçºããŸããã ãããã®ãµãŒããŒã®æ§æã¯éåžžã«åçŽã§ããããã·/ãã©ã³ãµãŒ ã¢ãŒãã® Nginx ã§ããã 亀ééã¯ããŸãå€ããããŸããã æ°ããå°å
¥ã¡ã¢: ã¯ã©ã€ã¢ã³ãäžã® XNUMX ãšã©ãŒã®æ°ã¯æ¯æ¥å¢å ããŠããŸã (
ãã¹ãŠã®ãšã©ãŒã¯åãããã¯ãšã³ããã€ãŸãã¯ã©ãŠãå ã«ããããã¯ãšã³ãã«é¢ãããã®ã§ãã ãã®ããã¯ãšã³ãã®ããã±ãŒãž ãã©ã°ã¡ã³ãã®ã¡ã¢ãªæ¶è²»éã°ã©ãã¯æ¬¡ã®ããã«ãªããŸãã
ããã¯ããªãã¬ãŒãã£ã³ã° ã·ã¹ãã ã®ã°ã©ãã®åé¡ã®æãæçœãªå åã® XNUMX ã€ã§ãã ã¯ã©ãŠãã§ã¯ãã¡ããã©åæã«ãQoS (ãã©ãã£ãã¯å¶åŸ¡) èšå®ã«é¢ããå¥ã®ãããã¯ãŒã¯åé¡ãä¿®æ£ãããŸããã ãã±ãã ãã©ã°ã¡ã³ãã®ã¡ã¢ãªæ¶è²»éã®ã°ã©ãã§ã¯ããŸã£ããåãããã«èŠããŸããã
ä»®å®ã¯åçŽã§ãã°ã©ãäžã§åãããã«èŠããå Žåã¯ãåãçç±ããããšããããšã§ãã ããã«ããã®ã¿ã€ãã®ã¡ã¢ãªã«é¢ããåé¡ã¯éåžžã«ãŸãã§ãã
ä¿®æ£ãããåé¡ã®æ¬è³ªã¯ãQoS ã®ããã©ã«ãèšå®ã§ fq ãã±ãã ã¹ã±ãžã¥ãŒã©ã䜿çšããããšã§ããã ããã©ã«ãã§ã¯ã100 ã€ã®æ¥ç¶ã«å¯Ÿã㊠XNUMX ãã±ããããã¥ãŒã«è¿œå ã§ããŸããããã£ãã«äžè¶³ã®ç¶æ³ã§ã¯ãäžéšã®æ¥ç¶ããã¥ãŒã®å®¹éãè©°ãŸããå§ããŸããã ãã®å Žåããã±ããã¯ãããããããŸãã tc çµ±èš (tc -s qdisc) ã§ã¯ã次ã®ããã«è¡šç€ºãããŸãã
qdisc fq 2c6c: parent 1:2c6c limit 10000p flow_limit 100p buckets 1024 orphan_mask 1023 quantum 3028 initial_quantum 15140 refill_delay 40.0ms
Sent 454701676345 bytes 491683359 pkt (dropped 464545, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
1024 flows (1021 inactive, 0 throttled)
0 gc, 0 highprio, 0 throttled, 464545 flows_plimit
ã464545 flows_plimitãã¯ã464545 ã€ã®æ¥ç¶ã®ãã¥ãŒå¶éãè¶ ããããã«ããããããããã±ããã§ããããdropped 1ãã¯ããã®ã¹ã±ãžã¥ãŒã©ã®ãã¹ãŠã®ããããããããã±ããã®åèšã§ãã ãã¥ãŒã®é·ãã XNUMX ã«å¢ãããŠã³ã³ãããŒãåèµ·åãããšãåé¡ã¯çºçããªããªããŸããã 座ã£ãŠã¹ã ãŒãžãŒã飲ãããšãã§ããŸãã
ãã©ã°ã¡ã³ãã¹ããã¯/ã»ã°ã¡ã³ãã¹ããã¯ã ã©ã¹ããã©ãã
ãŸããã«ãŒãã«ã®è匱æ§ã®çºè¡šããæ°ãæåŸãã€ãã« FragmentSmack ã®ä¿®æ£çãç»å ŽããŸãã (7.5 æã®çºè¡šãšåæã«ãSegmentSmack ã®ã¿ã®ä¿®æ£çããªãªãŒã¹ãããŸãã)ãããã«ãããåé¿çãæŸæ£ããæ©äŒãäžããããŸãããããã¯ç§ãã¡ã«å€å€§ãªè¿·æããããŸããã ãã®éããã§ã«äžéšã®ãµãŒããŒãæ°ããã«ãŒãã«ã«ç§»è¡ããããšã«æåããŠããŸããããä»åºŠã¯æåããããçŽãå¿ èŠããããŸããã FragmentSmack ã®ä¿®æ£ãåŸ ããã«ã«ãŒãã«ãæŽæ°ããã®ã¯ãªãã§ãã? å®éããããã®è匱æ§ããä¿è·ããããã»ã¹ã¯ãCentOS èªäœã®æŽæ°ããã»ã¹ãšåæ (ããã³çµ±å) ãããŠããŸã (ã«ãŒãã«ã®ã¿ãæŽæ°ãããããããã«æéãããããŸã)ã ããã«ãSegmentSmack ã¯ããå±éºãªè匱æ§ã§ããããã®ä¿®æ£ã¯ããã«å ¬éãããããããããã«ããçã«ããªã£ãŠããŸããã ãã ããCentOS 7.6 ã®ãšãã«çºçãã FragmentSmack ã®è匱æ§ã¯ããŒãžã§ã³ 7.5 ã§ã®ã¿ä¿®æ£ããããããCentOS äžã®ã«ãŒãã«ãåçŽã«æŽæ°ããããšã¯ã§ããŸããã§ããããã®ããã7.6 ãžã®æŽæ°ãäžæ¢ããXNUMX ãžã®æŽæ°ããããçŽãå¿ èŠããããŸããã ãããŠããããèµ·ãããŸãã
第äºã«ããŸãã«ãŠãŒã¶ãŒããåé¡ã«é¢ããèŠæ ãæ»ã£ãŠããããšããããŸãã ãããã¯ãã¹ãŠãã¯ã©ã€ã¢ã³ãããäžéšã®ãµãŒããŒãžã®ãã¡ã€ã«ã®ã¢ããããŒãã«é¢é£ããŠããããšã¯ãã§ã«ããã£ãŠããŸãã ããã«ããããã®ãµãŒããŒãçµç±ããã¢ããããŒãã¯ãå šäœã®ãã¡éåžžã«å°æ°ã§ããã
äžèšã®è©±ããèŠããŠããããã«ãSysctl ãããŒã«ããã¯ããŠã圹ã«ç«ã¡ãŸããã§ããã åèµ·åã¯åœ¹ã«ç«ã¡ãŸããããäžæçã§ããã
Sysctlã«é¢ããçæã¯ææã§ããªãã£ãããä»åã¯å¯èœãªéãã®æ
å ±ãåéããå¿
èŠããã£ãã ãŸããäœãèµ·ãã£ãŠããã®ããããæ£ç¢ºã«èª¿æ»ããããã«ãã¯ã©ã€ã¢ã³ãäžã§ã¢ããããŒãã®åé¡ãåçŸããèœåã倧å¹
ã«äžè¶³ããŠããŸããã
å ¥æå¯èœãªãã¹ãŠã®çµ±èšãšãã°ãåæããŠããäœãèµ·ãã£ãŠããã®ããç解ããããšã¯ã§ããŸããã§ããã ç¹å®ã®ã€ãªããããæãããããã«åé¡ãåçŸããèœåãèããæ¬ åŠããŠããŸããã æåŸã«ãéçºè ã¯ç¹å¥ãªããŒãžã§ã³ã®ã¢ããªã±ãŒã·ã§ã³ã䜿çšããŠãWi-Fi çµç±ã§æ¥ç¶ãããã¹ã ããã€ã¹äžã§åé¡ãå®å®ããŠåçŸããããšã«æåããŸããã ããã¯èª¿æ»ã«ãããç»æçãªåºæ¥äºã§ããã ã¯ã©ã€ã¢ã³ã㯠Nginx ã«æ¥ç¶ããããã¯ãšã³ã (Java ã¢ããªã±ãŒã·ã§ã³) ã«ãããã·ããŸããã
åé¡ã«é¢ãããã€ã¢ãã°ã¯æ¬¡ã®ãšããã§ã (Nginx ãããã·åŽã§ä¿®æ£ãããŸãã)ã
- ã¯ã©ã€ã¢ã³ã: ãã¡ã€ã«ã®ããŠã³ããŒãã«é¢ããæ å ±ã®åä¿¡ãèŠæ±ããŸãã
- Java ãµãŒããŒ: å¿çã
- ã¯ã©ã€ã¢ã³ã: ãã¡ã€ã«ä»ã㧠POSTã
- Java ãµãŒããŒ: ãšã©ãŒã
åæã«ãJava ãµãŒããŒã¯ã¯ã©ã€ã¢ã³ãããåä¿¡ããããŒã¿ã 0 ãã€ãã§ããããšããã°ã«æžã蟌ã¿ãNginx ãããã·ã¯ãªã¯ãšã¹ãã« 30 ç§ä»¥äžããã£ãããšãæžã蟌ã¿ãŸã (30 ç§ã¯ã¯ã©ã€ã¢ã³ã ã¢ããªã±ãŒã·ã§ã³ã®ã¿ã€ã ã¢ãŠãã§ã)ã ãªãã¿ã€ã ã¢ãŠãã«ãªãããªã 0 ãã€ãã«ãªãã®ã§ãããã? HTTP ã®èŠ³ç¹ããèŠããšããã¹ãŠãæ£åžžã«æ©èœããŸããããã¡ã€ã«ãå«ã POST ããããã¯ãŒã¯ããæ¶ããŠããããã«èŠããŸãã ãããã¯ã©ã€ã¢ã³ããšNginxã®éã§ã¯æ¶æ»
ããŠããŸããŸãã Tcpdump ã䜿çšããŠæŠè£
ããææãæ¥ãŸããã ãã ããæåã«ãããã¯ãŒã¯æ§æãç解ããå¿
èŠããããŸãã Nginx ãããã·ã¯ L3 ãã©ã³ãµãŒã®èåŸã«ãããŸã
ãã®å Žåããããã¯ãŒã¯ã¯ Vlan ã¿ã°ä»ããã©ãã£ãã¯ã®åœ¢åŒã§ãã®ãµãŒããŒã«å°éããç¬èªã®ãã£ãŒã«ãããã±ããã«è¿œå ããŸãã
ãŸãããã®ãã©ãã£ãã¯ã¯æçåããããšãã§ããŸã (åé¿çã®ãªã¹ã¯ãè©äŸ¡ãããšãã«èª¬æãããæçåãããåä¿¡ãã©ãã£ãã¯ã®ããäžéšãšåãã§ã)ãããã«ãããããããŒã®å 容ãå€æŽãããŸãã
ç¹°ãè¿ãã«ãªããŸããããã±ãã㯠Vlan ã¿ã°ã§ã«ãã»ã«åããããã³ãã«ã§ã«ãã»ã«åãããæçåãããŸãã ãããã©ã®ããã«èµ·ããããããããç解ããããã«ãã¯ã©ã€ã¢ã³ããã Nginx ãããã·ãŸã§ã®ãã±ãã ã«ãŒãã远跡ããŠã¿ãŸãããã
- ãã±ãã㯠L3 ãã©ã³ãµãŒã«å°éããŸãã ããŒã¿ã»ã³ã¿ãŒå ã§æ£ããã«ãŒãã£ã³ã°ãè¡ãããã«ããã±ããã¯ãã³ãã«å ã«ã«ãã»ã«åããããããã¯ãŒã¯ ã«ãŒãã«éä¿¡ãããŸãã
- ãã±ãã + ãã³ãã« ããããŒã¯ MTU ã«åãŸããªãããããã±ããã¯ãã©ã°ã¡ã³ãã«åå²ãããŠãããã¯ãŒã¯ã«éä¿¡ãããŸãã
- L3 ãã©ã³ãµä»¥éã®ã¹ã€ããã¯ãã±ãããåä¿¡ãããšãVlan ã¿ã°ãä»å ããŠéä¿¡ããŸãã
- Nginx ãããã·ã®åã«ããã¹ã€ããã¯ã(ããŒãèšå®ã«åºã¥ããŠ) ãµãŒããŒã Vlan ã§ã«ãã»ã«åããããã±ãããäºæããŠããããšãèªèãããããVlan ã¿ã°ãåé€ããã«ãã®ãŸãŸéä¿¡ããŸãã
- Linux ã¯ãåã ã®ããã±ãŒãžã®æçãååŸãããããã XNUMX ã€ã®å€§ããªããã±ãŒãžã«ããŒãžããŸãã
- 次ã«ããã±ãã㯠Vlan ã€ã³ã¿ãŒãã§ã€ã¹ã«å°éããæåã®å±€ (Vlan ã«ãã»ã«å) ãåé€ãããŸãã
- Linux ã¯ããããã³ãã« ã€ã³ã¿ãŒãã§ã€ã¹ã«éä¿¡ããããã§å¥ã®å±€ (ãã³ãã« ã«ãã»ã«å) ãåé€ãããŸãã
é£ããã®ã¯ãããããã¹ãŠããã©ã¡ãŒã¿ãšã㊠tcpdump ã«æž¡ãããšã§ãã
æåŸããå§ããŸããããVLAN ãšãã³ãã«ã®ã«ãã»ã«åãåé€ããããã¯ã©ã€ã¢ã³ãããã®ã¯ãªãŒã³ãª (äžèŠãªããããŒã®ãªã) IP ãã±ããã¯ãããŸãã?
tcpdump host <ip клОеМÑа>
ãããããµãŒããŒäžã«ãã®ãããªããã±ãŒãžã¯ãããŸããã§ããã ãããã£ãŠãåé¡ã¯ãã£ãšåã«ååšããŠããã¯ãã§ãã Vlanã«ãã»ã«åã®ã¿ã解é€ããããã±ããã¯ãããŸãã?
tcpdump ip[32:4]=0xx390x2xx
0xx390x2xx ã¯ãXNUMX é²æ°åœ¢åŒã®ã¯ã©ã€ã¢ã³ã IP ã¢ãã¬ã¹ã§ãã
32:4 â ãã³ãã« ãã±ããå
ã® SCR IP ãæžã蟌ãŸãããã£ãŒã«ãã®ã¢ãã¬ã¹ãšé·ãã
ã€ã³ã¿ãŒãããäžã§ã¯ 40ã44ã50ã54 ãšæžãããŠããŸãããããã«ã¯ IP ã¢ãã¬ã¹ããªãã£ãããããã£ãŒã«ã ã¢ãã¬ã¹ã¯ç·åœããã§éžæããå¿ èŠããããŸããã ãŸããXNUMX é²æ°ã®ãã±ãã (tcpdump ã® -xx ãŸã㯠-XX ãã©ã¡ãŒã¿ãŒ) ã調ã¹ãŠãæ¢ç¥ã® IP ã¢ãã¬ã¹ãèšç®ããããšãã§ããŸãã
VLAN ãšãã³ãã«ã®ã«ãã»ã«åãåé€ãããŠããªããã±ãã ãã©ã°ã¡ã³ãã¯ãããŸãã?
tcpdump ((ip[6:2] > 0) and (not ip[6] = 64))
ãã®éæ³ã¯ãæåŸã®ãã®ãå«ããã¹ãŠã®æçã衚瀺ããŸãã ãããããåããã®ã IP ã§ãã£ã«ã¿ãªã³ã°ã§ãããšæããŸããããã®ãããªãã±ããã¯ããã»ã©å€ããªããå¿
èŠãªãã±ããã¯äžè¬çãªãããŒã§ç°¡åã«èŠã€ãããããããè©ŠããŸããã§ããã ã©ããïŒ
14:02:58.471063 In 00:de:ff:1a:94:11 ethertype IPv4 (0x0800), length 1516: (tos 0x0, ttl 63, id 53652, offset 0, flags [+], proto IPIP (4), length 1500)
11.11.11.11 > 22.22.22.22: truncated-ip - 20 bytes missing! (tos 0x0, ttl 50, id 57750, offset 0, flags [DF], proto TCP (6), length 1500)
33.33.33.33.33333 > 44.44.44.44.80: Flags [.], seq 0:1448, ack 1, win 343, options [nop,nop,TS val 11660691 ecr 2998165860], length 1448
0x0000: 0000 0001 0006 00de fb1a 9441 0000 0800 ...........A....
0x0010: 4500 05dc d194 2000 3f09 d5fb 0a66 387d E.......?....f8}
0x0020: 1x67 7899 4500 06xx e198 4000 3206 6xx4 [email protected].
0x0030: b291 x9xx x345 2541 83b9 0050 9740 0x04 .......A...P.@..
0x0040: 6444 4939 8010 0257 8c3c 0000 0101 080x dDI9...W.......
0x0050: 00b1 ed93 b2b4 6964 xxd8 ffe1 006a 4578 ......ad.....jEx
0x0060: 6966 0000 4x4d 002a 0500 0008 0004 0100 if..MM.*........
14:02:58.471103 In 00:de:ff:1a:94:11 ethertype IPv4 (0x0800), length 62: (tos 0x0, ttl 63, id 53652, offset 1480, flags [none], proto IPIP (4), length 40)
11.11.11.11 > 22.22.22.22: ip-proto-4
0x0000: 0000 0001 0006 00de fb1a 9441 0000 0800 ...........A....
0x0010: 4500 0028 d194 00b9 3f04 faf6 2x76 385x E..(....?....f8}
0x0020: 1x76 6545 xxxx 1x11 2d2c 0c21 8016 8e43 .faE...D-,.!...C
0x0030: x978 e91d x9b0 d608 0000 0000 0000 7c31 .x............|Q
0x0040: 881d c4b6 0000 0000 0000 0000 0000 ..............
ãããã¯ãåçä»ãã® 53652 ã€ã®ããã±ãŒãž (åã ID XNUMX) ã® XNUMX ã€ã®æçã§ã (Exif ãšããåèªã¯æåã®ããã±ãŒãžã«è¡šç€ºãããŸã)ã ãã®ã¬ãã«ã®ããã±ãŒãžã¯ååšãããããã³ãå ã«ããŒãžããã圢åŒã§ã¯ãªããšããäºå®ã«ãããåé¡ã¯æããã«ã¢ã»ã³ããªã«ãããŸãã ã€ãã«ããã蚌æããææžãç»å ŽããŸããïŒ
ãã±ãã ãã³ãŒãã§ã¯ããã«ãã劚ãããããªåé¡ã¯æ€åºãããŸããã§ããã ããã§è©ŠããŠã¿ãŸãã:
äœãšèšã£ãŠãããããã® Sysctl 以å€ã«ã¯äœãèŠã€ãããŸããã§ããã ããšã¯ãèŠæš¡ãç解ãããããªãã¢ã¯ã·ã§ã³ã決å®ããããã«ãåé¡ã®ãããµãŒããŒãç¹å®ããæ¹æ³ãèŠã€ããã ãã§ããã å¿
èŠãªã«ãŠã³ã¿ãŒã¯ããã«èŠã€ãããŸããã
netstat -s | grep "packet reassembles failedâ
ããã¯ãsnmpd ã® OID=1.3.6.1.2.1.4.31.1.1.16.1 (
ãIP åæ§æã¢ã«ãŽãªãºã ã«ãã£ãŠæ€åºãããé害ã®æ° (äœããã®çç±: ã¿ã€ã ã¢ãŠãããšã©ãŒãªã©)ãã
åé¡ã調æ»ããããµãŒããŒã®ã°ã«ãŒãã®ãã¡ããã®ã«ãŠã³ã¿ã¯ XNUMX å°ã§ã¯éãå¢å ããXNUMX å°ã§ã¯é ããªããXNUMX å°ã§ã¯ãŸã£ããå¢å ããŸããã§ããã ãã®ã«ãŠã³ã¿ãŒã®ãã€ããã¯ã¹ã Java ãµãŒããŒäžã® HTTP ãšã©ãŒã®ãã€ããã¯ã¹ãšæ¯èŒãããšãçžé¢é¢ä¿ãæããã«ãªããŸããã ã€ãŸããã¡ãŒã¿ãŒãç£èŠããããšãã§ããŸãã
Sysctl ã®ããŒã«ããã¯ã圹ç«ã€ãã©ãããæ£ç¢ºã«å€æã§ããããã«ãåé¡ã®ä¿¡é Œã§ããææšãçšæããããšã¯éåžžã«éèŠã§ããããã¯ãåã®è©±ãããã¢ããªã±ãŒã·ã§ã³ããã¯ãããããã«ç解ã§ããªãããšãããã£ãŠããããã§ãã ãã®ææšã䜿çšãããšããŠãŒã¶ãŒãçºèŠããåã«ãæ¬çªç°å¢ã«ããããã¹ãŠã®åé¡é åãç¹å®ã§ããããã«ãªããŸãã
Sysctl ãããŒã«ããã¯ããåŸãç£èŠãšã©ãŒãåæ¢ãããããåé¡ã®åå ã蚌æãããããŒã«ããã¯ã圹ç«ã€ãšããäºå®ãå€æããŸããã
ä»ã®ãµãŒããŒã®ãã©ã°ã¡ã³ããŒã·ã§ã³èšå®ãããŒã«ããã¯ããããã§æ°ããç£èŠãæ©èœãã以åã®ããã©ã«ããããããã«å€ãã®ã¡ã¢ãªããã©ã°ã¡ã³ãã«å²ãåœãŠãŸãã (ãã㯠UDP çµ±èšã§ãããäžè¬çãªèæ¯ã«å¯ŸããŠéšåçãªæ倱ã¯ç®ç«ã¡ãŸããã§ãã)ã ã
æãéèŠãªè³ªå
L3 ãã©ã³ãµãŒã§ãã±ãããæçåãããã®ã¯ãªãã§ãã? ãŠãŒã¶ãŒãããã©ã³ãµãŒã«å°çãããã±ããã®ã»ãšãã©ã¯ SYN ãš ACK ã§ãã ãããã®ããã±ãŒãžã®ãµã€ãºã¯å°ããã§ãã ãããããã®ãããªãã±ããã®å²åãéåžžã«å€§ãããããããããèæ¯ã«ãæçåãå§ãã倧ããªãã±ããã®ååšã«æ°ã¥ããŸããã§ããã
åå ã¯æ§æã¹ã¯ãªããã®ç Žæã§ãã
Sysctl ã®ããŒã«ããã¯ã§ã¯è§£æ±ºãããåèµ·åã§ã¯è§£æ±ºããã®ã¯ãªãã§ãã? Sysctl ãããŒã«ããã¯ãããšãããã±ãŒãžã®ããŒãžã«äœ¿çšã§ããã¡ã¢ãªã®éãå€æŽãããŸããã åæã«ãæããã«ãã©ã°ã¡ã³ãã®ã¡ã¢ãª ãªãŒããŒãããŒèªäœãæ¥ç¶ã®é床äœäžãåŒãèµ·ããããã®çµæããã©ã°ã¡ã³ãããã¥ãŒå
ã§é·æéé
延ããããšã«ãªããŸããã ã€ãŸããããã»ã¹ã¯ãµã€ã¯ã«ã§è¡ãããŸããã
åèµ·åãããšã¡ã¢ãªãã¯ãªã¢ããããã¹ãŠãæ£åžžã«æ»ããŸããã
åé¿çãªãã§å®è¡ã§ããŸããã? ã¯ãããã ããæ»æãçºçããå Žåã«ãŠãŒã¶ãŒããµãŒãã¹ãåããããªããªããªã¹ã¯ãé«ããªããŸãã ãã¡ãããåé¿çã®äœ¿çšã«ããããŠãŒã¶ãŒåããµãŒãã¹ã® XNUMX ã€ãé ããªããªã©ãããŸããŸãªåé¡ãçºçããŸããããããã§ãããã®æªçœ®ã¯æ£åœãªãã®ã ã£ããšèããŠããŸãã
Andrey Timofeev ã«æè¬ããŸã (
åºæïŒ habr.com