Two weeks ago I finished creating a network host based on Linux Core 6.3 installed on WMware x86-64 virtual machine. I loaded Core Linux with several network extensions that allows host to generate, measure, route network traffic and scan networks. I also wrote a short article that contains a list of loaded extension.
Then I went further with the project and my goal was to build L3 switch and router based on Core Linux 6.3 loaded with Open vSwitch, Quagga, Bird and Keepalived extension. Those are the right extensions that turn a network host to routing and switching appliance. Furthermore routing daemons Quagga and Bird and multilayer switch Open vSwitch are used in many large production networks so it is certainly worth to be familiar with them.
The R&S appliance I built can be used for learning networking on Linux, routing and switching. The appliance is available for download in Download section. Please be aware that it is only vmdk disk not the whole virtual machine. For this reason you have to create a virtual machine in your favorite virtualizer (Qemu, VirtualBox, VMware Player/Workstation) and then attach the disk to the virtual machine. As some users have troubles to do these steps I share a quick hint for VMware Workstation 10:
CTRL-N -> Custom (advanced) installation -> Hw compatibility - Workstation 10.0-> I will install OS later-> Other Linux 3.x kernel 64-bit-> I/O Controller Types - LSI Logic-> Virtual Disk Type - SCSI-> Use an existing virtual disk.
The virtual VMware appliance contains the following extensions:
openvswitch - 2.4.90
quagga - 0.99.24.1
bird - 1.5.0
keepalived - 1.2.19
bash - 4.3.39(1) with patches up to 39
bash-completion - 2.1
d-itg - 2.8.1-r1023
hping3 - 3.0.0-alpha-1
iperf3 - 3.1b3
iproute2 - 3.14.0
iptables - 1.4.21
ipv6-3.16.6-tinycore64 - 3.16.6
libpcap - 1.7.4
mtr - 0.86
ncat - 6.40
nmap - 6.40
openssh - 6.0p1
tcpdump - 4.7.4
Note: If the application is needed and it is not on the list, it can be installed with the command:
$ tce-load -wi your_extension.tcz
In case the extension is not available in Tinycore public repository (HTTP/1.1 404) you have to built it by yourself.
For those who are interested in installation steps the whole process of extension installation is described in this article.
Here I share one of my lab based on my Linux Core L3 switch and router appliance for your inspiration.