A very good question came in as a comment to my earlier post, the benefits of practicing IT at home. What do I mean by putting some Windows 7 machines on a domain? It’s one of several good home network projects.
I mean standing up a server with centralized user accounts and shares, running on Windows Server or Samba, whichever you can afford. Make it a print server too, and print from it, just like you would from an office. Then extend it, and extend your sysadmin skills. Here are several ideas for projects of varying length, difficulty, and expense.
If you have a Windows server, install WSUS on it and use it to manage patches.
WSUS for patch management is a marketable skill, and it’s free as long as you have a Windows server.
Download a few patches and patch a system by hand with a batch file.
Hint: Saving the patches to one directory, then dropping to a command line, changing to that directory, and issuing the command dir /b >>patches.bat will give you a starting point. Experiment with the switches on the patches–you can force a quiet install, which you’ll probably want to do in the real world. Bring up in a job interview that you know how to do this, because none of the other candidates will.
Patching by hand isn’t something you’ll do all the time, but sometimes in a pinch you may need to.
Write a batch file to back up your My Documents folders to the network.
Hint: Use robocopy. I used to use robocopy to mirror web servers on a Windows-based web farm; this is good practice for that.
Write a batch file to distribute another file to all the computers on the network.
I could have stayed employed indefinitely almost exclusively on the strength of knowing how to copy a group of files out to all 300 of our servers through a batch file. Hint: I used Robocopy for that too. Whether I was pushing out a 1K text file or 1 GB worth of software distribution archives didn’t matter. If I had to guess, that’s what the shop I left in 2009 probably misses the most now that I’m not there anymore.
Stand up a Squid caching proxy.
If you have the space for another Linux box or VM, set up Squid on one of them. Squid is a useful network tool. Administering Squid is a niche skill, but administering Linux isn’t, and Squid is something useful you can run on Linux. Everyone asks me these days what I can do for them besides administer Windows, so it’s a good idea to be able to do both Windows and Linux from as early as possible.
Set up a router and learn the basics of networking.
Even a consumer-grade router is good enough for this. Set up a network on the various private IP ranges (192.168.x.x, 172.16.x.x, and 10.x.x.x). Set up DHCP and set up reservations for known hardware. Watch the behavior change. After you do that, step up to Pfsense.
Build a managed network.
If you can get your hands on some old networking hardware cheaply, like obsolete Cisco switches, buy one and set it up to get some experience with how a professional network operates. Even if you’re more interested in being a sysadmin than a network admin, you still need to work with the network team, and you’ll work better with them if you understand networking.
Stand up your own web server
Here’s some advice on hosting your own web server. Host a blog, a forum, or something interesting to you.
Most importantly, experiment, use it, and depend on it.
More than anything else, you’re trying to build something resembling a small-office network. Build it, then depend on it. If you’re depending on it, you’ll be less reckless in your experimentation, and when something breaks–trust me, it will–you’ll be motivated to fix it. If you’re still in college, you have the campus computer labs to fall back on in a dire emergency. And if the fix proves too complicated, you can learn to work around the problem, which is also a good skill. When the phone rings after hours, there will be times you do the 45-minute workaround to get through the emergency, then spend the next day fixing it right. I’ve been there, done that myself. Many times.