No Starch Press recently sent me a preview copy of a new book about the GNS3 network simulator, titled The Book of GNS3 written by Jason Neumann. This book covers the new version of GNS3, GNS3 1.x. Here is my review of The Book of GNS3.
The Book of GNS3 effectively serves as a user manual for GNS3. It offers detailed installation and configuration information for GNS3 1.x in one easy-to-access volume. Experienced users will find some new information in this book, especially about the new features available in GNS3 1.x. However, I think the main beneficiaries will be new or inexperienced users of GNS3.
Most users of GNS3 use it to emulate networks of commercial routers from vendors such as Cisco and Juniper. Understandably, Mr. Neumann spends most of the book discussing how to set up GNS3 to run commercial routers and, as much as is possible, switches.
How does this book help those who want to use open-source routers in GNS3? Read the rest of my review to find out.
Coverage of Open-Source Routing topics
While I read through this book, I looked for the parts that are relevant to my interests in open-source routing software, including software-defined networking, and open-source network simulators. I have written several posts about using GNS3 to emulate open-source routers, and I wondered if The Book of GNS3 included similar information. I found that there is some information that would be useful to people using GNS3 to emulate open-source routers.
Even though most of the book covers Cisco or Juniper topics, information useful to open-source networking researchers is spread throughout the book so it is worth reading the entire book. For example, four of the first five chapters of the book cover general GNS3 topics useful to all users including those emulating open-source routers. As another example, when discussing Juniper Olive in Chapter 6, Mr. Neumann described QEMU procedures that could also be applied to creating virtual machines for open-source routers using the QEMU hypervisor. The book also dedicates a large amount of coverage to topics related to running GNS3 on Linux.
The Book of GNS3 is about getting things working. Most chapters focus on a setting up a separate class of devices that may be emulated by GNS3. Since it is organized in this way, readers can quickly find the topics they need to get started and come back to other chapter is the future as they build more complex scenarios in GNS3.
Below is a list of the contents of the book. I call out information useful for using GNS3 to emulate open-source routers in each section.
Chapter 1: What is GNS3? is a basic introduction to GNS3’s uses and features.
Chapter 2: Installing a Basic GNS3 System provides detailed installation instructions for GNS3 1.x in the three major operating systems: Windows, Apple OS X, and Linux.
Chapter 3: Configuration is about setting up DynaMIPs and the details of configuring GNS3 to work with Cisco routers.
Chapter 4: Creating and Managing Projects covers the GNS3 graphical user interface, how to add and manage routers in a simulation scenario, and how to save simulation scenarios for later use.
Chapter 5: Integrating Hosts and Using Wireshark covers using VirtualBox to emulate hosts. The same procedures could be used for Open-Source routers. It also covers using VPCS to emulate multiple simple PC users and capturing data traffic passing between hosts and routers using Wireshark. These topics will be useful to those using open-source routers in GNS3.
Chapter 6: Juniper Olive and vSRX Firefly shows how to set up a Juniper router in GNS3. It also covers the special case of setting up Juniper’s firewall product, the vSRX Firefly. This chapter includes details about setting up and using QEMU — which is of interest to those using open-source routers in GNS3.
Chapter 7: Device Nodes, Live Switches, and the Internet covers the built-in devices that GNS3 provides to offer switching functions in the emulated network. This covers the GNS3 Ethernet switch, the GNS3 Frame Relay switch, the GNS3 ATM switch, and the Cloud Node. It also covers how to connect emulated GNS3 nodes with the host computer’s Ethernet adapter and the different methods of connecting GNS3 emulated routers to real-world equipment. The chapter also includes some Cisco-specific switch topics but most of the chapter is generally useful to anyone.
Chapter 8: Cisco ASA, IDS, and IOS-XRv covers setting up Cisco management and security appliances, and setting up a router running the virtualized version of Cisco’s IOS, IOS-XRv. The IOS-XRv section provides another example of using QEMU that can also apply to general cases.
Chapter 9: Cisco IOS on Unix and NX-OSv covers Cisco IOS on Unix (IOU) and a virtualized version of Cisco’s switch operating system, NX-OSv. This chapter contains some more examples of using VirtualBox in GNS3, which can be applied to general cases.
Chapter 10: Cool Things to Do on a Rainy Day covers some extra topics, some of which are of interest to users of open-source routers. For example: setting up a remote GNS3 server, details about the GNS3 console, and how to copy GNS3 projects between platforms.
Appendix A: Help! I’ve Fallen and I Can’t Get Up lists GNS3 troubleshooting tips, organized by observable symptoms.
Appendix B: Cisco Hardware Compatible with GNS3 and Appendix C: NM-16ESW and IOU L2 Limitations list detailed information about Cisco hardware types that can be emulated with GNS3, and any limitations related to emulating these cards or features.
Errata and updates
Mr. Neumann provides very detailed command listings for procedures so they should be easy for new users to follow. If any of the details in these command listing change as GNS3 evolves, No Starch Press told me that they will post updates and errata to the GNS3 book’s website and, when they do so, they will automatically update e-book files in users’ accounts.
I found The Book of GNS3 to be a worthwhile read. It offers clear and detailed procedures for using GNS3, without adding any useless fill or padding. The book is structures in an efficient manner that allows readers to find the information they need and skip the chapters not relevant to their current needs.
For researchers who wish to use GNS3 to emulate networking of open-source routers, the book offers detailed procedures in setting up GNS3 and using VirtualBox, and QEMU or QEMU/KVM. Some procedures related to setting up VMs to emulate Juniper or Cisco IOU nodes can also be applied to setting up VMs to run open-source routing software.
I received an unsolicited free e-book copy of The Book of GNS3 from the book’s publisher No Starch Press. They did not require that I write anything about the book. I received no compensation from No Starch Press (other than the free copy of the e-book, if that counts).