Ntp time synchronization problems

There is one server in my company where the time is out of sync.
When I checked (compared with other servers whose time is correct), the XNTPD variable in /etc/rc.config.d/netdaemons was set as 0.
I changed this to 1, and tried restarting the xntpd process with :

# /sbin/init.d/xntpd start

however seems like there is no effect.

I also tried and used this command :

# ntpq -p

But I get this error :
ntpq: read: Can't assign requested address

Some solutions I googled have suggested killing processes which are using the port 123, which is the default port for ntp. And then try restarting xntpd.

Another option given was to try and reboot the server after making changes required in configuration files.

However, there are too many important processes that are running on port 123 at the moment, like nfs, and rpcbind. I am afraid killing these processes will cause problems.

Will a reboot resolve this problem?

I have checked and compared all settings in the configuration files for ntp setup (like /etc/rc.config.d/netdaemons, /etc/ntp.conf, /etc/TIMEZONE) with other servers(where ntp works), and everything is the same.

I haven't used HP-UX for years so I'm not an expert but have you checked that the DNS (services and configuration) is working because a NTP server name needs to be resolved like any other URL. Can you ping the NTP server name?

Yes, I have checked and both the NTP servers are pingable.
Now I believe the problem is not with the DNS settings, but the port that ntp is running on.

The port 123 is used by other processes, and probably killing it(like suggested by other forums) and then starting ntp will help, but I have yet to try this.

Also when I check with other servers which have ntp installed and running, the ports that use ntp are not 123. Those are customized ports. How is this done (customizing the ports on which ntp runs)?

Looks like you can't change NTP port directly but you can use iptables to redirect UDP:123 requests to your actual target UDP port your NTP servers are running at.

Take a look here for few examples.

Does it work if you issue with ntp daemon off :

ntpdate <your ntp server>

If it works command should return data indicated that time was synced.
You can run it multiple times if you want.

Can you check your NTP conf on the client (that box) ?
Does netstat or lsof show what is holding the port open ?

Perhaps your HPUX box is configured as NTP server with some other (copied) /etc/ntp.conf config file and directives in it to bind to non existing address ?

If your server is NTP client (wants to sync time from your NTP servers), all you should have is couple of lines in ntp.conf (with additional steps you did correctly - netdaemons etc) for things to work (with resolving working or hosts/resolv.conf file configured).