23.2. Configuring Network Encryption for a New Trusted Storage Pool

You can configure network encryption for a new Red Hat Gluster Storage Trusted Storage Pool for both I/O encryption and management encryption. This section assumes that you have installed Red Hat Gluster Storage on the servers and the clients, but has never been run.

23.2.1. Enabling Management Encryption

Though Red Hat Gluster Storage can be configured only for I/O encryption without using management encryption, it is recommended to have management encryption. If you want to enable SSL only on the I/O path, skip this section and proceed with Section 23.2.2, “Enabling I/O encryption for a Volume”.
On Servers

Perform the following on all the servers

  1. Create the /var/lib/glusterd/secure-access file.
    # touch /var/lib/glusterd/secure-access
  2. Start glusterd on all servers.
    # service glusterd start
  3. Setup the trusted storage pool by running appropriate peer probe commands. For more information on setting up the trusted storage pool, see Chapter 4, Adding Servers to the Trusted Storage Pool
On Clients

Perform the following on all the client machines

  1. Create the /var/lib/glusterd/secure-access file.
    # touch /var/lib/glusterd/secure-access 
  2. Mount the volume on all the clients. For example, to manually mount a volume and access data using Native client, use the following command:
    # mount -t glusterfs server1:/test-volume /mnt/glusterfs

23.2.2. Enabling I/O encryption for a Volume

Enable the I/O encryption between the servers and clients:
  1. Create the volume, but do not start it.
  2. Set the list of common names of all the servers to access the volume. Be sure to include the common names of clients which will be allowed to access the volume..
    # gluster volume set VOLNAME auth.ssl-allow 'server1,server2,server3,client1,client2,client3'

    Note

    If you set auth.ssl-allow option with * as value, any TLS authenticated clients can mount and access the volume from the application side. Hence, you set the option's value to * or provide common names of clients as well as the nodes in the trusted storage pool.
  3. Enable Transport Layer Security on the volume by setting the client.ssl and server.ssl options to on.
    # gluster volume set VOLNAME client.ssl on
    # gluster volume set VOLNAME server.ssl on
  4. Start the volume.
    # gluster volume start VOLNAME
  5. Mount the volume on all the clients which has been authorized. For example, to manually mount a volume and access data using Native client, use the following command:
    # mount -t glusterfs server1:/test-volume /mnt/glusterfs