Show Table of Contents
2.7. Networking
Read this section for a summary of changes to networking, network protocol support and relevant configuration tools between Red Hat Enterprise Linux 6 and Red Hat Enterprise Linux 7.
2.7.1. Recommended naming practices
A host name can be a free-form string of up to 64 characters in length. However, Red Hat recommends that both static and transient names match the fully-qualified domain name (FQDN) used for the machine in DNS, such as
host.example.com. The hostnamectl tool allows static and transient host names of up to 64 characters including a-z, A-Z, 0-9, -, and . only. Underscores are technically permissible in the current specification. However, since older specifications forbid them, Red Hat does not recommend using underscores in host names.
The Internet Corporation for Assigned Names and Numbers (ICANN) sometimes adds previously unregistered Top-Level Domains (such as
.yourcompany) to the public register. Therefore, Red Hat strongly recommends that you do not use a domain name that is not delegated to you, even on a private network, as this can result in a domain name that resolves differently depending on network configuration. As a result, network resources can become unavailable. Using domain names that are not delegated to you also makes DNSSEC more difficult to deploy and maintain, as domain name collisions add manual configuration penalties to DNSSEC validation.
For further information about this issue, see the ICANN FAQ on domain name collision: http://www.icann.org/en/help/name-collision/faqs
2.7.2. Updates to NetworkManager
Red Hat Enterprise Linux 7 includes an updated version of NetworkManager, which provides a number of enhancements and some new features.
- The nmcli tool now supports editing connections with the
nmcli con editandnmcli con modifycommands. - A new text-based user interface (nmtui) provides a streamlined console-based tool for editing network configuration and controlling network connections. This replaces the system-config-network-tui tool.
- Previously, NetworkManager ignored network interfaces it did not recognize (interfaces other than Ethernet, Infiniband, WiFi, Bridge, Bond, and VLAN). NetworkManager now recognizes any network interface picked up by
ip link, and exposes these interfaces through the D-Bus interface and clients such as nmcli. This brings NetworkManager to closer parity with tools like ip. - NetworkManager now non-destructively takes ownership of interfaces that it can natively configure, such as Ethernet, InfiniBand, Bridge, Bond, VLAN, and Team interfaces. If these interfaces are configured before NetworkManager starts or restarts, the previously configured connections are not interrupted. This means that the
NM_CONTROLLEDoption is no longer required. - Support for checking network connectivity, hotspots and portals. This behavior is disabled by default.
- Support for team interfaces.
- Basic, non-native support for GRE, macvlan, macvtap, tun, tap, veth, and vxlan devices.
- A new NetworkManager-config-server package provides defaults that are suitable for servers, such as ignoring carrier changes and not creating default DHCP connections.
- A new
dns=noneconfiguration option forNetworkManager.confprevents NetworkManager from making changes to theresolv.conffile. - Support for fast user switching.
- Support for locking a connection to the name of an interface in addition to, or instead of, the MAC address of an interface.
This update also changes configuration file monitoring behavior. NetworkManager no longer monitors on-disk configuration files for changes. Instead, users must manually reload changed configuration files with the
nmcli con reload command.
2.7.3. New Network Naming Schema
Red Hat Enterprise Linux 7 provides methods for consistent and predictable network device naming for network interfaces. These features change the name of network interfaces on a system in order to make locating and differentiating the interfaces easier.
Traditionally, network interfaces in Linux are enumerated as
eth[0123...], but these names do not necessarily correspond to actual labels on the chassis. Modern server platforms with multiple network adapters can encounter non-deterministic and counter-intuitive naming of these interfaces. This affects both network adapters embedded on the motherboard (Lan-on-Motherboard, or LOM) and add-in (single and multi-port) adapters.
In Red Hat Enterprise Linux 7, systemd and udevd support a number of different naming schemes. The default behavior is to assign fixed names based on firmware, topology, and location information. This has the advantage of names that are fully automatic and fully predictable, stay fixed even if hardware is added or removed (no re-enumeration takes place), and that broken hardware can be replaced seamlessly. The disadvantage to this behavior is that the names are sometimes harder to read than the name that has previously been used, for example,
enp5s0 in place of eth0.
The following naming schemes for network interfaces are now supported by udevd natively.
- Scheme 1
- Names incorporating Firmware or BIOS provided index numbers for on-board devices, for example,
eno1. systemd names interfaces according to this scheme by default if that information from the firmware is applicable and available, with scheme 2 used as a fallback. - Scheme 2
- Names incorporating Firmware or BIOS provided PCI Express hotplug slot index numbers, for example,
ens1. systemd names interfaces according to this scheme by default if that information from the firmware is applicable and available, with scheme 3 used as a fallback. - Scheme 3
- Names incorporating physical location of the connector of the hardware, for example,
enp2s0. systemd names interfaces according to this scheme by default if that information from the firmware is applicable and available, with scheme 5 used as a fallback. - Scheme 4
- Names incorporating the interface's MAC address, for example,
enx78e7d1ea46da. By default, systemd does not name interfaces according to this scheme, but it can be enabled if required. - Scheme 5
- The traditional unpredictable kernel-native ethX naming, for example,
eth0. systemd names interfaces according to this scheme if all other methods fail.
If the system has
BIOSDEVNAME enabled, or if the user has added udevd rules that change the names of kernel devices, these rules will take precedence over the default systemd policy.
For further information about this new naming system, see the Red Hat Enterprise Linux 7 Networking Guide, available from http://access.redhat.com/site/documentation/Red_Hat_Enterprise_Linux/.
2.7.4. New networking utility (ncat)
A new networking utility, ncat, replaces netcat in Red Hat Enterprise Linux 7. ncat is a reliable back-end tool that provides network connectivity to other applications and users. It reads and writes data across the network from the command line, and uses both TCP and UDP for communication.
Some of the commands in ncat differ from those originally provided by netcat, or provide different functionality with the same options. These differences are outlined in the following list.
- The
netcat -Poption took a specified user name to present to a proxy server that required authentication. The ncat option for this behavior is--proxy-auth user[:pass]. - The
netcat -Xoption took a specified protocol for the networking utility to use when communicating with a proxy server. The ncat option for this behavior is--proxy-type. - The
netcat -xoption took an address and an optional port for the networking utility to connect to with the proxy server. The ncat option for this behavior is--proxy, which takes an IP address and an optional port, like so:--proxy host[:port]. - The
netcat -doption disabled reading from stdin. Thencat -doption allows the user to specify a wait time between read or write operations. However, ncat provides the--recv-onlyoption, which provides similar behavior tonetcat -d. - The
netcat -ioption specified an interval between lines of text sent and received, or between connections to multiple ports. Thencat -ioption specifies the amount of time a connection can idle before the connection times out and is terminated. There is no equivalent in ncat to thenetcat -ioption. - The
netcat -woption specifies the amount of time a connection that cannot be established can idle before the connection times out and is terminated. Thencat -woption specifies the amount of time to attempt connection before timing out.
Some options that were available in netcat do not have equivalents in ncat. ncat cannot currently perform the following.
- Enable debugging on the socket (previously provided by
netcat -D). - Specify the size of the TCP send and receive buffers (previously provided by
netcat -Iandnetcat -O). - Specify that source or destination ports are chosen randomly (previously provided by
netcat -r). - Enable Protection of BGP Sessions avia the TCP MD5 Signature Option, RFC 2385 (previously provided by
netcat -S). - Specify the IPv4 type of service (previously provided by
netcat -T). - Specify the use of UNIX domain sockets (previously provided by
netcat -U). - Specify the routing table to be used (previously provided by
netcat -V). - Scan for listening daemons without transmitting data.
- Specify an interval between lines of text sent and received, or between connections to multiple ports.
The ncat utility is provided by the nmap-ncat package. For more information about ncat, see the man page:
$ man ncat
2.7.5. Changes to Postfix
Red Hat Enterprise Linux 7 upgrades postfix from version 2.6 to version 2.10. While major compatibility issues are handled by the Preupgrade Assistant on upgrading from Red Hat Enterprise Linux 6 to 7, users should be aware of the following non-fatal compatibility issues.
- Ensure that you execute
postfix stopandpostfix startcommands before using thepostscreendaemon, to avoid problems with thepassmaster service. - Default system-supplied CA certificates are no longer added to the
*_tls_CAfileor*_tls_CApathlists. This means third-party certificates no longer receive mail relay permission whenpermit_tls_all_clientcertsis used. If your configuration requires certificate verification, enable backwards compatible behavior by settingtls_append_default_CA = yes. - The
verifyservice now uses a persistent cache with periodic cleanup enabled by default. Support for the delete and sequence operations is required. To disable the cache, specify a blankaddress_verify_mapparameter inmain.cf. To disable periodic cleanup, setaddress_verify_cache_cleanup_intervalto0. - Previously the default next-hop destination, used when a filter next-hop destination was not specified, was the value of
$myhostname. The default is now the recipient domain. To change the default next-hop destination, specifydefault_filter_nexthop = $myhostname. In pipe-based filters, this also enables FIFO delivery order, instead of round-robin domain selection. - The
postmulti -e destroycommand no longer attempts to remove files that are created after thepostmulti -e createcommand is executed. - Postfix now requests default delivery status notifications when adding a recipient with the Milter
smfi_addrcptaction. - When the result of virtual alias expansion exceeds virtual alias recursion or expansion limits, Postfix now reports a temporary delivery error instead of silently dropping excess recipients and delivering the message.
- The local delivery agent now keeps the owner-alias attribute of a parent alias when delivering mail to a child alias that does not have an owner-alias. This makes repeated delivery to mailing lists less likely. To enable older behavior, specify
reset_owner_alias = yes. - The Postfix SMTP client no longer appends the local domain when looking up a DNS name without "
.". To enable older behavior, specifysmtp_dns_resolver_options = res_defnames. Note that this may produce unexpected results. - The format of the
postfix/smtpd[pid]: queueid: client=host[addr]log file record has changed. When available, the before-filter client information and before-filter queue ID are now appended to the end of the record. - By default, postfix no longer adds an undisclosed recipient header to messages with no specified recipient. To enable older behavior, specify the following in
mail.cf:undisclosed_recipients_header = To: undisclosed-recipients:;
- The SASL mechanism list is now re-computed after each successful completion of
STARTTLS. - The
smtpd_starttls_timeoutdefault value is now stress-dependent. - DNSBL queries with a secret in the domain name must now hide that secret from
postscreenSMTP replies. For example, inmain.cf, specify:postscreen_dnsbl_reply_map = texthash:/etc/postfix/dnsbl_reply
Indnsbl_reply, specify a separate DNSBL name:# Secret DNSBL name Name in postscreen(8) replies secret.zen.spamhaus.org zen.spamhaus.org
- All programs that use postfix VSTREAMs must be recompiled, because VSTREAM errors now use separate flags for read and write errors.
- The default value of
smtp_line_length_limitis now999, to remain consistent with the SMTP standard. - Sendmail now transforms all input lines ending in
<CR><LF>into UNIX format (<LF>). - By default, the SMTP client no longer appends
AUTH=<>to theMAIL FROMcommand. - Some log messages that were previously classified as
fatalare now classified aserror. Log file based alert systems may need to be updated accordingly. To re-enable older behavior, setdaemon_table_open_error_is_fataltoyes. - Newly supported long queue file names are not supported prior to Postfix 2.9. To migrate back to Postfix 2.8 or earlier, any long queue file names must be converted. To do so, stop postfix, set
enable_long_queue_idstono, and then run thepostsupercommand until it no longer exports queue file name changes. - Postfix now logs the result of successful TLS negotiation with TLS logging levels of 0. See log level descriptions in the
postconfman page for details. - The postfix SMTP server now always checks the smtpd_sender_login_maps table.
- The default
inet_protocolsvalue is nowall(use both IPv4 and IPv6). To avoid unexpected performance loss for sites without global IPv6 connectivity, themake upgradeandpostfix upgrade-configurationcommands currently appendinet_protocols = ipv4tomain.cfwhen no explicit setting is present. - The default
smtp_address_preferencevalue is nowany(choose IPv4 or IPv6 at random). - The SMTP server no longer reports transcripts of sessions where a client command is rejected because a lookup table is not available. To continue receiving such reports, add the
dataclass to the value of thenotify_classesparameter. - A new
smtpd_relay_restrictionsparameter has been added. By default this enablespermit_mynetworks,permit_sasl_authenticated, anddefer_unauth_destination. This prevents open relay problems due to mistakes with spam filter rules insmtpd_recipient_restrictions. However, if your site has a complex mail relay policy configured undersmtpd_recipient_restrictions, some mail may be incorrectly deferred. To correct this, either removesmtpd_relay_restrictionsconfiguration and use the existing policy insmtpd_recipient_restrictions, or copy the existing policy fromsmtpd_recipient_restrictionstosmtpd_relay_restrictions.
2.7.6. Network Protocols
Read this section for a summary of changes to network protocols between Red Hat Enterprise Linux 6 and Red Hat Enterprise Linux 7.
2.7.6.1. Network File System (NFS)
Red Hat Enterprise Linux 7 provides support for NFS 3, NFS 4.0, and NFS 4.1. NFS 2 is no longer supported as of Red Hat Enterprise Linux 7.
NFS 4.1 provides a number of performance and security enhancements, including client support for Parallel NFS (pNFS). Additionally, a separate TCP connection is no longer required for callbacks, allowing an NFS server to grant delegations even when it cannot contact the client, for example, when NAT or a firewall interferes.
NFS 3, NFS 4.0, and NFS 4.1 are supported on the server. Support for a particular version can be enabled or disabled in the
/etc/sysconfig/nfs file, by changing the value of the RPCNFSDARGS parameter. For example, RPCNFSDARGS="-N4.1 -V3" enables support for NFS 3 and disables support for NFS 4.1. For further details, see the man page:
$ man rpc.nfsd
NFS clients attempt to mount using NFS 4.0 by default, and fall back to NFS 3 if the mount operation is not successful. Default behavior can be altered by editing the
/etc/nfsmount.conf file and by using command line options. See the man pages for further details.
$ man nfs
$ man nfsmount.conf
2.7.6.1.1. Parallel NFS (pNFS)
Red Hat Enterprise Linux 7 provides client support for Parallel NFS (pNFS). pNFS improves the scalability of NFS and has the potential to improve performance. When the Red Hat Enterprise Linux 7 client mounts a server that supports pNFS, that client can access data through multiple servers concurrently. Note that Red Hat Enterprise Linux 7 supports the files layout type, with objects and blocks layout types being included as a technology preview. For more information about this protocol and its capabilities, see the Red Hat Enterprise Linux 7 Storage Administration Guide.
2.7.6.2. Apache Web Server (httpd)
Red Hat Enterprise Linux 7 provides an updated version of Apache Web Server. This new version (2.4) includes some significant packaging changes as well as a number of new features.
- Changed proxy configuration
- Apache Web Server (
httpd) configurations that use an SSL back end must now use theSSLProxyCheckPeerNamedirective if the SSL certificate does not match the host name configured. Previously, host names in the SSL certificate of a proxy back end were not verified. - New control mechanisms
- Because Red Hat Enterprise Linux moves the system away from SysV init scripts, the commands for controlling the
httpdservice have changed. Red Hat now recommends theapachectlandsystemctlcommands instead of theservicecommand. For example, where you would previously have runservice httpd graceful, Red Hat now recommendsapachectl graceful. - Changed default subcommand behavior
- The
systemdunit file for httpd defines different behavior for thereloadandstopsubcommands. Specifically, thereloadsubcommand now gracefully reloads the service, and thestopcommand now gracefully stops the service by default. - Hard coded default configuration
- Previous versions of httpd provided an exhaustive configuration file that listed all configuration settings and their defaults. Many common configuration settings are no longer explicitly configured in the default configuration files; instead, default settings are now hard coded. The default configuration file now has minimal content and is easier to manage as a result. The hard coded default values for all settings are specified in the manual, which by default is installed into
/usr/share/httpd. - New Multi-Processing Model modules
- Previous releases of Red Hat Enterprise Linux provided several Multi-Processing Models (
preforkandworker) as different httpd binaries. Red Hat Enterprise Linux 7 uses a single binary and provides these Multi-Processing Models as loadable modules:worker,prefork(default), andevent. Edit the/etc/httpd/conf.modules.d/00-mpm.conffile to select which module is loaded. - Directory changes
- A number of directories have moved or are no longer provided in this updated version of httpd.
- Content previously installed in
/var/cache/mod_proxyhas moved to/var/cache/httpdunder either theproxyor thesslsubdirectory. - Content previously installed in
/var/wwwhas moved to/usr/share/httpd. - Content previously installed in
/var/www/iconshas moved to/usr/share/httpd/icons. This directory contains a set of icons used with directory indices. - The HTML version of the httpd manual previously installed in
/var/www/manualhas moved to/usr/share/httpd/manual. - Custom multi-language HTTP error pages previously installed in
/var/www/errorhave moved to/usr/share/httpd/error.
- Changes to suexec
- The
suexecbinary no longer has its user identifier set to root at install time. Instead, a more restrictive set of permissions is applied using file system capability bits. This improves the security of the httpd service. Additionally,suexecnow sends log messages to syslog instead of using the/var/log/httpd/suexec.logfile. The messages sent to syslog appear in/var/log/secureby default. - Changes to module interface compatibility
- Changes to the httpd module interface mean that this updated version of httpd is not compatible with third-party binary modules built against the previous version of httpd (2.2). Such modules will need to be adjusted as necessary for the httpd 2.4 module interface, and then rebuilt. See the Apache documentation for details of the API changes in version 2.4.
- Change to apxs binary location
- The
apxsbinary used to build modules from source has moved from/usr/sbin/apxsto/usr/bin/apxs. - New and moved configuration files
- Configuration files that load modules are now placed in the
/etc/httpd/conf.modules.ddirectory. Packages that provide additional loadable modules for httpd (like the php package) add files to this directory. Any configuration files in theconf.modules.ddirectory are processed before the main body ofhttpd.conf. Configuration files in the/etc/httpd/conf.ddirectory are now processed after the main body ofhttpd.conf.Some additional configuration files are provided by the httpd package:/etc/httpd/conf.d/autoindex.confconfiguresmod_autoindexdirectory indexing./etc/httpd/conf.d/userdir.confconfigures access to user directories (http://example.com/~username/). By default this access is disabled for security reasons./etc/httpd/conf.d/welcome.confconfigures the "welcome page" displayed onhttp://localhost/when no content is present.
- Changes to configuration compatibility
- This version of httpd is not compatible with the configuration syntax of the previous version (2.2). Configuration files require updates to syntax before they can be used with this updated version of httpd. See the Apache documentation for details of the syntax changes made between version 2.2 and version 2.4.
2.7.6.3. Samba
Red Hat Enterprise Linux 7 provides Samba 4, a combined set of daemons, client utilities, and Python bindings that allow communicating using SMB1, SMB2, and SMB3 protocols.
The current implementation of Kerberos does not support the Samba 4 Active Directory Domain Controller functionality. This functionality has been omitted from Red Hat Enterprise Linux 7.0, but is expected to be included in future releases. All other functionality that does not rely on the Active Directory DC is included.
Red Hat Enterprise Linux 6.4 and later provided Samba 4 as a Technology Preview, and packaged it as a series of samba4-* packages to avoid conflicting with the stable Samba 3 packages (samba-*). Since Samba 4 is now fully supported and provides a number of enhancements over Samba 3, Red Hat Enterprise Linux 7 provides Samba 4 as the standard samba-* packages. The special samba4-* packages are obsolete.
For more information about Samba, see the Red Hat Enterprise Linux 7 System Administrator's Guide and System Administrators Reference Guide, available from http://access.redhat.com/site/documentation/Red_Hat_Enterprise_Linux/.
2.7.6.4. BIND
In Red Hat Enterprise Linux 6, installing the bind-chroot package changed the
ROOTDIR environment variable in /etc/sysconfig/named to point to the chroot environment location. To run the named service normally (not in the chroot environment) required either removing the bind-chroot package or manually editing the ROOTDIR environment variable in /etc/sysconfig/named file.
In Red Hat Enterprise Linux 7, installing the bind-chroot package does not change how the
named service runs. Instead, it installs a new service, named-chroot, that is started and stopped separately with the systemctl command, like so.
# systemctl start named-chroot.service
# systemctl stop named-chroot.service
The
named-chroot service cannot run at the same time as the named service.
2.7.7. Default product certificate
Starting from Red Hat Enterprise Linux 7.2 release, the default certificate has been added to the redhat-release packages. This default certificate is stored in the
/etc/pki/product-default/ directory.
The Subscription Manager now searches for the list of the certificates in the
/etc/pki/product/ directory and then in the /etc/pki/product-default/ directory. Content in the /etc/pki/product-default/ directory is provided by redhat-release packages. Any certificate in the /etc/pki/product-default/ directory that is not located in /etc/pki/product/ is considered to be installed. The default product certificates are used until Subscription Manager fetches product certificates from the subscribed channels.

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.