Study: ComputerScience(CS)/CS: Linux

[Linux] NTP μ„œλ²„ μ‹œκ°„ 동기화

DrawingProcess 2022. 9. 28. 18:12
λ°˜μ‘ν˜•
πŸ’‘ λ³Έ λ¬Έμ„œλŠ” 'NTP μ„œλ²„λ₯Ό ν™œμš©ν•œ μ‹œκ°„ 동기화'에 λŒ€ν•΄ 정리해놓은 κΈ€μž…λ‹ˆλ‹€.
각 μ„œλ²„μ˜ μ‹œκ°„μ΄ μ‘°κΈˆμ΄λΌλ„ ν‹€μ–΄μ§€κ²Œ 되면 둜그λ₯Ό ν™•μΈν•˜λŠ” κ³Όμ •μ—μ„œ μ‹œκ°„ κ°„κ·ΉμœΌλ‘œ 인해 μ •ν™•ν•œ 원인을 νŒŒμ•…ν•˜μ§€ λͺ»ν•˜λŠ” κ²½μš°κ°€ λ°œμƒν•©λ‹ˆλ‹€. 이λ₯Ό μ˜ˆλ°©ν•˜κΈ° μœ„ν•΄ μ„œλ²„ κ°„ μ‹œκ°„ 동기화 ν•˜λŠ” 과정이 ν•„μš”ν•˜λ©°, κΈ€ ν•˜λ‹¨μ—μ„œλŠ” 내뢀망 λ‚΄μ—μ„œ NTP μ„œλ²„λ₯Ό μ΄μš©ν•˜μ—¬ μ§€μ†μ μœΌλ‘œ μ‹œκ°„ 동기화λ₯Ό ν•΄μ£ΌλŠ” μž‘μ—…μ— λŒ€ν•΄ μ†Œκ°œν•˜κ³  μžˆμœΌλ‹ˆ μ°Έκ³ ν•˜μ‹œκΈ° λ°”λžλ‹ˆλ‹€.

 

Linux μ„œλ²„ κ°„ μ‹œκ°„ 동기화 (μΌμ‹œμ )

μˆ˜λ™μœΌλ‘œ μ‹œκ°„ λ³€κ²½ν•˜κΈ° (맀우 λΉ„μΆ”μ²œ)

μ‚¬μš©μžκ°€ νŠΉμ • μ‹œκ°„μ„ μ§€μ •ν•΄μ„œ μ‹œκ°„μ„ μ„€μ •ν•˜λŠ” 방법이 μžˆμœΌλ‚˜, μ΄λŠ” νŠΉμ •ν•œ λͺ©μ μ΄ μ•„λ‹ˆλΌλ©΄ 맀우 λΉ„μΆ”μ²œν•˜λŠ” λ°©λ²•μž…λ‹ˆλ‹€.

date -s "2022-09-27 18:00:00"

ν•˜λ‚˜μ˜ μ„œλ²„λ₯Ό κΈ°μ€€μœΌλ‘œ μ‹œκ°„ 동기화

νŠΉμ • PC 간에 μ‹œκ°„μ„ 'λ˜‘κ°™μ΄' λ§žμΆ°μ•Ό ν•  ν•„μš”κ°€ μžˆμ„ 경우, λ‹€μŒμ˜ λͺ…λ Ήμ–΄λ₯Ό μž…λ ₯ν•˜μ—¬ ν•˜λ‚˜μ˜ μ„œλ²„(192.168.0.1)λ₯Ό κΈ°μ€€μœΌλ‘œ μ‹œκ°„ 동기화λ₯Ό ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

sudo date --set "$(ssh sjchoi@192.168.0.1) 'date -u')"

2. νƒ€μž„ μ„œλ²„λ₯Ό κΈ°μ€€μœΌλ‘œ μ‹œκ°„ 동기화 (μΆ”μ²œ)

νƒ€μž„ μ„œλ²„μ˜ μ‹œκ°„μ„ νšλ“ν•˜μ—¬ Linux μ„œλ²„μ˜ μ‹œκ°„μ„ λ³€κ²½ν•˜λŠ” 방법도 μžˆμŠ΅λ‹ˆλ‹€. μ΄λŠ” μ •μ„λŒ€λ‘œ μ‹œκ°„ 동기화λ₯Ό ν•œ 방법이라고 ν•  수 있으며, ν•˜λ‹¨μ—μ„œ 이에 λŒ€ν•œ μžμ„Έν•œ λ‚΄μš©κ³Ό 이λ₯Ό μ΄μš©ν•˜μ—¬ λ‚΄λΆ€λ§μ—μ„œ μ§€μ†μ μœΌλ‘œ μ‹œκ°„ 동기화λ₯Ό ν•˜λŠ” 방법에 λŒ€ν•΄ 닀루고 μžˆμœΌλ‹ˆ μ°Έκ³  λ°”λžλ‹ˆλ‹€.

date -s <νƒ€μž„ μ„œλ²„ μ£Όμ†Œ>

νƒ€μž„ μ„œλ²„μ˜ μ£Όμ†ŒλŠ” λ‹€μŒκ³Ό 같은 겻듀이 μžˆμŠ΅λ‹ˆλ‹€.

  • time.bora.net
  • time.nist.gov
  • time.kriss.re.kr
  • time.nuri.net
  • time.windows.com

 

Linux μ„œλ²„ κ°„ μ‹œκ°„ 동기화 (지속적): NTP νƒ€μž„ μ„œλ²„

1. NTP(Network Time Protocol) νƒ€μž„ μ„œλ²„λž€?

μ‹œκ°„μ„ 동기화 ν•˜κΈ° μœ„ν•œ ν”„λ‘œν† μ½œμ΄λ©°, ν•΄λ‹Ή κΈ°μ€€μ„œλ²„λŠ” 맀우 μ •κ΅ν•˜κ²Œ μž‘λ™ν•˜λŠ” μ›μžμ‹œκ³„ λ˜λŠ” GPS와 μ—°λ™λœ μ‹œκ³„κ°€ μž₯착된 μ„œλ²„λ₯Ό μ§€μ •ν•©λ‹ˆλ‹€. 이λ₯Ό 효율적으둜 μš΄μš©ν•˜κΈ° μœ„ν•΄ μ„œλ²„μ˜ ν•˜λΆ€ ꡬ쑰에 이λ₯Ό 쀑계할 수  μžˆλŠ” NTP μ„œλ²„λ₯Ό κ΅¬μ„±ν•˜κ²Œ λ˜λŠ”λ°, μœ„μ—μ„œ μ–ΈκΈ‰ν•œ νƒ€μž„μ„œλ²„μ˜ μ£Όμ†Œλ“€μ€ ν•˜λΆ€ κ³„μΈ΅μ˜ NTP μ„œλ²„λ“€ μž…λ‹ˆλ‹€.

이λ₯Ό μ΄μš©ν•˜μ—¬ 내뢀망 λ‚΄μ—μ„œ μ‹œκ°„λ™κΈ°ν™”ν•˜λŠ” 방법을 μ†Œκ°œν•˜λ„λ‘ ν•˜κ² μŠ΅λ‹ˆλ‹€.

2. NTP νŒ¨ν‚€μ§€ μ„€μΉ˜

NTP μ„œλΉ„μŠ€λ₯Ό μ‹€ν–‰ν•˜κΈ° μœ„ν•΄μ„œλŠ”, λ‚΄λΆ€λ§μ˜ NTP μ„œλ²„(Stratum 3)와 ν΄λΌμ΄μ–ΈνŠΈμ— λ‹€μŒμ˜ λͺ…λ Ήμ–΄λ‘œ NTP νŒ¨ν‚€μ§€λ₯Ό μ„€μΉ˜ν•΄μ•Ό ν•©λ‹ˆλ‹€.

$ yum install ntp

λ˜ν•œ ν•˜λ‹¨μ˜ λͺ…λ Ήμ–΄λ₯Ό μ΄μš©ν•˜μ—¬ μ„€μΉ˜λœ νŒ¨ν‚€μ§€λ₯Ό 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.

$ rpm -qa ntp

3. NTP μ„œλ²„ μ„€μ • 파일

기본적인 NTPλ₯Ό κ΅¬μ„±ν•˜λŠ” 상황이라면, μ„€μ • 파일 λ‚΄μš© 쀑 NTP Access Control λΆ€λΆ„κ³Ό λ‚΄λΆ€ NTP μ„œλ²„(Stratum 3)κ°€ μ°Έμ‘°ν•  Stratum 2 μ„œλ²„λ₯Ό 지정해주면 λ©λ‹ˆλ‹€. 

  1. NTP Access Control λΆ€λΆ„
    • restrict <IP λŒ€μ—­> mask <netmask> <μ˜΅μ…˜1> <μ˜΅μ…˜2>
  2. μ°Έμ‘°ν•  Stratum 2 μ„œλ²„λ₯Ό 지정: 일반적으둜 2개λ₯Ό 지정
    • server time.bora.net iburst
    • server time.nuri.net iburst

4. NTP μ„œλ²„ μ„€μ • μ™„λ£Œ

기본적인 섀정을 마치면 ntpd μ„œλΉ„μŠ€λ₯Ό μž¬μ‹œμž‘ν•©λ‹ˆλ‹€.

$ sudo systemctl restart ntpd

5. NTP ν΄λΌμ΄μ–ΈνŠΈ μ„œλ²„μ˜ NTP μ„œλ²„ 동기화

NTP ν΄λΌμ΄μ–ΈνŠΈμ™€ μ„œλ²„λ₯Ό μ—°λ™ν•˜κΈ° μœ„ν•΄ /etc/ntp.conf νŒŒμΌμ„ νŽΈμ§‘ν•˜μ—¬ server 뢀뢄에 κ΅¬μΆ•ν•œ NTP μ„œλ²„μ˜ IPλ₯Ό μž…λ ₯ν•΄μ€λ‹ˆλ‹€.

$ vi /etc/ntp.conf
...
server 192.168.0.1 iburst

섀정을 μ™„λ£Œν•˜κ³  ntpd μ„œλΉ„μŠ€λ₯Ό μ‹€ν–‰ν•˜λ©΄ μ‹œκ°„μ΄ 동기화 λ˜λŠ” 것을 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.

 

μ°Έκ³ 

λ°˜μ‘ν˜•