Chapter 26. Disabling IPv6 on a system that uses NetworkManager

This section describes how to disable the IPv6 protocol on a system that uses NetworkManager to manage network interfaces. If you disable IPv6, NetworkManager automatically sets the corresponding sysctl values in the Kernel.

Note

The NetworkManager service sets certain sysctl values when it starts a connection. To avoid unexpected behavior, do not manually set sysctl values to disable IPv6.

Prerequisites

  • The system uses NetworkManager to manage network interfaces, which is the default on Red Hat Enterprise Linux 8.
  • The system runs Red Hat Enterprise Linux 8.1 or later.

26.1. Disabling IPv6 on a connection using nmcli

Use this section to disable the IPv6 protocol using the nmcli utility.

Procedure

  1. Optionally, display the list of network connections:

    # nmcli connection show
    NAME    UUID                                  TYPE      DEVICE
    Example 7a7e0151-9c18-4e6f-89ee-65bb2d64d365  ethernet  enp1s0
    ...
  2. Set the ipv6.method parameter of the connection to disabled:

    # nmcli connection modify Example ipv6.method "disabled"
  3. Restart the network connection:

    # nmcli connection up Example

Verification steps

  1. Enter the ip address show command to display the IP settings of the device:

    # ip address show enp1s0
    2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
        link/ether 52:54:00:6b:74:be brd ff:ff:ff:ff:ff:ff
        inet 192.0.2.1/24 brd 192.10.2.255 scope global noprefixroute enp1s0
           valid_lft forever preferred_lft forever

    If no inet6 entry is displayed, IPv6 is disabled on the device.

  2. Verify that the /proc/sys/net/ipv6/conf/enp1s0/disable_ipv6 file now contains the value 1:

    # cat /proc/sys/net/ipv6/conf/enp1s0/disable_ipv6
    1

    The value 1 means that IPv6 is disabled for the device.