In this post, I will describe the step by step method that how we will configure the NTP server and client on Solaris 10 and Solaris 11 Operating system. Network time protocol is most important part of any UNIX operating system. We will setup the NTP daemon on both the operating system but before moving to main point we will understand first NTP mechanism.
As you know NTP ( Network time Protocol) is one of the oldest internet protocol still in use and it allows the synchronization of computer clocks distributing UTC (Coordinated Universal Time) over the network.
NTP Service on Solaris 10 and Solaris 11:
Solaris 10 used the SMF utility (Service Management Facility) and the NTP service is now managed by SMF (Service Management Facility). NTP daemon configured using Service management facility (svc:/network/ntp:default) and a bunch of sample ntp.conf files to quickly configure a machine as a client or as a server. On Solaris 11 only ships with NTP v. 4, the NTP v. 4 service is identified by the name ntp4. You can check the ntp status using below command.
sun# svcs status ntp
STATE STIME FMRI
online 10:14:23 svc:/network/ntp:default
If you see the above command output it is shown that network time protocol services is enable and online on the server.
Steps for Configuring a NTP client:
Suppose your machine is just a client machine, then you can just take the /etc/inet/ntp.client file and copy it to /etc/inet/ntp.conf.
multicastclient 127.0.0.1
If you see the configuration it's a passive configuration for a Server host which listens for NTP server putting packets on the NTP multicast network, 127.0.0.1. If your machine is on LAN without NTP server then in that case we are not recveied any packet and for this we need to use Public NTP server for host.
In my case, I'm using the Indian pool in.pool.ntp.org and my configuration file contains:
server 2.in.pool.ntp.org
server 1.asia.pool.ntp.org
server 3.asia.pool.ntp.org
Normally NTP requires a poll period to elapse before starting synchronizing your clock. If you want NTP to start immediately, which you most probably will if you're configuring a desktop environment, you can take advantage of iburst keyword, introduced in NTP v. 4: it instructs NTP to start the synchronization almost right away.
server 2.in.pool.ntp.org ibrust
server 1.asia.pool.ntp.org ibrust
server 3.asia.pool.ntp.org ibrust
You must make sure you're configuring NTP implementation corresponding to the syntax you're using.
Setting up the drift file:
The last thing which is remaining for NTP server setup in the client machine is to set up drift file location. On my machine it is
driftfile /var/ntp/ntp.drift
After setup the drift file configuration we will start the NTP servivce again
sun# svcadm restart svc:/network/ntp:default
sun# svcs status svc:/network/ntp:default
STATE STIME FMRI
online 12:20:12 svc:/network/ntp:default
Once the service is running, you can check which server you're using with ntpq, Please run the below command to check the ntpq.
sun# ntpq -p
Setting up an NTP server:
Now in above step you see the NTP service has been started successfully, so now, you'll probably want to setup all of your machines.
If you're in a LAN, you can setup an internal NTP server which will provide data to other clients on your LAN. As before, you can take inspiration from the server configuration file shipped with Solaris 10 or Solaris 11, /etc/inet/ntp.server.
After setting up the drift file and the clients you're going to use, you can examine the other options and fine-tune them at your taste. Let's give a quick look at it.
server 127.127.XType.0
Now you have configured the NTP server properly. Please comment on the post if you have any suggestion.