There are three common methods to do that:
Method 1: Reboot the machine and set the time in the BIOS. Note that for a pure linux machine like a router it only makes sense to set the bios clock to UTC (GMT0).
Method 2: Set the Linux time with the "date [MMDDhhmm[[CC]YY][.ss]]" command and back it up to the CMOS clock with "hwclock". For example, if it is 9:05:15 pm on Jan 31, 2002, then you would use:
# date 013121052002.15 # hwclock --systohc
hwclock will set the CMOS clock to UTC.
Method 3: Set the Linux time with "rdate {timeserver}" and back it up to the CMOS clock with "hwclock". For example, if you have a Linux box at 192.168.1.3 (see step f), you can use:
# rdate -s 192.168.1.3 # hwclock --systohc
Note that if you don't have a Linux workstation available, you can use a program like AboutTime for Windows to set the Windows machine time correctly, and while AboutTime is running and its server options are enabled you can use "rdate" against that machine.
For the rdate command to work you will have to open the "time" service (tcp/37) from your firewall to the internet. Edit the Shorewall rules file and add:
ACCEPT fw net tcp time