در توسینسو تدریس کنید

و

با دانش خود درآمد کسب کنید

آموزش راه اندازی یک NTP سرور بسیار ساده در لینوکس

چند وقت پیش خانم مهندس مرشدی مقاله ای با عنوان NTP سرور در وب سایت انجمن تخصصی فناوری اطلاعات ایران منتشر کردند ، در ادامه بنده روش معرفی یک NTP سرور به Domain Controller های موجود در شبکه را نیز به شما معرفی کردم اما هنوز یاد نگرفته ایم که چگونه یک NTP سرور راه اندازی کنیم ؟ در این آموزش قصد داریم به شما نحوه نصب و راه اندازی سرویس NTP در یک سیستم عامل لینوکس را آموزش بدهیم. روشی که ما در نظر گرفته ایم در اکثر نسخه های لینوکس قابل پیاده سازی است اما با توجه به اینکه اکثر لینوکس هایی که در سازمان های بزرگ به عنوان سرور استفاده می شود از نوع RedHat یا CentOS هستند این آموزش نیز تا حدود زیادی بر روی این توزیع ها متمرکز شده است.

NTP مخفف کلمه Network Time Protocol یا پروتکل زمان شبکه است. NTP برای یکپارچه سازی و هماهنگ سازی زمان در شبکه های توزیع شده مورد استفاده قرار می گیرد ، منظور از شبکه های توزیع شده یا Distributed Networks شبکه هایی است که در آنها تعداد زیادی دستگاه در مناطق جغرافیایی مختلف قرار گرفته اند. در سرورهای ویندوزی عملیات هماهنگ سازی زمان وظیفه Domain Controller ای است که نقش PDC Emulator را بر عهده دارد در واقع سرور PDC Emulator همان Time Server ما است ، اما در سیستم عامل لینوکس همه این موارد بایستی تعریف شود.

فرض کنید یک مدل به شکل زیر را در شبکه دارید ، در این مدل یک NTP سرور به آدرس 192.168.1.5 وجود دارد که اطلاعات زمان و تاریخ خود را از یک سرور خارجی به آدرس 212.65.10.1 بروز رسانی می کند. تمامی Node های دیگر شبکه از این Local NTP زمان خود را بروز رسانی و یکپارچه می کنند ، این سناریو دقیقا مانند همان ساختار Domain controller ها و PDC می باشد که کلاینت ها از سرور PDC و سرور PDC از یک Time Server خارجی اطلاعات زمان را دریافت می کند :

آموزش راه اندازی NTP سرور لینوکسی

برای نصب و راه اندازی این NTP سرور به آدرس 192.168.1.5 دستورالعملی که در این آموزش می بینید را به ترتیب انجام دهید ، تمامی این دستورات بصورت تمام و کمال در سیستم عامل های لینوکس توزیع CentOS و RedHat Enterprise 5 تست شده است و شما با خیال راحت می توانید آنها را انجام دهید ، قبل از اینکه به سراغ نصب Package های مربوطه بکنیم مطمئن شوید که سرور شما دسترسی لازم به اینترنت را دارد در این حال دستور زیر را برای نصب شدن پکیچ NTP Server وارد کنید :

rpm -ivh ntp-4.2.2p1-9.el5.i386.rpm

بعد از اینکه دستور بالا به درستی انجام شد و Package مربوط به NTP بر روی سرور نصب شد فایل ntp.conf را که در مسیر //etc//ntp.conf قرار دارد را باز کنید. تمامی خطوطی که با pool.ntp.org ایجاد شده اند را با استفاده از علامت # به حالت Comment در بیاورید و در انتها آدرس IP سرور NTP خارجی را وارد به شکل زیر در این فایل وارد کنید :

# server 0.rhel.pool.ntp.org
# server 1.rhel.pool.ntp.org
# server 2.rhel.pool.ntp.org
server 212.65.10.1

فایل ntp.conf را ذخیره کنید و از ان خارج شوید ، محتویات کلی فایل بعد از باز کردن باید به شکل زیر باشد :

# cat /etc/ntp.conf
# For more information about this file, see the man pages
# ntp.conf(5), ntp_acc(5), ntp_auth(5), ntp_clock(5), ntp_misc(5), ntp_mon(5).

driftfile /var/lib/ntp/drift

# Permit time synchronization with our time source, but do not
# permit the source to query or modify the service on this system.
restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery

# Permit all access over the loopback interface.  This could
# be tightened as well, but to do so would effect some of
# the administrative functions.
restrict 127.0.0.1
restrict -6 ::1

# Hosts on local network are less restricted.
#restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap

# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
# server 0.rhel.pool.ntp.org
# server 1.rhel.pool.ntp.org
# server 2.rhel.pool.ntp.org
server 212.65.10.1

#broadcast 192.168.1.255 autokey        # broadcast server
#broadcastclient                        # broadcast client
#broadcast 224.0.1.1 autokey            # multicast server
#multicastclient 224.0.1.1              # multicast client
#manycastserver 239.255.254.254         # manycast server

اگر محتویات فایل را به همان شکلی که در بالا مشاهده می کنید در ntp.conf مشاهده کردید از آن خارج شوید. با استفاده از دستور زیر فایل ntpservers به آدرس //etc//ntp//ntpservers را باز کنید و محتویات آن را به شرح زیر تغییر دهید :

cat /etc/ntp/ntpservers
#This file contains a list of ntp servers to show in the system-config-date user interface.
#It is not recommended that you modify this file by hand.
212.65.10.1

فایل را ذخیره کنید و از آن خارج شوید و اینک فایل step-tickers را در مسیر //etc//ntp//step-tickers مطابق موارد زیر ویرایش کنید :

cat /etc/ntp/step-tickers
server 212.65.10.1

با استفاده از دستور زیر کاری کنید که سرویس ntpd بصورت خودکار زمان boot شدن لینوکس اجرا شود :

chkconfig ntpd on

برخی اوقات وجود فایروال ممکن است از سرویس دهی درست NTP سرور جلوگیری کند برای اینکه این مشکل پیش نیاید کافیست دستورات زیر را برای پیکربندی فایروال IPTables لینوکس برای عبور ترافیک NTP وارد به شکل زیر وارد کنید :

iptables -I OUTPUT -p udp -m udp -m multiport --dports 123 -m state --state NEW -j ACCEPT
iptables -I INPUT -p udp -m udp -m multiport --sports 123 -m state --state NEW -j ACCEPT

همچنین rule های زیر را نیز در فایل //etc//sysconfig//iptables مشابه زیر انجام دهید :

cat /etc/sysconfig/iptables
# Firewall configuration written by system-config-securitylevel
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]
-I OUTPUT -p udp -m udp -m multiport --dports 123 -m state --state NEW -j ACCEPT
-I INPUT -p udp -m udp -m multiport --dports 123 -m state --state NEW -j ACCEPT
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p 50 -j ACCEPT
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT

بعد از ذخیره کردن و خارج شدن از فایل بالا سرویس ntpd را با استفاده از دستور زیر Start کنید :

 service ntpd start

برای تکمیل شدن فرآیند و اینکه Client Node ها بتوانند زمان را با سرور Sync کنند مراحل زیر را در Client ها انجام دهید ، فایل crontab را در حالت ویرایش باز کنید و دستورات زیر را درون این فایل برای یکسان سازی زمان با NTP سرور در هر دقیقه یکبار وارد کنید :

* * * * * /usr/sbin/ntpdate -s -b -p 8 -u 192.168.1.5 > /dev/null 2>&1

فایل را ذخیره و از آن خارج شوید ، در اینجا شما هم سرور NTP و هم Client ای که قرار است زمان را با آن یکسان سازی کند را به درستی پیکربندی کردید و یک NTP سرور ساده لینوکسی راه اندازی کردید ، امیدوارم مورد توجه شما قرار گرفته باشد . ITPRO باشید.

نویسنده : محمد نصیری

منبع : انجمن تخصصی فناوری اطلاعات ایران

هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی می باشد

#آموزش_راه_اندازی_ntp_سرور #ntp_چیست؟ #معرفی_time_server_به_شبکه #آموزش_راه_اندازی_time_server #ntp_سرور_لینوکسی #راه_اندازی_ntp_در_redhat #راه_اندازی_ntp_سرور #راه_اندازی_ntp_سرور_لینوکسی #sntp_چیست؟
10 نظر
محمد حسن غلامی

سلام

اگه من اون External Time Server را نداشته باشم و بخوام سرورهام با این سرور لینوکسی Sync بشن با این روشی که اینجا گفتید امکان پذیر هست؟؟

محمد نصیری

External Time Server فقط يك آدرس هست طبيعتا مي تونه هر آدرس ديگه اي باشه ... بله قطعا جواب ميده .

hamed_forum

با تشکر از اقای نصیری

چه time server های رو پیشنهادم یدهید که به عنوان خارجی قرار دهیم

محمد نصیری

برای ایران این لیست رو پیشنهاد میدم :

server 2.ir.pool.ntp.org
server 0.asia.pool.ntp.org
server 3.asia.pool.ntp.org
hamed_forum

برای کلاینت های ویندوزی چکارکنیم که به تونsync کنند؟

در شبکه work group و client server ی؟

محمد نصیری

ورک گروپ که طبیعتا باید دونه دونه دستورش زده بشه اما در دومین فقط کافیه pdc emulator. به این ادرسها اشاره کنه

hamed_forum

با عرض شرمنده گی سوال فراوان

من centos6.7 نصب کردم فایل ntpservers نبود (البته دستور اول رو زدم جواب نداد همه پکیج ها رو اپدیت کردم گفت ntp نصب )

بعد همین سه سروری که برای ایران فرموردین رو اضافه کردم اما وقتی دستور

ntpq -p

*194.225.150.25 194.190.168.1

+einzbern.turena 103.1.106.69

+218.189.210.4 128.9.176.30

محمد نصیری

خوب شما NTP رو نصب کردید ؟ به نظرم به این آموزش که جدیدتر هست مراجعه کنید این آموزش تقریبا برای دو سال پیش هست :

http://www.tecmint.com/install-ntp-server-in-centos/
http://www.server-world.info/en/note?os=CentOS_7&p=ntp
هومن حیدری

در صورتی که NTP Server به اینترنت دسترسی نداشته باشد و ساعت را به صورت دستی روی سرور تنظیم کنیم و بخواهیم به صورت آفلاین به کلاینت ها سرویس دهیم باید چه کار کنیم؟

محمد نصیری

فرقی در اصل ماجرا نمیکنه ، شما فقط باید به جای آدرس NTP آدرس 127.0.0.1 وارد کنید.

نظر شما
برای ارسال نظر باید وارد شوید.
از سرتاسر توسینسو
تنظیمات حریم خصوصی
تائید صرفنظر
×

تو می تونی بهترین نتیجه رو تضمینی با بهترین های ایران بدست بیاری ، پس مقایسه کن و بعد خرید کن : فقط توی جشنواره پاییزه می تونی امروز ارزونتر از فردا خرید کنی ....