FreeBSD гарын авлага
Prev | Chapter 29 Сүлжээний орчны Серверүүд | Next

# 29.10 NTP-р Цаг Тааруулах нь

Хувь нэмрээ оруулсан Том Хөүкинс. Орчуулсан Лодойсамбын Баянзул.

## 29.10.1 Ерөнхий Агуулга

Цаг хугацаа өнгөрөхөд компьютерийн цаг зөрөх хандлагатай байдаг. Network Time Protocol буюу Сүлжээний Цагийн Протоколыг(NTP) цагийг зөв байлгах, зөв ажиллуулахад хэрэглэдэг.

Олон тооны Интернэт үйлчилгээнүүд компьютерийн цагаас хамаарч, эсвэл хүртэж ажилладаг. Жишээлбэл, вэб сервер тодорхой цагаас хойш өөрчлөлт орсон файлуудыг илгээх хүсэлт хүлээн авсан байж болох юм. Дотоод сүлжээний орчинд, нэг файл серверээр үйлчлүүлж байгаа компьютеруудын хувьд файлын цагийн тамга дүйж байхын тулд тэдгээрийн цагууд хоорондоо тохирч байх ёстой. cron(8) зэрэг үйлчилгээнүүд тодорхой цагт тушаалыг гүйцэтгэхийн тулд системийн цагт бүрэн найдаж ажилладаг.

FreeBSD ntpd(8) NTP серверийн хамт ирдэг. ntpd(8) NTP нь таны машины цагийг тааруулахын тулд бусад NTP серверүүдээс асуух эсвэл бусдад цагийн мэдээллийг түгээх үйлчилгээг үзүүлдэг.

## 29.10.2 Зохимжтой NTP Серверийг Сонгох нь

Цагаа тааруулахын тулд, та нэг болон түүнээс дээш тооны NTP серверийг хэрэглэх хэрэгтэй болно. Танай сүлжээний администратор эсвэл ISP үүнд зориулсан NTP сервертэй байж болох юм--тийм эсэхийг тэдний заавраас шалгана уу. нийтэд зориулсан NTP серверүүдийн онлайн жагсаалтыг ашиглан өөртөө ойрхон байгаа NTP серверийг олно уу. Сонгож авсан серверийнхээ ашиглах журмыг судлаарай. Мөн хэрэв шаардлагатай бол зөвшөөрөл аваарай.

Таны сонгосон сервер холбогдох боломжгүй, эсвэл цаг нь бүрэн итгэж болохооргүй үе гарах тул, хоорондоо хамааралгүй хэд хэдэн NTP серверүүдийг сонгох нь хамгийн зөв сонголт болдог. ntpd(8) бусад серверээс хүлээн авсан хариултуудыг маш ухаалгаар хэрэглэдэг--итгэж болох серверүүдийг илүү авч үздэг.

## 29.10.3 Өөрийн Машиныг Тохируулах нь

### 29.10.3.1 Үндсэн Тохиргоо

Хэрэв та машин асахад цагаа тааруулах хүсэлтэй байгаа бол, ntpdate(8)-г ашиглаж болно. Энэ нь олон дахин тааруулах шаардлагагүй, ойр ойрхон асааж унтраадаг ширээний компьютерийн хувьд зохимжтой байж болох юм. Гэхдээ ихэнх машины хувьд ntpd(8)-г ажиллуулах нь зүйтэй.

Систем ачаалах үед ntpdate(8)-г ашиглах нь ntpd(8) ажиллаж байгаа машинуудын хувьд зөв санаа юм. Учир нь ntpd(8) програм нь цагийг алгуур өөрчилдөг байхад, ntpdate(8) машины одоогийн цаг болон зөв цагын хооронд хир их ялгаа байгааг үл хайхран цагийг тааруулдаг.

ntpdate(8)-г систем ачаалах үед идэвхжүүлэхийн тулд, `ntpdate_enable="YES"` гэсэн мөрийг `/etc/rc.conf` файлд нэмэх хэрэгтэй. Мөн цаг авах гэж байгаа бүх серверүүд болон ntpdate(8)-д өгөх тугуудыг `ntpdate_flags`-д зааж өгөх хэрэгтэй.

### 29.10.3.2 Ерөнхий Тохиргоо

NTP-г `/etc/ntp.conf` файлын тусламжтай, ntp.conf(5)-д заасан хэлбэрээр тохируулна. Доор хялбар жишээг үзүүлэв:

    server ntplocal.example.com prefer
    server timeserver.example.org
    server ntp2a.example.net

    driftfile /var/db/ntp.drift

`server` тохируулгаар ямар серверүүдийг ашиглахыг заана. Нэг мөрөнд нэг серверийг бичнэ. Хэрэв аль нэг серверийг `prefer` гэсэн аргументаар онцолсон бол, `ntplocal.example.com` шиг, тэр серверийг бусдаас илүүд үзнэ. Илүүд үзсэн серверээс ирсэн хариу бусад серверүүдийн хариунаас мэдэгдэхүйцээр зөрж байгаа үед хариуг тоохгүй өнгөрөөнө. Түүнээс бусад тохиолдолд бусад серверийн хариуг үл харгалзан тэр серверийн хариуг хэрэглэх болно. `prefer` аргументийг ер нь өндөр нарийвчлалтай, тусгай цаг хянадаг тоног төхөөрөмж дээр тулгуурласан NTP серверийн хувьд хэрэглэнэ.

`driftfile` тохируулгаар ямар файлд системийн цагийн алдах зөрүү утгыг хадгалж байгааг заана. ntpd(8) програм энэ утгыг ашиглан цагийн алдсан зөрүүг автоматаар нөхнө. Ингэснээр цагийн бүх гадаад эх үүсвэрүүдтэй холбоо тогтоох боломжгүй болсон үед, хэсэг хугацааны туршид ч гэсэн цагийг харьцангуй зөв ажиллуулах боломжийг олгоно.

`driftfile` тохируулгаар ямар файлд таны зааж өгсөн NTP серверүүдийн өмнөх хариунуудын тухай мэдээллийг хадгалж байгааг заана. Энэ файлд NTP-н дотоод үйл ажиллагааны мэдээллийг хадгалдаг. Энэ мэдээллийг өөр ямар ч процесс өөрчлөх ёсгүй.

### 29.10.3.3 Өөрийн Сервер рүү Хандах Хандалтыг Хянах нь

Анхдагч байдлаар, таны NTP сервер рүү Интернэтэд байгаа бүх хост хандах боломжтой. `/etc/ntp.conf` файл дотор `restrict` тохируулгаар ямар машинууд таны сервер рүү хандаж болохыг хянаж болно.

Хэрэв та өөрийн NTP сервер рүү хэнийг ч хандуулахыг хүсэхгүй байгаа бол `/etc/ntp.conf` файл дотор дараах мөрийг нэмэх хэрэгтэй:

    restrict default ignore

> Note: Энэ нь таны серверээс өөрийн чинь локал тохиргоонд жагсаагдсан аль ч сервер үрүү хандах боломжийг бас хаана. Хэрэв та өөрийн NTP серверийг гадаад NTP сервертэй синхрончлох хэрэгтэй бол ямар нэг серверийг зөвшөөрөх ёстой. Дэлгэрэнгүй мэдээллийг ntp.conf(5) гарын авлагаас үзнэ үү.

Хэрэв та зөвхөн өөрийн сүлжээнд байгаа машинуудыг таны сервертэй цагаа тааруулахыг зөвшөөрөөд, гэхдээ таны серверийн тохиргоог өөрчлөх болон тэгш эрхтэй серверүүд шиг цагийн мэдээллийг хуваахыг зөвшөөрөхгүй бол дээр дурдсаны оронд:

    restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap

гэсэн мөрийг бичнэ үү. Энд `192.168.1.0` нь таны сүлжээний IP хаяг, `255.255.255.0` нь таны сүлжээний баг болно.

`/etc/ntp.conf` дотор олон тооны `restrict` тохируулгууд байж болно. Илүү дэлгэрэнгүй мэдээллийг ntp.conf(5)-н `Хандалтыг Удирдах Дэмжлэг` дэд хэсгээс үзнэ үү.

## 29.10.4 NTP Серверийг Ажиллуулах нь

NTP серверийг систем ачаалах үед эхлүүлэхийн тулд, `ntpd_enable="YES"` гэсэн мөрийг `/etc/rc.conf` файлд нэмж бичих хэрэгтэй. Хэрэв ntpd(8)-д нэмэлт тугуудыг өгөх хүсэлтэй бол, `/etc/rc.conf` файлд байгаа `ntpd_flags` параметрийг засах хэрэгтэй.

Машиныг дахин ачаалалгүйгээр серверийг эхлүүлэхийн тулд, `ntpd` тушаалыг `/etc/rc.conf`-д заасан `ntpd_flags` нэмэлт параметрүүдийн хамтаар өгөх хэрэгтэй. Жишээлбэл:

    # ntpd -p /var/run/ntpd.pid

## 29.10.5 ntpd-г Түр зуурын Интернэт Холболттой үед Хэрэглэх нь

ntpd(8) програм зөв ажиллахын тулд байнгын Интернэт холболт шаардлагагүй. Гэхдээ, хэрэгцээтэй үедээ гадагшаа залгадаг тийм төрлийн түр зуурын холболттой бол, NTP трафикийг гадагшаа залгах болон холболтыг бариад байхаас сэргийлэх нь чухал. Хэрэв та PPP хэрэглэдэг бол, `/etc/ppp/ppp.conf` файл дотор байгаа `filter` директивийг ашиглаж болно. Жишээ нь:

     set filter dial 0 deny udp src eq 123
     # Prevent NTP traffic from initiating dial out
     set filter dial 1 permit 0 0
     set filter alive 0 deny udp src eq 123
     # Prevent incoming NTP traffic from keeping the connection open
     set filter alive 1 deny udp dst eq 123
     # Prevent outgoing NTP traffic from keeping the connection open
     set filter alive 2 permit 0/0 0/0

Дэлгэрэнгүй мэдээллийг ppp(8)-н `PACKET FILTERING` хэсгээс болон `/usr/share/examples/ppp/`-д байгаа жишээнүүдээс авч болно.

> Note: Зарим Интернэт үйлчилгээ үзүүлэгчид бага дугаартай портуудыг хаасан байдаг бөгөөд ингэснээр хариу нь таны машинд хэзээ ч хүрэхгүй болж NTP ажиллахгүй болдог.

## 29.10.6 Цааших Мэдээлэл

NTP серверийн баримтжуулалтыг HTML хэлбэрээр `/usr/share/doc/ntp/`-с олж үзэж болно.

Prev | Home | Next
Microsoft® Windows® харилцагчдад зориулсан Файл болон Хэвлэх Үйлчилгээ (Samba) | Up | `syslogd` ашиглан алсын хост руу бүртгэх нь

Энэ болон бусад баримтуудыг ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/ хаягаас татаж авч болно.

FreeBSD-ийн талаар <questions@FreeBSD.org> хаягтай холбоо барихаасаа өмнө баримтыг уншина уу.
Энэ бичиг баримттай холбоотой асуулт байвал <doc@FreeBSD.org> хаягаар цахим захидал явуулна уу.
Энэ бичиг баримтын орчуулгатай холбоотой асуулт байвал <admin@mnbsd.org> хаягаар цахим захидал явуулна уу.