Skip to main content

NTP Server Setup

So some time back I was asked to set up an NTP (Network Time Protocol) server for a client. The particular environment only has a few servers that can access the internet, which were used primarily for WSUS, and the rest of the environment has internet access blocked. So, in this process I'll walk you through installing Meinberg NTP Software (check them out here) and then configuring the PDC's (Primary Domain Controller) registry to obtain time from the newly installed service. I know, I could just set a GPO to order all of the servers in the network to get time from the NTP server, but my goal in this was to limit traffic to the internet connected servers. What I found out is that by default all Windows systems get their time from the PDC by default and update at the time of login. By changing the PDC's registry this default configuration stays in place, and I don't have to wait for the GPO to update throughout the network...

Setup and Instillation

  • Create NTP service account in AD and take note of userID and password
  • On the chosen NTP server create a folder on the C:\ drive named "NTP Files" <this will be our instillation path
  • Download two files from http://www.minbergglobal.com/english/sw/ntp.htm
    • ntp-4.2.6@london-o-lpv-232-setup.exe
    • ntp-time-server-monitor-1.04.exe
  • Instill both files on the chosen NTP server but make sure to direct the instillation path to place the files in the "C:\NTP Files" folder
  • Specify NPT service account
  • Specify NTP Servers as follows:
    • server 0.us.pool.ntp.org
    • server 1.us.pool.ntp.org
    • server 2.us.pool.ntp.org
    • server 3.us.pool.ntp.org
Configuring the PDC

The first think you'll need to do is verify which server is the PDC. This is done by opening a command prompt on one of the DCs and issuing:
  • netdom /query fismo
Once you have verified the PDC, open an Administrative command prompt and issue the following commands:
  • net stop w32time
  • w32tm /config /syncfromflags:manual /manualpeerlist:<hostnameOfServer>
  • w32tm /config /reliable:yes
  • net start w32time
To check the NTP configuration issue command:
  • w32tm /query /configuration
To force the PDC to sync with the time server issue command:
  • w32tm /resync
Check the Event Viewer for any errors, and if this didn't work than you may need to manually edit the registry to point the PDC to the time server. Here's how to do that:
  1. Click Start, click Run, type regedit, then click OK
  2. Locate and select the following registry entry: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters
  3. Select the NtpServer  key and in the Value data section add the host name of the server followed by 0x1
    1. EX: server.domain.local,0x1
  4. Open an Administrative command prompt and issue
    1. net stop w32time && net start w32time
Repeat these steps to configure the backup DC to obtain it's time manually from the PDC or the Time Server.

Be sure to get your Googleing experience on if you run into any issues. There is a lot of documentation out there for setting up time servers in Windows. This is just a quick and dirty compressed guide of what worked for me.

Comments

Popular posts from this blog

Facebook and Two-Factor Auth

So in this post, I'm going to go over a quick setup on how to turn of two-factor auth with Facebook. Facebook does some interesting things once you turn on two-factor auth. If you have the app installed on your device, it will push a login code to that device. You can also set this up with SMS and the DUO Mobile app. We'll go over all three here. For a more high-level document on 2-factor auth, see my post HERE . As I've said before, this is not meant to be an in-depth guide, but more of a how-to for those that wouldn't normally think of turning on additional security settings. With that, let's get started: 1) Fist off, log into your Facebook on a computer and go over to the little down arrow in the upper right corner and select Settings. In the settings area, you'll want to select "Security" on the left. 2) In the Security Settings, you'll need to select the Edit button in the "Login Approvals" section. You'll be presented wi...

Replacing rsyslog with syslog-ng on RHEL 6.5

So...I had a piece of monitoring software that didn't play nice with the RHEL default rsyslog for log collection. The software was developed to only work with syslog-ng. I'll be going over the steps that I took, that worked for me, in replacing rsyslog with syslog-ng. I would imagine that these same steps should work for any Linux system similar to RHEL (Fedora, CentOS, etc.). For others (like Debein based distributions), I would need to look into that (coming in a future update to this post). First, remove rsyslog. You will need to keep the dependencies as they will be needed for syslog-ng: sudo rpm -e --nodeps rsyslog Next we will need to add the EPEL repository (more info can be found HERE ): wget http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm sudo rpm -ivh epel-release-6-8.rpm sudo yum repolist That last command will list all the installed repositories. You are simply verifying that the EPEL package has been installed. Now that we fi...

Using Python for GPG/PGP File Encryption - Part 2

Previously we looked at creating keys, importing public and private keys and the overall setup of gnupg with python. This time around, we're going to take a look at file encryption. Overall the file encryption process is fairly general/easy. But it lacks in the area of scaleablilty, ie to start, you'll only be encrypting one file at a time, which can be done outside of Python with ease. The idea of going over everything in Python, is that you can setup a script to encrypt multiple files in a folder (look for that in Part 3). Assumptions; you have python, and python-gnupg installed, and a public key from someone you want to encrypt and send files to imported to your keystore home (see Part 1 for more information here. Let's get started with Python file encryption. Start off by getting into your python shell, and enter the following: >>> import os >>> import gnupg >>> gpg_home = "/path/to/keyfile/.gnupg" >>> gpg = gnupg....