Linux and coding are becoming very valuable skills for network engineers that want to expand their horizons in new areas such as SDN, network automation, and DevOps.
Introduction to Linux
In this series of posts we will try to make a smooth introduction to Linux for network engineers that have zero to very little knowledge of Linux. The monetary investment will be of minimal cost to you since you will only need to spend $60 (at most) to buy a Raspberry Pi (this includes the board, power supply, SD card, enclosure). If you happen to have an old laptop collecting dust, you can install Linux on that and avoid buying any additional hardware.
Obviously, the biggest and most impactful investment will be your time.
On our side, we’ll do our best to give a smooth but solid introduction to Linux for network engineers.
Linux Topics of Interest
As an overview, here is a list of topics that we’ll cover in this series of posts. We will adjust and expand it based on your feedback!
- What do you need to get started
- Getting Started with Raspberry Pi 3B+
- How to connect with Secure Shell (ssh) without a password
- Interface information commands
- How to connect and manage WiFi
- Common utilities (ping, traceroute, telnet, hping3, dig)
- Introduction to nmap, netcat, iPerf, tcpdump, curl
- <Your suggestion goes here>
The list will keep expanding, but for now let’s discuss how you can get your hands on a Linux box with as little cost as possible. There are a few free options if you are comfortable with working on the cloud. All major cloud providers (AWS, Azure, GCloud) have some free offering which allows you to spin a Linux host. The drawback is that all of those offerings have an expiration date, so you won’t be able to use them in the long term.
The best approach would be to use either an old laptop and install Debian based Linux on it or to buy a single board computer such as the Raspberry Pi. Having access to the actual hardware gives you the opportunity to “mess around” with more aspects of the system.
How to Install Linux
Generic Debian installation instructions
Raspberry Pi Installation Instructions
Connecting to Your Linux Device
Apart from the Linux box you will need to be able to connect remotely to it via Secure Shell (ssh). There are several ways to do that, but the simplest ones are the following:
MAC OS users: you are lucky because all you will have to do is use the Terminal to ssh to a Linux host. The MAC OS at its core is based on Linux, so you will be able to transfer a lot of your Linux knowledge to your MAC.
Windows OS users: We have a few options here.
- Putty: Putty is a minimal and very popular client to connect to remote hosts via ssh
- Cygwin: This is a Linux-like environment (similar to Terminal for MAC) that gives you a Command Line Interface (CLI) that can be used to connect to remote hosts but also to emulate Linux on Windows
- Windows 10 Bash Shell: A few years ago Microsoft surprised us by including a native Ubuntu CLI on Windows. This is a very good replacement to Cygwin, and it’s the counterpart to the MAC OS Terminal.
Get ready with one of these options and in the next post we’ll talk how to access your Linux box remotely and without a password (but securely) with ssh.