Appendix A. Advanced Networking in Linux

In Chapter 3, we discussed some basic Linux networking concepts. In this appendix, we’ll use the building blocks from Chapter 3 as a basis for discussing a few advanced Linux networking concepts and configurations.

The topics we’ll cover in this appendix include:

  • Using macvlan interfaces

  • Networking virtual machines (VMs)

  • Working with network namespaces

  • Networking Linux containers

  • Using Open vSwitch (OVS)

Many of these topics could be books on their own! Thus, our focus in discussing these topics won’t be to provide comprehensive, in-depth coverage; instead, we’ll focus on providing enough information for you to understand where these topics fit into the overall networking picture as well as the basics of how to install, configure, or manage these networking configurations.

We’ll start with using macvlan interfaces.

Using macvlan Interfaces

The macvlan interface is sort of like the reverse of a VLAN interface, which we discussed in Chapter 3. VLAN interfaces allow a single physical interface to communicate in multiple VLANs (broadcast domains) simultaneously; you can think of this as a “many (networks) to one (physical interface)” arrangement. Contrast that to mac​vlan interfaces, which allow you to create multiple logical interfaces on a single broadcast domain—a “one (network) to many (logical interfaces)” arrangement. Each macvlan logical interface will have its own Media Access Control (MAC) address, and will only be able ...

Get Network Programmability and Automation now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.