TCP/IP çµç±ã§éä¿¡ãã倧å°ããŸããŸãªããã€ã¹ã XNUMX äžå°ããå Žåãæéèªäœãåãã€ããªãããã«ããã«ã¯ã©ãããã°ããã§ãããã? çµå±ã®ãšããã圌ãã¯ããããæèšãæã£ãŠãããå
šå¡ã®æéãæ£ç¢ºã§ãªããã°ãªããŸããã ãã®åé¡ã¯ãntp ã䜿çšããªããšåé¿ã§ããŸããã
ç£æ¥çš IT ã€ã³ãã©ã¹ãã©ã¯ãã£ã®ããã»ã°ã¡ã³ãã§ãæéã®çµéãšãšãã«ãµãŒãã¹ãåæããããšãå°é£ã«ãªã£ãŠãããšå°ãæ³åããŠã¿ãŸãããã ããã«ãšã³ã¿ãŒãã©ã€ãº ãœãããŠã§ã¢ã®ã¯ã©ã¹ã¿ ã¹ã¿ãã¯ã«é害ãçºçãå§ãããã¡ã€ã³ã¯åŽ©å£ãããã¹ã¿ãŒ ããŒããšã¹ã¿ã³ã〠ããŒãã¯çŸç¶ã埩å ããããšããŸãã倱æããŸãã
æ»æè ã MiTM ãŸã㯠DDOS æ»æãéããŠæå³çã«æéã劚害ããããšããå¯èœæ§ããããŸãã ãã®ãããªç¶æ³ã§ã¯ãããããããšãèµ·ããå¯èœæ§ããããŸãã
- ãŠãŒã¶ãŒ ã¢ã«ãŠã³ãã®ãã¹ã¯ãŒãã¯æéåãã«ãªããŸãã
- X.509 èšŒææžã¯æéåãã«ãªããŸãã
- TOTP ã® XNUMX èŠçŽ èªèšŒã¯æ©èœããªããªããŸãã
- ããã¯ã¢ããã¯å€ããªããã·ã¹ãã ã«ãã£ãŠåé€ãããŸãã
- DNSSec ãå£ããŠããŸããŸãã
ãã¹ãŠã® IT éšéãæå»åæãµãŒãã¹ã®ä¿¡é Œæ§ã®é«ãéçšã«é¢å¿ãæã£ãŠããããšã¯æããã§ãããç£æ¥éçšã«ãããŠä¿¡é Œæ§ãé«ãå®å šã§ããã°ãããã¯æãŸããããšã§ãã
25 åã§ NTP ãç Žã
ãããã¯ãŒã¯ ãããã³ã« - ãã¬ãã¢ã«äžä»£ã«ã¯ XNUMX ã€ã®ç¹åŸŽããããŸãã ãããã¯ãã¯ãäœã®åœ¹ã«ãç«ã¡ãŸããããå¿ èŠãªæ°ã®æå¥œå®¶ãšè³éãèç©ããããšããŠãããããã眮ãæããã®ã¯ããã»ã©ç°¡åã§ã¯ãããŸããã
åŸæ¥ã® NTP ã«é¢ããäž»ãªäžæºã¯ãäŸµå ¥è ã«ããæ»æããä¿è·ããããã®ä¿¡é Œã§ããã¡ã«ããºã ãæ¬ åŠããŠããããšã§ãã ãã®åé¡ã解決ããããã«ããŸããŸãªè©Šã¿ããªãããŠããã ãããå®çŸããããã«ããŸã察称ããŒã亀æããããã®äºåå ±æã㌠(PSK) ã¡ã«ããºã ãå®è£ ããŸããã
æ®å¿µãªããããã®æ¹æ³ã¯åçŽãªçç±ã§å¹æããããŸããã§ãããæ¡åŒµæ§ãäœããšããåçŽãªçç±ã§ãã ãµãŒããŒã«ãã£ãŠã¯ãã¯ã©ã€ã¢ã³ãåŽã§æåæ§æãå¿ èŠã§ãã ã€ãŸãããã®ããã«å¥ã®ã¯ã©ã€ã¢ã³ãã远å ããããšã¯ã§ããŸããã NTP ãµãŒããŒã§äœãã倿Žãããå Žåã¯ããã¹ãŠã®ã¯ã©ã€ã¢ã³ããåæ§æããå¿ èŠããããŸãã
ãã®åŸã圌ã㯠AutoKey ãæãã€ããŸããããããã«ã¢ã«ãŽãªãºã èªäœã®èšèšã«å€ãã®æ·±å»ãªè匱æ§ãçºèŠãããæŸæ£ããããåŸãªããªããŸããã åé¡ã¯ãã·ãŒãã«ã¯ 32 ãããããå«ãŸããŠããããå°ããããŠæ£é¢æ»æã«ååãªèšç®éãå«ãŸããŠããªããšããããšã§ãã
- ã㌠ID - 察称 32 ããã ããŒã
- MAC (ã¡ãã»ãŒãžèªèšŒã³ãŒã) - NTP ãã±ããã®ãã§ãã¯ãµã ã
ãªãŒãããŒã¯æ¬¡ã®ããã«èšç®ãããŸãã
Autokey=H(Sender-IP||Receiver-IP||KeyID||Cookie)ããã§ãH() ã¯æå·åããã·ã¥é¢æ°ã§ãã
åã颿°ã䜿çšããŠãã±ããã®ãã§ãã¯ãµã ãèšç®ããŸãã
MAC=H(Autokey||NTP packet)ããã±ãŒãž ãã§ãã¯ã®æŽåæ§å šäœã¯ãCookie ã®ä¿¡é Œæ§ã«åºã¥ããŠããããšãããããŸããã ããããååŸãããããªãŒãããŒã埩å ã㊠MAC ãåœè£ ã§ããŸãã ãã ããNTP ãµãŒããŒã¯ã·ãŒããçæãããšãã«ã·ãŒãã䜿çšããŸãã ããã«èœãšã穎ããããŸãã
Cookie=MSB_32(H(Client IP||Server IP||0||Server Seed))MSB_32 颿°ã¯ãmd5 ããã·ã¥èšç®çµæããæäžäœ 32 ããããåãåããŸãã ãµãŒããŒãã©ã¡ãŒã¿ã倿Žãããªãéããã¯ã©ã€ã¢ã³ã Cookie ã¯å€æŽãããŸããã ãã®å Žåãæ»æè ã¯åæçªå·ã埩å ããããšããã§ãããç¬èªã« Cookie ãçæã§ããŸãã
ãŸããã¯ã©ã€ã¢ã³ããšã㊠NTP ãµãŒããŒã«æ¥ç¶ããCookie ãåä¿¡ããå¿ èŠããããŸãã ãã®åŸãæ»æè ã¯ç·åœããæ³ã䜿çšããŠãåçŽãªã¢ã«ãŽãªãºã ã«åŸã£ãŠåæçªå·ã埩å ããŸãã
ç·åœããæ³ã䜿çšããŠåæå€ã®èšç®ãæ»æããããã®ã¢ã«ãŽãªãºã ã
for i=0:2^32 â 1 do
Ci=H(Server-IP||Client-IP||0||i)
if Ci=Cookie then
return i
end if
end forIP ã¢ãã¬ã¹ã¯ããã£ãŠããã®ã§ãããšã¯äœæããã Cookie ã NTP ãµãŒããŒããåä¿¡ãã Cookie ãšäžèŽãããŸã§ 2^32 ããã·ã¥ãäœæããã ãã§ãã Intel Core i5 ãæèŒããéåžžã®ããŒã ã¹ããŒã·ã§ã³ã§ã¯ãããã«ã¯ 25 åããããŸãã
NTS - æ°ãããªãŒãããŒ
Autokey ã®ãã®ãããªã»ãã¥ãªã㣠ããŒã«ã«èããããšã¯äžå¯èœã§ããã2012 幎ã«ãããç»å ŽããŸããã ãããã³ã«ã ååã劥åããããã«ã圌ãã¯ãã©ã³ãåã倿Žããããšã決å®ããAutokey v.2 㯠Network Time Security ãšåä»ããããŸããã
NTS ãããã³ã«ã¯ NTP ã»ãã¥ãªãã£ã®æ¡åŒµã§ãããçŸåšã¯ãŠããã£ã¹ã ã¢ãŒãã®ã¿ããµããŒãããŠããŸãã ãã±ããæäœã«å¯Ÿãã匷åãªæå·åä¿è·ãæäŸããã¹ããŒãã³ã°ã鲿¢ããæ¡åŒµæ§ã«åªãããããã¯ãŒã¯ ãã±ããæå€±ã«å¯Ÿããå埩åããããæ¥ç¶ã»ãã¥ãªãã£äžã«çºçããç²ŸåºŠã®æå€±ãæå°éã«æããŸãã
NTS æ¥ç¶ã¯ãäžäœå±€ãããã³ã«ã䜿çšãã XNUMX ã€ã®ã¹ããŒãžã§æ§æãããŸãã ã®äž æåã® ãã®æ®µéã§ãã¯ã©ã€ã¢ã³ããšãµãŒããŒã¯ããŸããŸãªæ¥ç¶ãã©ã¡ãŒã¿ã«åæããããŒãå«ã Cookie ãšä»éãããã¹ãŠã®ããŒã¿ã»ããã亀æããŸãã ã®äž 2çªç®ã® ãã®æ®µéã§ãå®éã®ä¿è·ããã NTS ã»ãã·ã§ã³ãã¯ã©ã€ã¢ã³ããš NTP ãµãŒããŒã®éã§è¡ãããŸãã

NTS ã¯ãTLS çµç±ã§å®å
šãªæ¥ç¶ãéå§ãã Network Time Security Key Exchange (NTS-KE) ãšãNTP ãããã³ã«ã®ææ°çã§ãã NTPv4 ãšãã XNUMX ã€ã®äžäœå±€ãããã³ã«ã§æ§æãããŸãã ããã«ã€ããŠã¯ä»¥äžã§ããå°ã詳ãã説æããŸãã
æåã®ã¹ããŒãž - NTS KE
ãã®æ®µéã§ãNTP ã¯ã©ã€ã¢ã³ãã¯ãNTS KE ãµãŒããŒãšã®å¥ã® TCP æ¥ç¶ãä»ã㊠TLS 1.2/1.3 ã»ãã·ã§ã³ãéå§ããŸãã ãã®ã»ãã·ã§ã³äžã«æ¬¡ã®ããšãèµ·ãããŸãã
- åœäºè ããã©ã¡ãŒã¿ã決å®ãã 第 XNUMX 段éã®ã¢ã«ãŽãªãºã ã
- åœäºè 㯠4 çªç®ã®äžäœå±€ãããã³ã«ãå®çŸ©ããŸãããçŸæç¹ã§ã¯ NTPvXNUMX ã®ã¿ããµããŒããããŠããŸãã
- åœäºè ã¯ãNTP ãµãŒããŒã® IP ã¢ãã¬ã¹ãšããŒããæ±ºå®ããŸãã
- NTS KE ãµãŒããŒã¯ NTPv4 ã§ Cookie ãçºè¡ããŸãã
- åœäºè ã¯ãCookie ãããªã¢ã«ãã察称ããŒã®ã㢠(C2S ããã³ S2C) ãæœåºããŸãã
ãã®ã¢ãããŒãã«ã¯ãæ¥ç¶ãã©ã¡ãŒã¿ã«é¢ããç§å¯æ å ±ãéä¿¡ããè² æ å šäœããå®çžŸã®ããä¿¡é Œæ§ã®é«ã TLS ãããã³ã«ã«ããããšãã倧ããªå©ç¹ããããŸãã ããã«ãããå®å šãª NTP ãã³ãã·ã§ã€ã¯ã®ããã«ç¬èªã®è»èŒªãåçºæããå¿ èŠããªããªããŸãã
第 XNUMX 段é - NTS ä¿è·äžã® NTP
4 çªç®ã®ã¹ãããã§ã¯ãã¯ã©ã€ã¢ã³ã㯠NTP ãµãŒããŒãšæå»ãå®å šã«åæããŸãã ãã®ç®çã®ããã«ãNTPvXNUMX ãã±ããæ§é ã§ XNUMX ã€ã®ç¹å¥ãªæ¡åŒµ (æ¡åŒµãã£ãŒã«ã) ãéä¿¡ããŸãã
- Unique Identifier Extension ã«ã¯ããªãã¬ã€æ»æãé²ãããã®ã©ã³ãã 㪠nonce ãå«ãŸããŠããŸãã
- NTS Cookie Extension ã«ã¯ãã¯ã©ã€ã¢ã³ãã䜿çšã§ãã NTP Cookie ã® 2 ã€ãå«ãŸããŠããŸãã ã¯ã©ã€ã¢ã³ãã®ã¿ã察称 AAED C2S ããŒãš SXNUMXC ããŒãæã£ãŠãããããNTP ãµãŒããŒã¯ãããã Cookie ãããªã¢ã«ããæœåºããå¿ èŠããããŸãã
- NTS Cookie Placeholder Extension ã¯ãã¯ã©ã€ã¢ã³ãããµãŒããŒã«è¿œå ã® Cookie ãèŠæ±ããæ¹æ³ã§ãã ãã®æ¡åŒµã¯ãNTP ãµãŒããŒã®å¿çãèŠæ±ãããé·ããªããªãããã«ããããã«å¿ èŠã§ãã ããã¯å¢å¹ æ»æã®é²æ¢ã«åœ¹ç«ã¡ãŸãã
- NTS ãªãŒã»ã³ãã£ã±ãŒã¿ãŒãšæå·åãããæ¡åŒµãã£ãŒã«ã æ¡åŒµã«ã¯ãC2S ããŒãNTP ããããŒãã¿ã€ã ã¹ã¿ã³ããããã³ä»éããŒã¿ãšããŠäžèšã® EF ãå«ã AAED æå·ãå«ãŸããŠããŸãã ãã®æ¡åŒµæ©èœããªããšãã¿ã€ã ã¹ã¿ã³ããåœè£ ããããšãå¯èœã«ãªããŸãã

ã¯ã©ã€ã¢ã³ããããªã¯ãšã¹ããåä¿¡ãããšããµãŒããŒã¯ NTP ãã±ããã®ä¿¡é Œæ§ãæ€èšŒããŸãã ãããè¡ãã«ã¯ãCookie ã埩å·åããAAED ã¢ã«ãŽãªãºã ãšããŒãæœåºããå¿
èŠããããŸãã NTP ãã±ããã®æå¹æ§ãã§ãã¯ã«æåãããšããµãŒããŒã¯æ¬¡ã®åœ¢åŒã§ã¯ã©ã€ã¢ã³ãã«å¿çããŸãã
- Unique Identifier Extension ã¯ã¯ã©ã€ã¢ã³ãèŠæ±ã®ãã©ãŒã³ããŒã§ããããªãã¬ã€æ»æã«å¯Ÿãã察çã§ãã
- NTS Cookie Extension ã»ãã·ã§ã³ãç¶ç¶ããã«ã¯ãããã« Cookie ã远å ããŸãã
- NTS Authenticator ãšæå·åãããæ¡åŒµãã£ãŒã«ã æ¡åŒµã«ã¯ãS2C ããŒã䜿çšãã AEAD æå·ãå«ãŸããŠããŸãã
åèŠæ±ãšå¿çãã¯ã©ã€ã¢ã³ãã«è¿œå ã® Cookie ãäžãããããXNUMX çªç®ã®ãã³ãã·ã§ã€ã¯ã¯æåã®ã¹ãããããã€ãã¹ããŠäœåºŠãç¹°ãè¿ãããšãã§ããŸãã ããã«ã¯ãPKI ããŒã¿ã®èšç®ãšéä¿¡ãšããæ¯èŒçãªãœãŒã¹ã倧éã«æ¶è²»ãã TLS æäœããç¹°ãè¿ããããªã¯ãšã¹ãã®æ°ã§åå²ããããšããå©ç¹ããããŸãã ããã¯ããã¹ãŠã®äž»èŠãªæ©èœã察称æå·åã®åéããã®ããã€ãã®æ©èœã«ããã±ãŒãžåããTLS ã¹ã¿ãã¯å šäœãå¥ã®ããã€ã¹ã«è»¢éã§ããå Žåãç¹æ®ãª FPGA ã¿ã€ã ããŒããŒã«ãšã£ãŠç¹ã«äŸ¿å©ã§ãã
NTPSec
NTP ã®ç¹å¥ãªç¹ã¯äœã§ãã? ãããžã§ã¯ãã®äœè ã§ãã Dave Mills ã¯ãèªåã®ã³ãŒããå¯èœãªéãææžåããããšããã«ããããããã35 幎åã®æå»åæã¢ã«ãŽãªãºã ã®è€éããçè§£ã§ããçšãªããã°ã©ããŒã§ãã ã³ãŒãã®äžéšã¯ POSIX æä»£ããåã«æžãããŠãããåœæã® Unix API ã¯çŸåšäœ¿çšãããŠãããã®ãšã¯å€§ããç°ãªããŸããã ããã«ããã€ãºã®å€ãåç·äžã®å¹²æžããä¿¡å·ãé€å»ããã«ã¯ãçµ±èšã®ç¥èãå¿ èŠã§ãã
NTS ã¯ãNTP ãä¿®æ£ããæåã®è©Šã¿ã§ã¯ãããŸããã§ããã æ»æè ã NTP ã®è匱æ§ãæªçšã㊠DDoS æ»æãå¢å¹ ããæ¹æ³ãåŠç¿ãããšãæ ¹æ¬çãªå€æŽãå¿ èŠã§ããããšãæããã«ãªããŸããã ãããŠãNTS èæ¡ãæºåããæçµæ±ºå®ãããäžæ¹ã§ã2014 幎æ«ã«ç±³åœåœç«ç§åŠè²¡å£ã¯ NTP ã®è¿ä»£åã®ããã®å©æéãç·æ¥ã«å²ãåœãŠãŸããã
ãã®ã¯ãŒãã³ã°ã°ã«ãŒãã¯èª°ãçããŠããããã§ã¯ãããŸãããã - ãªãŒãã³ãœãŒã¹ ã³ãã¥ããã£ã®åµèšè ããã³æ±ã® XNUMX 人ã§ãããæ¬ã®èè ã Eric ãšåœŒã®å人ãæåã«ããããšããã®ã¯ãNTP ã³ãŒãã BitKeeper ãã©ãããã©ãŒã ãã git ã«ç§»åããããšã§ããããããŸããããŸããã§ããã ãããžã§ã¯ããªãŒããŒã®ããŒã©ã³ã»ã¹ãã³ã¯ãã®æ±ºå®ã«å察ãã亀æžã¯åæ»ããã ãã®åŸããããžã§ã¯ã ã³ãŒãããã©ãŒã¯ããããšã決å®ãããNTPSec ãèªçããŸããã
GPSD ã®ç ç©¶ãå«ã確ããªçµéšãæ°åŠçèæ¯ãå€ä»£ã®ã³ãŒããèªã¿åãéæ³ã®ã¹ãã«ãæã€ãšãªã㯠ã¬ã€ã¢ã³ãã¯ããŸãã«ãã®ãããªãããžã§ã¯ããæãéããããšãã§ããããã«ãŒã§ããã ããŒã ã¯ã³ãŒãç§»è¡ã®ã¹ãã·ã£ãªã¹ããèŠã€ããããã 10 é±éã§ NTP ã宿ãããŸããã GitLab äžã§ã ä»äºã¯æ¬æ ŒåããŠããŸããã
ãšãªãã¯ã»ã¬ã€ã¢ã³ãã®ããŒã ã¯ããªãŒã®ã¥ã¹ãã»ããã³ãç³ã®å¡ã䜿ã£ãŠãã£ãã®ãšåãæ¹æ³ã§ãã®èª²é¡ã«åãçµã¿ãŸããã å€ãã³ãŒãã® 175 KLOC ãåé€ããããšã§ãå€ãã®ã»ãã¥ãªã㣠ããŒã«ãå¡ããæ»æå¯Ÿè±¡é åãå€§å¹ ã«æžããããšãã§ããŸããã
以äžã¯ããã£ã¹ããªãã¥ãŒã·ã§ã³ã«å«ãŸãããã®ã®äžå®å šãªãªã¹ãã§ãã
- ææžåãããŠããªããå€ããæä»£é ãããŸãã¯å£ããåç §ã¯ããã¯ã
- æªäœ¿çšã® ICS ã©ã€ãã©ãªã
- libopts/autogenã
- Windows çšã®å€ãã³ãŒãã
- ntpdcã
- ãªãŒãããŒã
- ntpq C ã³ãŒã㯠Python ã§æžãçŽãããŸããã
- sntp/ntpdig C ã³ãŒã㯠Python ã§æžãçŽãããŸããã
ã³ãŒãã®ã¯ãªãŒã³ã¢ããã«å ããŠããããžã§ã¯ãã«ã¯ä»ã®ã¿ã¹ã¯ããããŸããã ææã®ãªã¹ãã®äžéšã次ã«ç€ºããŸãã
- ãããã¡ ãªãŒããŒãããŒã«å¯Ÿããã³ãŒãä¿è·ãå€§å¹ ã«æ¹åãããŸããã ãããã¡ ãªãŒããŒãããŒãé²ãããã«ãå®å šã§ãªãæåå颿° (strcpy/strcat/strtok/sprintf/vsprintf/gets) ã¯ãã¹ãŠããããã¡ ãµã€ãºå¶éãå®è£ ããå®å šãªããŒãžã§ã³ã«çœ®ãæããããŸããã
- NTS ãµããŒãã远å ããŸããã
- ç©çããŒããŠã§ã¢ããªã³ã¯ããããšã«ãããã¿ã€ã ã¹ããã粟床ã XNUMX ååäžããŸããã ããã¯ãçŸä»£ã®ã³ã³ãã¥ãŒã¿ãŒã®æèšã NTP ãèªçããåœæãããã¯ããã«æ£ç¢ºã«ãªã£ãŠããããã§ãã ãã®æ©æµãæãåããã®ã¯ãGPSDO ãšå°çšã®æå ±ã§ãã
- ããã°ã©ãã³ã°èšèªã®æ°ã¯ XNUMX ã€ã«æžããŸããã Perlãawkãããã«ã¯ S ã¹ã¯ãªããã®ä»£ããã«ããã¹ãŠ Python ã«ãªããŸããã ãã®ãããã³ãŒããåå©çšããæ©äŒãå¢ããŸãã
- autotools ã¹ã¯ãªããã®ä»£ããã«ããããžã§ã¯ãã¯ãœãããŠã§ã¢ ãã«ã ã·ã¹ãã ã䜿çšãå§ããŸããã .
- ãããžã§ã¯ãããã¥ã¡ã³ããæŽæ°ããã³åç·šæããŸããã ççŸããæã«ã¯å€é¢šãªææžã®ã³ã¬ã¯ã·ã§ã³ããã圌ãã¯éåžžã«ç¡é£ãªææžãäœæããŸããã ãã¹ãŠã®ã³ãã³ã ã©ã€ã³ ã¹ã€ãããšãã¹ãŠã®æ§æãšã³ãã£ãã£ã«ã¯ãåäžã®ããŒãžã§ã³ã®çå®ãå«ãŸããããã«ãªããŸããã ããã«ãããã¥ã¢ã« ããŒãžãš Web ããã¥ã¡ã³ããåãã³ã¢ ãã¡ã€ã«ããäœæãããããã«ãªããŸããã
NTPSec ã¯ãå€ãã® Linux ãã£ã¹ããªãã¥ãŒã·ã§ã³ã§äœ¿çšã§ããŸãã çŸæç¹ã§ãææ°ã®å®å®ããŒãžã§ã³ã¯ 1.1.8 ã§ãGentoo Linux ã®å Žåã¯æåŸãã XNUMX çªç®ã®ããŒãžã§ã³ã§ãã
(1:696)$ sudo emerge -av ntpsec
These are the packages that would be merged, in order:
Calculating dependencies... done!
[ebuild R ] net-misc/ntpsec-1.1.7-r1::gentoo USE="samba seccomp -debug -doc -early -gdb -heat -libbsd -nist -ntpviz -rclock_arbiter -rclock_generic -rclock_gpsd -rclock_hpgps -rclock_jjy -rclock_local -rclock_modem -rclock_neoclock -rclock_nmea -rclock_oncore -rclock_pps -rclock_shm -rclock_spectracom -rclock_trimble -rclock_truetime -rclock_zyfer -smear -tests" PYTHON_TARGETS="python3_6" 0 KiB
Total: 1 package (1 reinstall), Size of downloads: 0 KiB
Would you like to merge these packages? [Yes/No]
ã¯ãããŒ
å€ã NTP ãããå®å šãªä»£æ¿ææ®µã«çœ®ãæããå¥ã®è©Šã¿ããããŸããã Chrony ã¯ãNTPSec ãšã¯ç°ãªãããŒãããäœæãããŠãããäžå®å®ãªãããã¯ãŒã¯æ¥ç¶ãéšåçãªãããã¯ãŒã¯ã®å¯çšæ§ãèŒ»èŒ³ãæž©åºŠå€åãªã©ã®å¹ åºãæ¡ä»¶äžã§ç¢ºå®ã«åäœããããã«èšèšãããŠããŸãã ããã«ãchrony ã«ã¯æ¬¡ã®ãããªå©ç¹ããããŸãã
- chrony ã¯ã·ã¹ãã ã¯ããã¯ãããéããããæ£ç¢ºã«åæã§ããŸãã
- chrony ã¯ãµã€ãºãå°ãããã¡ã¢ãªæ¶è²»éãå°ãªããå¿ èŠãªå Žåã«ã®ã¿ CPU ã«ã¢ã¯ã»ã¹ããŸãã ããã¯ãè³æºãšãšãã«ã®ãŒã®ç¯çŽã«ãšã£ãŠå€§ããªå©ç¹ã§ãã
- chrony 㯠Linux äžã®ããŒããŠã§ã¢ ã¿ã€ã ã¹ã¿ã³ãããµããŒãããããŒã«ã« ãããã¯ãŒã¯äžã§éåžžã«æ£ç¢ºãªåæãå¯èœã«ããŸãã
ãã ããchrony ã«ã¯ããããŒããã£ã¹ãããã«ããã£ã¹ãã®ã¯ã©ã€ã¢ã³ã/ãµãŒããŒãªã©ãå€ã NTP ã®æ©èœã®äžéšããããŸããã ããã«ãã¯ã©ã·ã㯠NTP ã¯ãããå€ãã®ãªãã¬ãŒãã£ã³ã° ã·ã¹ãã ãšãã©ãããã©ãŒã ããµããŒãããŠããŸãã
ãµãŒããŒã®æ©èœãš chronyd ããã»ã¹ãžã® NTP ãªã¯ãšã¹ããç¡å¹ã«ããã«ã¯ãchrony.conf ãã¡ã€ã«ã«ããŒã 0 ãæžã蟌ãã ãã§ãã ããã¯ãNTP ã¯ã©ã€ã¢ã³ããŸãã¯ãã¢ã®æéãç¶æããå¿ èŠããªãå Žåã«è¡ãããŸãã ããŒãžã§ã³ 2.0 以éãNTP ãµãŒã㌠ããŒãã¯ãallow ãã£ã¬ã¯ãã£ããŸãã¯é©åãªã³ãã³ãã«ãã£ãŠã¢ã¯ã»ã¹ãèš±å¯ãããŠããå ŽåãNTP ãã¢ãèšå®ãããŠããå ŽåããŸãã¯ãããŒããã£ã¹ã ãã£ã¬ã¯ãã£ãã䜿çšãããŠããå Žåã«ã®ã¿ãªãŒãã³ãããŸãã
ããã°ã©ã 㯠XNUMX ã€ã®ã¢ãžã¥ãŒã«ã§æ§æãããŸãã
- chronyd ã¯ããã¯ã°ã©ãŠã³ãã§å®è¡ããããµãŒãã¹ã§ãã ã·ã¹ãã ã¯ããã¯ãšå€éšã¿ã€ã ãµãŒããŒã®å·®ã«é¢ããæ å ±ãåä¿¡ããçŸå°æéã調æŽããŸãã ãŸããNTP ãããã³ã«ãå®è£ ããŠãããã¯ã©ã€ã¢ã³ããŸãã¯ãµãŒããŒãšããŠæ©èœããŸãã
- chronyc ã¯ãããã°ã©ã ã®ç£èŠãšå¶åŸ¡ã®ããã®ã³ãã³ã ã©ã€ã³ ãŠãŒãã£ãªãã£ã§ãã ããŸããŸãªãµãŒãã¹ ãã©ã¡ãŒã¿ãŒã埮調æŽããããã«äœ¿çšãããŸããããšãã°ãchronyd ã®å®è¡ãç¶ç¶ããªãã NTP ãµãŒããŒã远å ãŸãã¯åé€ã§ããããã«ãªããŸãã
RedHat Linux ããŒãžã§ã³ 7 ä»¥é æå»åæãµãŒãã¹ãšããŠã® chronyã ãã®ããã±ãŒãžã¯ä»ã® Linux ãã£ã¹ããªãã¥ãŒã·ã§ã³ã§ãå©çšã§ããŸãã ææ°ã®å®å®ããŒãžã§ã³ã¯ 3.5 ã§ãv4.0 ã®ãªãªãŒã¹ã®æºåãæŽã£ãŠããŸãã
(1:712)$ sudo emerge -av chrony
These are the packages that would be merged, in order:
Calculating dependencies... done!
[binary N ] net-misc/chrony-3.5-r2::gentoo USE="adns caps cmdmon ipv6 ntp phc readline refclock rtc seccomp (-html) -libedit -pps (-selinux)" 246 KiB
Total: 1 package (1 new, 1 binary), Size of downloads: 246 KiB
Would you like to merge these packages? [Yes/No]
ã€ã³ã¿ãŒãããäžã«ç¬èªã®ãªã¢ãŒã chrony ãµãŒããŒãã»ããã¢ããããŠããªãã£ã¹ ãããã¯ãŒã¯äžã®æå»ãåæããæ¹æ³ã 以äžã¯ VPS ã®ã»ããã¢ããäŸã§ãã
VPSäžã®RHEL/CentOSã«Chronyãèšå®ããäŸ
ããã§å°ãç·Žç¿ããŠãVPS äžã«ç¬èªã® NTP ãµãŒããŒãèšå®ããŠã¿ãŸãããã éåžžã«ç°¡åã§ããRuVDS Web ãµã€ãã§é©åãªæé衚ãéžæããæ¢è£œã®ãµãŒããŒãå ¥æããŠãXNUMX åã®ç°¡åãªã³ãã³ããå ¥åããã ãã§ãã ç§ãã¡ã®ç®çã«ã¯ããã®ãªãã·ã§ã³ãéåžžã«é©ããŠããŸãã

ãµãŒãã¹ã®èšå®ã«é²ã¿ããŸã chrony ããã±ãŒãžãã€ã³ã¹ããŒã«ããŸãã
[root@server ~]$ yum install chronyRHEL 8 / CentOS 8 ã¯ç°ãªãããã±ãŒãž ãããŒãžã£ãŒã䜿çšããŸãã
[root@server ~]$ dnf install chronychrony ãã€ã³ã¹ããŒã«ããåŸããµãŒãã¹ãéå§ããŠã¢ã¯ãã£ãåããå¿ èŠããããŸãã
[root@server ~]$ systemctl enable chrony --nowå¿ èŠã«å¿ããŠã/etc/chrony.conf ã倿ŽããŠãNPT ãµãŒããŒãæãè¿ãããŒã«ã«ãµãŒããŒã«çœ®ãæããŠãå¿çæéãççž®ã§ããŸãã
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
server 0.ru.pool.ntp.org iburst
server 1.ru.pool.ntp.org iburst
server 2.ru.pool.ntp.org iburst
server 3.ru.pool.ntp.org iburst
次ã«ãæå®ããããŒã«ã®ããŒããš NTP ãµãŒããŒã®åæãèšå®ããŸãã
[root@server ~]$ timedatectl set-ntp true
[root@server ~]$ systemctl restart chronyd.service
NTP ããŒããå€éšã«éãããšãå¿ èŠã§ããããããªããšããã¡ã€ã¢ãŠã©ãŒã«ãã¯ã©ã€ã¢ã³ã ããŒãããã®åä¿¡æ¥ç¶ããããã¯ããŸãã
[root@server ~]$ firewall-cmd --add-service=ntp --permanent
[root@server ~]$ firewall-cmd --reload
ã¯ã©ã€ã¢ã³ãåŽã§ã¯ãã¿ã€ã ãŸãŒã³ãæ£ããèšå®ããã ãã§ååã§ãã
[root@client ~]$ timedatectl set-timezone Europe/Moscow/etc/chrony.conf ãã¡ã€ã«ã¯ãNTP ãµãŒã㌠chrony ãå®è¡ããŠãã VPS ãµãŒããŒã® IP ãŸãã¯ãã¹ãåãæå®ããŸãã
server my.vps.serveræåŸã«ãã¯ã©ã€ã¢ã³ãäžã§æå»åæãéå§ããŸãã
[root@client ~]$ systemctl enable --now chronyd
[root@client ~]$ timedatectl set-ntp true
次åã¯ãã€ã³ã¿ãŒãããã䜿çšããã«æå»ãåæããããã®ãªãã·ã§ã³ã«ã€ããŠèª¬æããŸãã
åºæïŒ habr.com
