Home Networking

Home / Archive by category "Home Networking"

My network is what ties everything together and I’ve learned a lot about how to keep it running smoothly.

Home Network Vision

I’ve had a project on my list for a long time to get my home network in order and follow the same principles I’ve been advising my clients to follow for years. However, I’ve always been time and cost constrained and not been able to find the right mix of products to satisfy my needs. A friend of mine turned me on to Windows Home Server a couple years ago and it solved many of my problems in one fell swoop. I’ve now created what I believe to be a pretty cool home infrastructure for entertainment and computing.

Below is a physical diagram of my network architecture at my house.

clip_image001[4]

Like most homes today, I have a broadband router hooking me to my ISP. My ISP allows traffic on port 80 and my router allows that traffic to be sent to my Home Server so I can access the Home Server web site, get to files, stream media and access my other machines

In addition, I only use 100 megabit or Gigabit switches along with a single G wireless access point (soon to be N hopefully).

All my client machines are basically access points for documents, images and other media on the home server. Those machines are all running Windows 7 which has fantastic new capabilities through its Libraries features.

Technologies Used

  • Windows Home Server
    • The technologies I use to ensure I am driving towards my eHome vision rests with Windows Home Server. This is a fantastic product and is easily affordable. Basically, it circumvents the need for me to have redundant storage units (like RAID) which have high cost, low manageability and recovery time for the average home user. Windows Home Server gives me remote access to all machines on my network, backs those machines up, represents an easy way to increase storage and offers redundancy in case of multiple drive failures, etc.
    • I basically collected all the smaller hard drives attached to machines throughout my house and stuck them all on a home server (custom built using a really old Dell Dimension with 1 GB of RAM) and created a combined 4 TB pool of storage.
    • Now, I store all my media (backed up DVD’s, music (including Zune subscription music), photos, digital home videos from my Xacti camera (no more tapes! Records right to SD card!) and documents here.
  • KeepVault Add-in for Windows Home Server
    • KeepVault charges $100 a year to backup folders on your Windows Home Server. It scans your home server, asks you which folders it should monitor and then backs them up as they change. If you need to restore files, from any machine in the house, you can open the Windows Home Server Console and access your cloud storage files and restore them to the home server with a few clicks.
    • Even if my home server flames and dies, as soon as I rebuild a new home server, I can install the KeepVault add-in, access my backups an start downloading my preserved files to the home server (i.e., photos, music, movies, etc.)
  • Vista SP1
    • Each client machine has Vista SP1 installed with all its new network copy glory. I can use any of these machines to:
      • Access and stream music and movies
      • Work on documents
      • Manage the home server and network infrastructure
      • Download and add new movies and music

Backup Strategy

Sometimes when I’m writing I come across a topic I want to dedicate an article to and I don’t want to forget to create a link to it from the original article where I thought of it. The link you clicked is an example of that. I haven’t had a chance to write a post about the topic you clicked on, but it’s planned for an upcoming post. Please take a moment to join one of the SweetHomeTech social channels so you’ll be alerted as soon as it’s available.

 

Creating an Emergency Go-Drive

Creating an Emergency Go-Drive

As part of my backup plan, I want an emergency Go-Drive that has my most important documents and information on it so I can get access to what I need from just about anywhere. There are different types of Go-Drives people sometimes create: Some contain vital health information that’s easily accessible by emergency personnel, some have tools and utilities geared toward fixing a compromised computer, some provide access to critical documents and information for personal use when you can’t get to your main files, and I’m sure there are other types as well.  My intent is to create a drive with my critical documents that I might need if access to my home server is unavailable. This drive is the one piece of technology I want to grab if the house is on fire and I’m racing out the door.

There’s another important use for my Go-Drive as well. My wife would be hard-pressed to remember where to look to find these documents on our home network. All the information contained on the Go-Drive is on my HomeServer and backed up to the Cloud, but it would be a chore to locate in a pressure situation for someone who doesn’t regularly use either of those. I want the Go-Drive to be an easy way to tell my wife “If something happens to me and you need to get to our most important documents, look here.”

Finally, my Go-Drive has to be easily refreshed with the latest documents. It’s not much good to me if the data on the drive is outdated, and if it’s a laborious process to refresh it, chances are I won’t do it. I need a process that will allow me to plug these drives in whenever I want and have them automatically refresh with the latest data.

Choosing a drive

It’s important for these drives to be readily accessible if disaster strikes. In that situation, I’m not thinking “Oh yeah, I better grab my Go-Drive” – it has to just be available wherever I am. I decided a USB keychain drive would be the ideal form-factor. I can put one on each of our keyrings and as long as we have our keys, we have our data. These drives are pretty tough and stand up to the elements well – most are waterproof, shockproof, dustproof, etc. I want the drive to be small enough that it’s not cumbersome on the keyring – ideally I won’t even notice it’s there. I also want it to be USB 3.0 for higher transfer speeds and while I don’t really need a large capacity for my purposes I figured I may as well go with 64GB drives since they really aren’t that expensive.

I looked around and found a few i liked and decided rather than picking one, I could get one of each and then put them to the test against each other, so I ended up with drives from three different manufacturers: Transcend, Silicon Power and Corsair.

thumbdrives

While the Silicon Power stick is the largest, it’s also the thinnest at the top where it attaches to the keyring, so it allows the keys to lay more naturally and actually seems less obtrusive than the other two. We’ll see how they hold up over time and which one fails first.

Preparing the Drive

Most USB drives come pre-formatted as FAT or FAT32 for compatibility with the largest variety of devices. However, I want the ability to store large files on the device so I reformatted my drives using exFAT. I also gave them consistent drive labels to help with the automation I’m going to use to refresh the drives on a regular basis. I configured the drive labels with a consistent prefix (GoDrive-) followed by an identifier that allows me to differentiate them if I have them all plugged in at the same time.

Since this drive is going on my keychain and keys have a way of being misplaced, it’s important to me that there is no easily accessible personal information contained on the drive. I don’t want the drive traced back to me since whomever has it also has the keys to my house and car. However, I do want an honest person to be able to get my keys back to me if they find them, so I put a file with contact information in the root of the drive containing a generic gmail address I setup solely for this purpose.

Organizing the Drive

The drive will be split into two sections, open and encrypted:

Open Section

This is a generally available and unencrypted section for easy access to non-sensitive data. This is where the contact file will be so that if someone happens to find the drive they have a way to contact me to return it. This section will also contain a variety of portable apps, including the necessary software to mount the encrypted volume.

Portable Apps

I’m creating this drive with the assumption that if I need to run an app, it will be on a Windows system. Even if I find a place with Macs, it’s highly likely that there are Windows systems available also, so I installed portable apps for Windows not Macs on my drive.   Both the unencrypted and encrypted sections of this drive are usable from Mac and Linux systems as well as Windows.  So, in a pinch (like in an Apple Store), I could still access the data.

So what is a portable app? This is an application that can run on any Windows  machine without being physically installed on that machine. Typically when an application is installed on Windows, it leverages various libraries on the machine, it keeps configuration information in the Registry and program data (including cookies and cache data) on the system drive.  A portable app can be run from a removable drive (like a USB drive) without being formally installed on a given system.  It keeps any persistent data on that drive and not on the host system running it.

Encrypted Section

The encrypted section is for sensitive information like medical records, insurance policies, credit card numbers, etc. VeraCrypt is the successor to TrueCrypt and provides a perfect solution for housing the sensitive data on the drive. Since I already scan all of my personal documents and organize them as part of my Paperless Office project, it’s easy for me to grab the sensitive documents I want on this drive. My entire file cabinet containing documents going back to 1998 is only around 2.5GB so I can easily include all of it on my drive.  I wanted to balance having room to grow on the encrypted volume and the amount of time it would take to copy the resulting volume file to the USB drive when updating so I ended up creating a 6GB volume. This should give me some time before I need to worry about expanding the volume.

The encrypted section contains my entire Paperless Office file cabinet:

  • Monthly Bank, Credit Card and Investment Statements
  • Insurance Policies and Medical Records
  • Front and back copies of important identification cards such as Drivers License, Insurance Cards, Passports, Social Security Cards, etc.
  • Important legal documents such as Wills, Power of Attorney, Home Deeds, Car Titles, etc.

Preparing the Content

I have three drives I need to keep updated and the content comes from a variety of locations, so it’s important to me that the process for managing this is as efficient as possible. I created a GoDrive share on my HomeServer to stage all of the content. To update my Go-Drives, I just copy the entire contents of that share to the drives.

First, I created a simple text file with instructions on how to contact me in case someone found the drive. I didn’t want to use my real email address since you never know whose hands the drive could end up in. Instead, I created a gmail account that I use solely for this purpose.

GoDriveStructure
GoDrive Structure

I installed VeraCrypt on my HomeServer and then created an encrypted volume called FileCabinet on the GoDrive share. I mount this volume as drive letter V: and keep it mounted on the server. I have the CloudBerry plugin for HomeServer installed and use that for local backups, so I created a backup job that will monitor my Paperless Office File Cabinet and backup any changes to the encrypted volume in real time.  When I scan a new document into my file cabinet, it automatically gets replicated over to the encrypted volume, keeping it completely up-to-date at all times.

Then I used the Traveller Disk Setup option in VeraCrypt to create a portable version of VeraCrypt to include on the Go-Drive. I pointed this at the root of the GoDrive share and it creates a VeraCrypt folder that contains everything I need to mount the encrypted volume on any Windows machine.

I also wanted to have a backup of my LastPass vault on the GoDrive so I created a folder for LastPass and put a copy of LastPass Pocket on the GoDrive share too. I exported my LastPass Vault into an encrypted file and put that in the LastPass folder as well.

My favorite file explorer is Directory Opus and that happens to have a portable version available, but it can only be installed to a removable USB drive. I installed it to a thumb drive and then copied the install to the GoDrive share so I’d have that available too.

To manage the other portable apps I want on the Go-Drive I headed over to http://portableapps.com. PortableApps is an easy way to manage a collection of apps that are designed to run from a removable USB drive. When installing Portable Apps, I selected the option to install to a Portable device and pointed it to the GoDrive share. This creates a PortableApps folder containing all of the apps and a utility that makes it easy to launch and manage the installed apps. For my purposes, I installed the following apps:

  • Google Chrome Portable
  • Mozilla Firefox Portable
  • PDF-XChange Viewer Portable
  • 7-Zip Portable
  • TeamViewer Portable

Updating the Drive

I want the update of the drives to be as simple and automatic as possible, so I created a script that will detect these drives when they are plugged into my computer and automatically update them.  Since I may want to connect these drives to my computer for other reasons, I did put a prompt in place, so technically I do have to click one button to initiate the update.

I created a PowerShell script that listens for any plugged in drive and then looks at the drive label. If the drive label starts with “GoDrive-” then it kicks into action and prompts me asking if I want to update the drive. If I say No, it goes away and I can use the drive as normal. If I say Yes, it goes out to the HomeServer and dismounts the encrypted volume, copies the entire contents of the GoDrive share over to the USB drive and then remounts the encrypted volume on the HomeServer. I also included a completion message to make it easy for me to see when the sync was complete.

I scheduled the powershell script using Task Scheduler so that it will start whenever I login to my computer and just in case I accidentally close the window, I have it set to restart the script every hour. Here are the settings I used in the task:

  • Security Options:
    • Run only when user is logged on. (This is important because it’s an interactive script)
    • Run with highest privileges
  • Triggers
    • At log on
    • Daily, recurring every 1 day, repeat every 1 hour for a duration of 1 day, stop all running tasks at end of duration period
  • Actions
    • Start a program
    • Program/script: powershell.exe
    • Add Arguments: -ExecutionPolicy Unrestricted -File “F:\godrive\GoDriveSync.ps1”
  • Settings
    • If the task is already running, Do not start a new instance.

Once a month (or whenever I feel like it) I can simply plug in my Go-Drives and within a few minutes they are completely refreshed with the latest content.