Network Time Protocol (NTP) provides algorithms and defines messages for the synchronisation of time clients to an accurate time reference. This article discusses how to configure a Linux NTP Time Server to synchronise time with an Internet based public NTP Server.NTP server systems fall into two categories: primary reference servers and secondary reference servers. Primary reference servers use an external timing reference to provide time, such as GPS or radio clocks. Secondary reference servers synchronise with primary reference NTP servers and offer slightly reduced accuracy. Primary reference servers are designated stratum 1 servers, while secondary servers have a stratum greater than 1.The NTP DistributionThe NTP source code is freely available from the Network Time Protocol web site. The current version available for download is 4.2.4. NTP is available for the Linux operating systems with ports available for Windows NT. Once the source code is downloaded, it should be configured, compiled and installed on the host machine. Many Linux operating systems, such as RedHat, offer NTP RPM packages.Configuring NTPThe ‘ntp.conf’ file is main source of configuration information for a NTP server installation. Amongst other things, it contains a list of reference clocks that the installation is to synchronise. A list of NTP server references is specified with the ‘server’ configuration command thus:server time-a.nist.gov # NIST, Gaithersburg, Maryland NTP serverserver time-c.timefreq.bldrdoc.gov # NIST, Boulder, Colorado NTP serverControlling the NTP Server DaemonOnce configured, the NTP daemon can be started, stopped and restarted using the commands: ‘ntpd start’; ‘ntpd stop’ and ‘ntpd restart’. The NTP server daemon can be queried using the ‘ntpq –p’ command. The ntpq command queries the NTP server for synchronisation status and provides a list of servers with synchronisation information for each server.NTP Access ControlAccess to the NTP server can be restricted using the ‘restrict’ directive in the ntp.conf file. You can restrict all access to the NTP server with:restrict default ignoreTo only allow machines on your own network to synchronize with the server use:restrict 192.168.1.0 mask 255.255.255.0 nomodify notrapMultiple restrict directives can be specified in the ntp.conf file to restrict access to a specified range of computers.Authentication OptionsAuthentication allows a matching passwords to be specified by the NTP server and associated clients. NTP keys are stored in the ntp.keys file in the following format: Key-number M Key (The M stands for MD5 encryption), e.g.:1 M secret5 M RaBBit7 M TiMeLy10 M MYKEYIn the NTP configuration file ntp.conf, specify which of the keys specified above are trusted, i.e. are secure and you want to use. Any keys specified in the keys file but not trusted will not be used for authentication, e.g.:trustedkey 1 7 10The NTP server is now configured for authentication.Client Configuration for AuthenticationThe client needs to be configured with similar information as the server, however, you may use a subset of the keys specified on the server. A different subset of keys can be used on different clients, e.g.:Client A)1 M secret7 M TiMeLytrustedkey 1 7Client B)1 M secret5 M RaBBit7 M TiMeLy10 M MYKEYtrustedkey 7 10Essentially authentication is used by the client to authenticate that the time server is who he says he is, and that no rogue server intervenes. The key is encrypted and sent to the client by the server where it is unencrypted and checked against the client keys to ensure a match.
Network Time Protocol (NTP) provides algorithms and defines messages for the synchronisation of time clients to an accurate time reference. This article discusses how to configure a Linux NTP Time Server to synchronise time with an Internet based public NTP Server.NTP server systems fall into two categories: primary reference servers and secondary reference servers. Primary reference servers use an external timing reference to provide time, such as GPS or radio clocks. Secondary reference servers synchronise with primary reference NTP servers and offer slightly reduced accuracy. Primary reference servers are designated stratum 1 servers, while secondary servers have a stratum greater than 1.The NTP DistributionThe NTP source code is freely available from the Network Time Protocol web site. The current version available for download is 4.2.4. NTP is available for the Linux operating systems with ports available for Windows NT. Once the source code is downloaded, it should be configured, compiled and installed on the host machine. Many Linux operating systems, such as RedHat, offer NTP RPM packages.Configuring NTPThe ‘ntp.conf’ file is main source of configuration information for a NTP server installation. Amongst other things, it contains a list of reference clocks that the installation is to synchronise. A list of NTP server references is specified with the ‘server’ configuration command thus:server time-a.nist.gov # NIST, Gaithersburg, Maryland NTP serverserver time-c.timefreq.bldrdoc.gov # NIST, Boulder, Colorado NTP serverControlling the NTP Server DaemonOnce configured, the NTP daemon can be started, stopped and restarted using the commands: ‘ntpd start’; ‘ntpd stop’ and ‘ntpd restart’. The NTP server daemon can be queried using the ‘ntpq –p’ command. The ntpq command queries the NTP server for synchronisation status and provides a list of servers with synchronisation information for each server.NTP Access ControlAccess to the NTP server can be restricted using the ‘restrict’ directive in the ntp.conf file. You can restrict all access to the NTP server with:restrict default ignoreTo only allow machines on your own network to synchronize with the server use:restrict 192.168.1.0 mask 255.255.255.0 nomodify notrapMultiple restrict directives can be specified in the ntp.conf file to restrict access to a specified range of computers.Authentication OptionsAuthentication allows a matching passwords to be specified by the NTP server and associated clients. NTP keys are stored in the ntp.keys file in the following format: Key-number M Key (The M stands for MD5 encryption), e.g.:1 M secret5 M RaBBit7 M TiMeLy10 M MYKEYIn the NTP configuration file ntp.conf, specify which of the keys specified above are trusted, i.e. are secure and you want to use. Any keys specified in the keys file but not trusted will not be used for authentication, e.g.:trustedkey 1 7 10The NTP server is now configured for authentication.Client Configuration for AuthenticationThe client needs to be configured with similar information as the server, however, you may use a subset of the keys specified on the server. A different subset of keys can be used on different clients, e.g.:Client A)1 M secret7 M TiMeLytrustedkey 1 7Client B)1 M secret5 M RaBBit7 M TiMeLy10 M MYKEYtrustedkey 7 10Essentially authentication is used by the client to authenticate that the time server is who he says he is, and that no rogue server intervenes. The key is encrypted and sent to the client by the server where it is unencrypted and checked against the client keys to ensure a match.
Linux – the operating system for a GNU (pronounced Gnew) generation. It has been dubbed the alternative to Microsoft, the solution to all life’s problems and many other things that may or may not be true. But what is Linux, and should you care?To answer the first question, it’s a free operating system that looks and acts very much like Unix. You can download it off the Net for free, or you can copy it legally from a friend – although this might take all the fun out of using that CD-Writer you’ve got and never use for anything, except to brag about it to your friends.Alternatively, you can buy it nicely packaged from an Internet store and get it delivered with a book about Linux, (Linux Unleashed). Distributors charge not for the operating system itself, but for their time in packaging and presenting it. Two popular flavors of Linux are Free BSD and Ubuntu. These offer the same basic systems with a few slight differences that can lead to long and entertaining godly wars between supporters of each.If you’re getting into Linux for the first time, Ubuntu is a good bet. You can either go for Ubuntu Desktop which comes with a GUI, or you can opt for Ubuntu Server if you planning to host websites of your own. The server edition has no GUI, but you can install KDE or Gnome to make your life easier. Most of your configuration will be done via the Terminal and you will have to learn a lot of Linux commands.Linux is more complicated, and it depends on the kind of person you are. If you’re the type of computer user who wants every application to run straight out of the box and your system to just do what it’s told and run your games, then stick with Windows. But if you’re a pioneering soul who wants to find out more about your system and tweak it to perform to the max, then Linux is definitely worth a try.If you want rock-solid Internet access, if you want to support the development of free software and more efficient solutions, or if you’re just the type of person who needs control over every aspect of your life including how your machine performs, then you’re definitely a Linux candidate. Linux is perfectly suited to students, developers and just about anyone who wants to try something other than the norm. Newcomers will find support straight off the Internet from thousands of kindred spirits.It’s worth a try – maybe you’ll discover a Whole New World of fun and adventure. Or maybe you’ll just take it straight off your machine and go back to Windows. However, if you planning to try it out, then load it on that old machine that’s just lying around in the basement. You don’t need powerful processors and hardware – the most important component is memory. If you have 512mb and a 20gig hard drive then you should be OK. You should be able to run all your applications including your websites with ease. Remember, you will need a permanent connection to the Internet if you going to host your own websites. The best part is that you don’t need any antivirus and antispyware software if you’re running Linux. Every would-be-virus-writer out there has only one target in mind – Microsoft Windows.Whether you stick with Linux or not, you’ll have come out of your safety zone and taken a trip to the cutting edge of computer technology.
If you’ve spent any lengthy amount of time on the Internet, you’ve probably heard of open source software but might not have fully understood what it is and why it even exists. This article will describe this recent phenomenon and describe some of its benefits for the software using community.In a nutshell, open source software is software made by everyone – for everyone. The hopes behind its development is that through its open access, it will evolve into something that represents the true desires of computer users. Through a wide network of user involvement, the software in question is enhanced and debugged without costs or administrative politics.Traditionally, software is developed behind closed doors. A team of professional coders build it but the community at large isn’t part of its conception. It’s costly to produce and as you can probably guess, that cost is passed on to the end user: the consumer. Open source software on the other hand is free. Free to download, free to install, free to use, free to modify, and free to share.Started over twenty years ago, it’s a phenomenon that is gaining in both popularity and exposure. In its first conception, open source gave birth to the World Wide Web as we know it today. The Internet as a whole is the result of free permission to access the web, use the web, contribute to the web, and share the web with others. But it certainly hasn’t stopped there. In the not too distant past, Netscape converted its once commercial version of its Navigator web browser to open source. And today, open source is venturing into the commercial realm as well.At first thought, the idea of open source may sound just plain crazy to those who earn a living from software development. But the facts point to a different prediction. Open source software puts companies in a terrific position to re-brand and re-position themselves in a market that they may have not been able to reach before. In the business world, open source is all about image and when consumers witness corporations contributing (instead of selling) to the buying public, they gain big favor in the eyes of their users (plus tremendous opportunities to sell other items).Inviting the public inside a product’s development builds community and trust. It also sets the platform for increased reliability. Fans of open source programs are adamant about reliable software and highly criticize commercialized versions for being buggy and error-prone. Avid fans even proclaim commercialism is the cause of shoddy software.Another benefit that open source brings to light is the speed at which its products are developed, enhanced, supported and distributed. This is because the people who regularly contribute to an open source product do so for unmotivated reasons (other than perhaps to feed the ego.) They’re highly talented, they’re available, and they care. Bringing money into any project can almost mean instant death. It can kill motivation, desire, and a true willingness to create a good product. In a commercial setting, participants work for a paycheck rather than for the product. And this is what puts open source projects far ahead of its monetized competition.As a software user, this means you can contribute to an open source project as well, and help to develop it into a product that reflects your direct preferences. You aren’t “stuck” using open source software the way you would be stuck using an expensive word processor or database. You have the same access to open source software as its programmers have and in essence, you are your own customer!Perhaps at this point you’re wondering where you can get in on this wonderful opportunity. There are plenty of open source opportunities sprinkled across the Internet and they can be easily found though any search engine. Google “open source project” and you’ll be sure to find more resources than you can shake a stick at!