Product SiteDocumentation Site

Fedora 20

Networking Guide

Configuration and Administration of networking for Fedora 20

Edition 1

Stephen Wadeley

Red Hat Engineering Content Services

Legal Notice

Copyright © 2014 Red Hat, Inc. and others.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at The original authors of this document, and Red Hat, designate the Fedora Project as the "Attribution Party" for purposes of CC-BY-SA. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, JBoss, MetaMatrix, Fedora, the Infinity Logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
For guidelines on the permitted uses of the Fedora trademarks, refer to
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
All other trademarks are the property of their respective owners.
The Networking Guide documents relevant information regarding the configuration and administration of network interfaces, networks and network services in Fedora 20. It is oriented towards system administrators with a basic understanding of Linux and networking.
This book is based on the Deployment Guide from Red Hat Enterprise Linux 6. The chapters related to networking were taken from the Deployment Guide to form the foundation for this book.

1. Target Audience
2. About This Book
3. What's new in Fedora 20
4. How to Read this Book
5. Document Conventions
5.1. Typographic Conventions
5.2. Pull-quote Conventions
5.3. Notes and Warnings
6. Feedback
7. Acknowledgments
I. Networking
1. Introduction to Fedora Networking
1.1. How this Book is Structured
1.2. Introduction to NetworkManager
1.3. Installing NetworkManager
1.3.1. The NetworkManager Daemon
1.3.2. Interacting with NetworkManager
1.4. Network Configuration Using the Command Line Interface (CLI)
1.5. Network Configuration Using NetworkManager's CLI (nmcli)
1.6. NetworkManager and the Network Scripts
1.7. Network Configuration Using sysconfig Files
1.8. Additional Resources
1.8.1. Installed Documentation
2. Configure Networking
2.1. Static and Dynamic Interface Settings
2.1.1. When to Use Static Network Interface Settings
2.1.2. When to Use Dynamic Interface Settings
2.1.3. Selecting Network Configuration Methods
2.2. Using NetworkManager with the GNOME Graphical User Interface
2.2.1. Connecting to a Network Using a GUI
2.2.2. Configuring New and Editing Existing Connections
2.2.3. Connecting to a Network Automatically
2.2.4. System-wide and Private Connection Profiles
2.2.5. Configuring a Wired (Ethernet) Connection
2.2.6. Configuring a Wi-Fi Connection
2.2.7. Establishing a VPN Connection
2.2.8. Establishing a Mobile Broadband Connection
2.2.9. Establishing a DSL Connection
2.2.10. Configuring Connection Settings
2.3. Using the Command Line Interface (CLI)
2.3.1. Configuring a Network Interface Using ifcfg Files
2.3.2. Configuring a Network Interface Using ip Commands
2.3.3. Static Routes and the Default Gateway
2.3.4. Configuring Static Routes in ifcfg files
2.3.5. Configuring IPv6 Tokenized Interface Identifiers
2.4. Using the NetworkManager Command Line Tool, nmcli
2.4.1. Understanding the nmcli Options
2.4.2. Connecting to a Network Using nmcli
2.4.3. Configuring Static Routes Using nmcli
2.5. Additional Resources
2.5.1. Installed Documentation
2.5.2. Online Documentation
3. Configure Host Names
3.1. Understanding Host Names
3.1.1. Recommended Naming Practices
3.2. Configuring Host Names Using hostnamectl
3.2.1. View All the Host Names
3.2.2. Set All the Host Names
3.2.3. Set a Particular Host Name
3.2.4. Clear a Particular Host Name
3.2.5. Changing Host Names Remotely
3.3. Additional Resources
3.3.1. Installed Documentation
3.3.2. Online Documentation
4. Configure Network Bonding
4.1. Understanding the Default Behavior of Master and Slave Interfaces
4.2. Creating a Bond Connection Using a GUI
4.2.1. Establishing a Bond Connection
4.3. Using the Command Line Interface (CLI)
4.3.1. Check if Bonding Kernel Module is Installed
4.3.2. Create a Channel Bonding Interface
4.3.3. Creating SLAVE Interfaces
4.3.4. Activating a Channel Bond
4.3.5. Creating Multiple Bonds
4.4. Using Channel Bonding
4.4.1. Bonding Module Directives
4.5. Using the NetworkManager Command Line Tool, nmcli
4.6. Additional Resources
4.6.1. Installed Documentation
4.6.2. Installable Documentation
4.6.3. Online Documentation
5. Configure Network Teaming
5.1. Understanding Network Teaming
5.2. Comparison of Network Teaming to Bonding
5.3. Understanding the Default Behavior of Master and Slave Interfaces
5.4. Understanding the Network Teaming Daemon and the "Runners"
5.5. Install the Network Teaming Daemon
5.6. Converting a Bond to a Team
5.7. Selecting Interfaces to Use as Ports for a Network Team
5.8. Selecting Network Team Configuration Methods
5.9. Creating a Network Team Using a GUI
5.9.1. Establishing a Team Connection
5.10. Configure a Network Team Using the Command Line
5.10.1. Creating a Network Team Using teamd
5.10.2. Creating a Network Team Using ifcfg Files
5.10.3. Add a Port to a Network Team Using iputils
5.10.4. Listing the ports of a Team Using teamnl
5.10.5. Configuring Options of a Team Using teamnl
5.10.6. Add an Address to a Network Team Using iputils
5.10.7. Bring up an Interface to a Network Team Using iputils
5.10.8. Viewing the Active Port Options of a Team Using teamnl
5.10.9. Setting the Active Port Options of a Team Using teamnl
5.11. Controlling teamd with teamdctl
5.11.1. Add a Port to a Network Team
5.11.2. Remove a Port From a Network Team
5.11.3. Apply a Configuration to a Port in a Network Team
5.11.4. View the Configuration of a Port in a Network Team
5.12. Configure teamd Runners
5.12.1. Configure the broadcast Runner
5.12.2. Configure the random Runner
5.12.3. Configure the roundrobin Runner
5.12.4. Configure the activebackup Runner
5.12.5. Configure the loadbalance Runner
5.12.6. Configure the LACP (802.3ad) Runner
5.12.7. Configure Monitoring of the Link State
5.12.8. Configure Port Selection Override
5.12.9. Configure BPF-based Tx Port Selectors
5.13. Configure Network Teaming Using nmcli
5.14. Additional Resources
5.14.1. Installed Documentation
5.14.2. Installable Documentation
5.14.3. Online Documentation
6. Configure Network Bridging
6.1. Configure Network Bridging Using a GUI
6.1.1. Establishing a Bridge Connection
6.2. Using the Command Line Interface (CLI)
6.2.1. Check if Bridging Kernel Module is Installed
6.2.2. Create a Network Bridge
6.3. Using the NetworkManager Command Line Tool, nmcli
6.4. Additional Resources
6.4.1. Installed Documentation
7. Configure 802.1Q VLAN tagging
7.1. Selecting VLAN Interface Configuration Methods
7.2. Configure 802.1Q VLAN Tagging Using a GUI
7.2.1. Establishing a VLAN Connection
7.3. Configure 802.1Q VLAN Tagging Using the Command Line
7.3.1. Setting Up 802.1Q VLAN Tagging Using ifcfg Files
7.3.2. Configure 802.1Q VLAN Tagging Using ip Commands
7.4. Configure 802.1Q VLAN Tagging Using the Command Line Tool, nmcli
7.5. Additional Resources
7.5.1. Installed Documentation
8. Consistent Network Device Naming
8.1. Naming Schemes Hierarchy
8.2. Understanding the Device Renaming Procedure
8.3. Understanding the Predictable Network Interface Device Names
8.4. Naming Scheme for Network Devices Available for Linux on System z
8.5. Naming Scheme for VLAN Interfaces
8.6. Consistent Network Device Naming Using biosdevname
8.6.1. System Requirements
8.6.2. Enabling and Disabling the Feature
8.7. Notes for Administrators
8.8. Controlling the Selection of Network Device Names
8.9. Disabling Consistent Network Device Naming
8.10. Troubleshooting Network Device Naming
8.11. Additional Resources
8.11.1. Installed Documentation
II. Servers
9. DHCP Servers
9.1. Why Use DHCP?
9.2. Configuring a DHCP Server
9.2.1. Configuration File
9.2.2. Lease Database
9.2.3. Starting and Stopping the Server
9.3. DHCP Relay Agent
9.3.1. Configure dhcrelay as a DHCPv4 and BOOTP relay agent
9.3.2. Configure dhcrelay as a DHCPv6 relay agent
9.4. Configuring a Multihomed DHCP Server
9.4.1. Host Configuration
9.5. DHCP for IPv6 (DHCPv6)
9.6. Additional Resources
9.6.1. Installed Documentation
10. DNS Servers
10.1. Introduction to DNS
10.1.1. Nameserver Zones
10.1.2. Nameserver Types
10.1.3. BIND as a Nameserver
10.2. BIND
10.2.1. Empty Zones
10.2.2. Configuring the named Service
10.2.3. Editing Zone Files
10.2.4. Using the rndc Utility
10.2.5. Using the dig Utility
10.2.6. Advanced Features of BIND
10.2.7. Common Mistakes to Avoid
10.2.8. Additional Resources
A. Revision History