Chapter 5. Configuring External Services
Some environments have existing DNS, DHCP, and TFTP services and do not need to use the Satellite Server to provide these services. If you want to use external servers to provide DNS, DHCP, or TFTP, you can configure them for use with Satellite Server.
If you want to disable these services in Satellite in order to manage them manually, see Section 3.5.6, “Disabling DNS, DHCP, and TFTP for Unmanaged Networks” for more information.
5.1. Configuring Satellite with External DNS Copy linkLink copied to clipboard!
You can configure Satellite to use an external server to provide DNS service.
Deploy a Red Hat Enterprise Linux Server and install the ISC DNS Service.
yum install bind bind-utils
# yum install bind bind-utils
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Create the configuration for the domain.
The following example configures a domain
virtual.lan
as one subnet 192.168.38.0/24, a security key namedforeman
, and sets forwarders to Google’s public DNS addresses (8.8.8.8 and 8.8.4.4).Copy to Clipboard Copied! Toggle word wrap Toggle overflow The
inet
line must be entered as one line in the configuration file.Create a key file.
ddns-confgen -k capsule
# ddns-confgen -k capsule
Copy to Clipboard Copied! Toggle word wrap Toggle overflow This command can take a long time to complete.
Copy and paste the output from the key section into a separate file called
/etc/rndc.key
.cat /etc/rndc.key key "capsule" { algorithm hmac-sha256; secret "GeBbgGoLedEAAwNQPtPh3zP56MJbkwM84UJDtaUS9mw="; };
# cat /etc/rndc.key key "capsule" { algorithm hmac-sha256; secret "GeBbgGoLedEAAwNQPtPh3zP56MJbkwM84UJDtaUS9mw="; };
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ImportantThis is the key used to change DNS server configuration. Only the root user should read and write to it.
Create zone files.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Create the reverse zone file.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow There should be no extra non-ASCII characters.
5.2. Verifying and Starting the DNS Service Copy linkLink copied to clipboard!
Validate the syntax.
named-checkconf -z /etc/named.conf
# named-checkconf -z /etc/named.conf
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Start the server.
If you are using Red Hat Enterprise Linux 6, run this command.
service named restart
# service named restart
Copy to Clipboard Copied! Toggle word wrap Toggle overflow If you are using Red Hat Enterprise Linux 7, run this command.
systemctl restart named
# systemctl restart named
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Add a new host.
The following uses the example host 192.168.38.2. You should change this to suit your environment.
echo -e "server 192.168.38.2\n \ update add aaa.virtual.lan 3600 IN A 192.168.38.10\n \ send\n" | nsupdate -k /etc/rndc.key
# echo -e "server 192.168.38.2\n \ update add aaa.virtual.lan 3600 IN A 192.168.38.10\n \ send\n" | nsupdate -k /etc/rndc.key
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Test that the DNS service can resolve the new host.
nslookup aaa.virtual.lan 192.168.38.2
# nslookup aaa.virtual.lan 192.168.38.2
Copy to Clipboard Copied! Toggle word wrap Toggle overflow If necessary, delete the new entry.
echo -e "server 192.168.38.2\n \ update delete aaa.virtual.lan 3600 IN A 192.168.38.10\n \ send\n" | nsupdate -k /etc/rndc.key
# echo -e "server 192.168.38.2\n \ update delete aaa.virtual.lan 3600 IN A 192.168.38.10\n \ send\n" | nsupdate -k /etc/rndc.key
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Configure the firewall for external access to the DNS service (UDP and TCP on port 53).
For Satellite Server running Red Hat Enterprise Linux 7:
firewall-cmd --add-port="53/udp" --add-port="53/tcp" \ && firewall-cmd --permanent --add-port="53/udp" --add-port="53/tcp"
# firewall-cmd --add-port="53/udp" --add-port="53/tcp" \ && firewall-cmd --permanent --add-port="53/udp" --add-port="53/tcp"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow For Satellite Server running Red Hat Enterprise Linux 6:
iptables -I INPUT -m state --state NEW -p udp \ --dport 53 -j ACCEPT \ && iptables -I INPUT -m state --state NEW -p tcp \ --dport 53 -j ACCEPT \ && service iptables save
# iptables -I INPUT -m state --state NEW -p udp \ --dport 53 -j ACCEPT \ && iptables -I INPUT -m state --state NEW -p tcp \ --dport 53 -j ACCEPT \ && service iptables save
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Verify that the iptables service is started and enabled.
service iptables start chkconfig iptables on
# service iptables start # chkconfig iptables on
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.3. Configuring Capsule Server with External DNS Copy linkLink copied to clipboard!
On the Red Hat Enterprise Linux Server, install the ISC DNS Service.
yum install bind bind-utils
# yum install bind bind-utils
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Ensure that the
nsupdate
utility was installed. The Capsule uses thensupdate
utility to update DNS records on the remote server.Copy the
/etc/rndc.key
file from the services server to the Capsule Server.scp localfile username@hostname:remotefile
# scp localfile username@hostname:remotefile
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Verify that the key file has the correct owner, permissions, and SELinux label.
ls /etc/rndc.key -Zla
# ls /etc/rndc.key -Zla -rw-r-----. root named system_u:object_r:dnssec_t:s0 /etc/rndc.key
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Test the
nsupdate
utility by adding a host remotely.Copy to Clipboard Copied! Toggle word wrap Toggle overflow Run the
satellite-installer
script to make the following persistent changes to the/etc/foreman-proxy/settings.d/dns.yml
file.Copy to Clipboard Copied! Toggle word wrap Toggle overflow Restart the foreman-proxy service.
If you are using Red Hat Enterprise Linux 6, run this command.
service foreman-proxy restart
# service foreman-proxy restart
Copy to Clipboard Copied! Toggle word wrap Toggle overflow If you are using Red Hat Enterprise Linux 7, run this command.
systemctl restart foreman-proxy
# systemctl restart foreman-proxy
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
- Log in to the Satellite Server web UI.
- Go to Infrastructure > Capsules. Locate the appropriate Capsule Server and from the Actions drop-down list, select Refresh. The DNS feature should appear.
- Associate the DNS service with the appropriate subnets and domain.
5.4. Configuring Satellite Server with External DHCP Copy linkLink copied to clipboard!
From Satellite 6.3 onwards, the foreman-proxy DHCP isc
provider does not support remote DHCP lease files. You must follow the procedures in the Satellite 6.3 Installation guide to change to the new remote ISC DHCP provider remote_isc
when you upgrade to Satellite 6.3. For more information about using remote_isc
in Satellite 6.3, see Configuring Satellite Server with External DHCP in the Red Hat Satellite 6.3 Installation Guide.
Deploy a Red Hat Enterprise Linux Server and install the ISC DHCP Service.
yum install dhcp
# yum install dhcp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Generate a security token in an empty directory.
dnssec-keygen -a HMAC-MD5 -b 512 -n HOST omapi_key
# dnssec-keygen -a HMAC-MD5 -b 512 -n HOST omapi_key
Copy to Clipboard Copied! Toggle word wrap Toggle overflow The above command can take a long time, for less-secure proof-of-concept deployments you can use a non-blocking random number generator.
dnssec-keygen -r /dev/urandom -a HMAC-MD5 -b 512 -n HOST omapi_key
# dnssec-keygen -r /dev/urandom -a HMAC-MD5 -b 512 -n HOST omapi_key
Copy to Clipboard Copied! Toggle word wrap Toggle overflow This will create the key pair in two files in the current directory.
Copy the secret hash from the key.
cat Komapi_key.+*.private |grep ^Key|cut -d ' ' -f2
# cat Komapi_key.+*.private |grep ^Key|cut -d ' ' -f2
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Edit the
dhcpd
configuration file for all of the subnets and add the key.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Delete the two key files from the directory where you created them.
Define each subnet on the Satellite Server.
It is recommended to set up a lease range and reservation range separately to prevent conflicts. For example, the lease range is 192.168.38.10 to 192.168.38.100 so the reservation range (defined in the Satellite web UI) is 192.168.38.101 to 192.168.38.250. Do not set DHCP Capsule for the defined Subnet yet.
ISC DHCP listens only on interfaces that match defined subnets. In this example, the server has an interface that routes to 192.168.38.0 subnet directly.
Configure the firewall for external access to the DHCP server.
For Satellite Server running Red Hat Enterprise Linux 7:
firewall-cmd --add-service dhcp \ && firewall-cmd --permanent --add-service dhcp
# firewall-cmd --add-service dhcp \ && firewall-cmd --permanent --add-service dhcp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow For Satellite Server running Red Hat Enterprise Linux 6:
iptables -I INPUT -m state --state NEW -p tcp \ --dport 67 -j ACCEPT \ && service iptables save
# iptables -I INPUT -m state --state NEW -p tcp \ --dport 67 -j ACCEPT \ && service iptables save
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Verify that the iptables service is started and enabled.
service iptables start chkconfig iptables on
# service iptables start # chkconfig iptables on
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Determine the UID and GID numbers of the foreman-proxy user on the Capsule Server. Create the same user and group with the same IDs on the DHCP server.
groupadd -g 990 foreman-proxy useradd -u 992 -g 990 -s /sbin/nologin foreman-proxy
# groupadd -g 990 foreman-proxy # useradd -u 992 -g 990 -s /sbin/nologin foreman-proxy
Copy to Clipboard Copied! Toggle word wrap Toggle overflow To make the configuration files readable, restore the read and execute flags.
chmod o+rx /etc/dhcp/ chmod o+r /etc/dhcp/dhcpd.conf chattr +i /etc/dhcp/ /etc/dhcp/dhcpd.conf
# chmod o+rx /etc/dhcp/ # chmod o+r /etc/dhcp/dhcpd.conf # chattr +i /etc/dhcp/ /etc/dhcp/dhcpd.conf
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Start the DHCP service.
If you are using Red Hat Enterprise Linux 6, run this command.
service dhcpd start
# service dhcpd start
Copy to Clipboard Copied! Toggle word wrap Toggle overflow If you are using Red Hat Enterprise Linux 7, run this command.
systemctl start dhcpd
# systemctl start dhcpd
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Export the DHCP configuration and leases files using NFS.
yum install nfs-utils systemctl enable rpcbind nfs-server systemctl start rpcbind nfs-server nfs-lock nfs-idmapd
# yum install nfs-utils # systemctl enable rpcbind nfs-server # systemctl start rpcbind nfs-server nfs-lock nfs-idmapd
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Create the DHCP configuration and leases files to be exported using NFS.
mkdir -p /exports/var/lib/dhcpd /exports/etc/dhcp
# mkdir -p /exports/var/lib/dhcpd /exports/etc/dhcp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Add the newly created mount point to /etc/fstab file.
/var/lib/dhcpd /exports/var/lib/dhcpd none bind,auto 0 0 /etc/dhcp /exports/etc/dhcp none bind,auto 0 0
/var/lib/dhcpd /exports/var/lib/dhcpd none bind,auto 0 0 /etc/dhcp /exports/etc/dhcp none bind,auto 0 0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Mount the file systems in /etc/fstab.
mount -a
# mount -a
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Ensure the following lines are present in /etc/exports:
/exports 192.168.38.1(rw,async,no_root_squash,fsid=0,no_subtree_check)
/exports 192.168.38.1(rw,async,no_root_squash,fsid=0,no_subtree_check)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow /exports/etc/dhcp 192.168.38.1(ro,async,no_root_squash,no_subtree_check,nohide)
/exports/etc/dhcp 192.168.38.1(ro,async,no_root_squash,no_subtree_check,nohide)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow /exports/var/lib/dhcpd 192.168.38.1(ro,async,no_root_squash,no_subtree_check,nohide)
/exports/var/lib/dhcpd 192.168.38.1(ro,async,no_root_squash,no_subtree_check,nohide)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Reload the NFS server.
exportfs -rva
# exportfs -rva
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Configure the firewall for the DHCP omapi port 7911 for the Capsule Server.
On Red Hat Enterprise Linux 7, run the following command:
firewall-cmd --add-port="7911/tcp" \ && firewall-cmd --permanent --add-port="7911/tcp"
# firewall-cmd --add-port="7911/tcp" \ && firewall-cmd --permanent --add-port="7911/tcp"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow On Red Hat Enterprise Linux 6, run the following commands:
iptables -I INPUT -m state --state NEW -p tcp \ --dport 7911 -j ACCEPT \ && service iptables save
# iptables -I INPUT -m state --state NEW -p tcp \ --dport 7911 -j ACCEPT \ && service iptables save
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Ensure that the iptables service is started and enabled.
service iptables start chkconfig iptables on
# service iptables start # chkconfig iptables on
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
If required, configure the firewall for external access to NFS.
Clients are configured using NFSv3.
On Red Hat Enterprise Linux 7, use the
firewalld
daemon’s NFS service to configure the firewall.Copy to Clipboard Copied! Toggle word wrap Toggle overflow On Red Hat Enterprise Linux 6, configure the ports for NFSv3 in the
/etc/sysconfig/nfs
file.Copy to Clipboard Copied! Toggle word wrap Toggle overflow Restart the service.
service nfs restart
# service nfs restart
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Add rules to the
/etc/sysconfig/iptables
file.Copy to Clipboard Copied! Toggle word wrap Toggle overflow Restart the firewall.
service iptables restart
# service iptables restart
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
For more information on using NFSv3 behind a firewall on Red Hat Enterprise Linux 6, see Running NFS Behind a Firewall in the Red Hat Enterprise Linux 6 Storage Administration Guide.
5.5. Configuring Capsule Server with External DHCP Copy linkLink copied to clipboard!
Install the NFS client.
yum install nfs-utils
# yum install nfs-utils
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Create the DHCP directories for NFS.
mkdir -p /mnt/nfs/etc/dhcp /mnt/nfs/var/lib/dhcpd
# mkdir -p /mnt/nfs/etc/dhcp /mnt/nfs/var/lib/dhcpd
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Change the file owner.
chown -R foreman-proxy /mnt/nfs
# chown -R foreman-proxy /mnt/nfs
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Verify communication with the NFS server and RPC communication paths.
showmount -e 192.168.38.2 rpcinfo -p 192.168.38.2
# showmount -e 192.168.38.2 # rpcinfo -p 192.168.38.2
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Add the following lines to the
/etc/fstab
file:192.168.38.2:/exports/etc/dhcp /mnt/nfs/etc/dhcp nfs ro,vers=3,auto,nosharecache,context="system_u:object_r:dhcp_etc_t:s0" 0 0
192.168.38.2:/exports/etc/dhcp /mnt/nfs/etc/dhcp nfs ro,vers=3,auto,nosharecache,context="system_u:object_r:dhcp_etc_t:s0" 0 0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 192.168.38.2:/exports/var/lib/dhcpd /mnt/nfs/var/lib/dhcpd nfs ro,vers=3,auto,nosharecache,context="system_u:object_r:dhcpd_state_t:s0" 0 0
192.168.38.2:/exports/var/lib/dhcpd /mnt/nfs/var/lib/dhcpd nfs ro,vers=3,auto,nosharecache,context="system_u:object_r:dhcpd_state_t:s0" 0 0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Mount the file systems on
/etc/fstab
.mount -a
# mount -a
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Read the relevant files.
su foreman-proxy -s /bin/bash
# su foreman-proxy -s /bin/bash bash-4.2$ cat /mnt/nfs/etc/dhcp/dhcpd.conf bash-4.2$ cat /mnt/nfs/var/lib/dhcpd/dhcpd.leases bash-4.2$ exit
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Run the
satellite-installer
script to make the following persistent changes to the/etc/foreman-proxy/settings.d/dhcp.yml
file.Copy to Clipboard Copied! Toggle word wrap Toggle overflow Restart the foreman-proxy service.
If you are using Red Hat Enterprise Linux 6, run this command.
service foreman-proxy restart
# service foreman-proxy restart
Copy to Clipboard Copied! Toggle word wrap Toggle overflow If you are using Red Hat Enterprise Linux 7, run this command.
systemctl restart foreman-proxy
# systemctl restart foreman-proxy
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
- Log in to the Satellite Server web UI.
- Go to Infrastructure > Capsules. Locate the appropriate Capsule Server and from the Actions drop-down list, select Refresh. The DHCP feature should appear.
- Associate the DHCP service with the appropriate subnets and domain.
5.6. Configuring Satellite Server with External TFTP Copy linkLink copied to clipboard!
Before You Begin
- You should have already configured NFS and the firewall for external access to NFS. See Section 5.4, “Configuring Satellite Server with External DHCP”.
Configure Satellite Server with External TFTP
Install and enable the TFTP server.
yum install tftp-server syslinux
# yum install tftp-server syslinux
Copy to Clipboard Copied! Toggle word wrap Toggle overflow On Red Hat Enterprise 7, enable and activate the
tftp.socket
unit.systemctl enable tftp.socket systemctl start tftp.socket
# systemctl enable tftp.socket # systemctl start tftp.socket
Copy to Clipboard Copied! Toggle word wrap Toggle overflow On Red Hat Enterprise Linux 6, enable and start the
xinetd
service.service xinetd enable service xinetd start
# service xinetd enable # service xinetd start
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Configure the PXELinux environment.
mkdir -p /var/lib/tftpboot/{boot,pxelinux.cfg} cp /usr/share/syslinux/{pxelinux.0,menu.c32,chain.c32} \ /var/lib/tftpboot/
# mkdir -p /var/lib/tftpboot/{boot,pxelinux.cfg} # cp /usr/share/syslinux/{pxelinux.0,menu.c32,chain.c32} \ /var/lib/tftpboot/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Restore SELinux file contexts.
restorecon -RvF /var/lib/tftpboot/
# restorecon -RvF /var/lib/tftpboot/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Create the TFTP directory to be exported using NFS.
mkdir -p /exports/var/lib/tftpboot
# mkdir -p /exports/var/lib/tftpboot
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Add the newly created mount point to the /etc/fstab file.
/var/lib/tftpboot /exports/var/lib/tftpboot none bind,auto 0 0
/var/lib/tftpboot /exports/var/lib/tftpboot none bind,auto 0 0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Mount the file systems in
/etc/fstab
.mount -a
# mount -a
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Ensure the following lines are present in
/etc/exports
:/exports 192.168.38.1(rw,async,no_root_squash,fsid=0,no_subtree_check)
/exports 192.168.38.1(rw,async,no_root_squash,fsid=0,no_subtree_check)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow /exports/var/lib/tftpboot 192.168.38.1(rw,async,no_root_squash,no_subtree_check,nohide)
/exports/var/lib/tftpboot 192.168.38.1(rw,async,no_root_squash,no_subtree_check,nohide)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow The first line is common to the DHCP configuration and therefore should already be present if the previous procedure was completed on this system.
Reload the NFS server.
exportfs -rva
# exportfs -rva
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.6.1. Configuring the Firewall for External Access to TFTP Copy linkLink copied to clipboard!
Configuring the Firewall for External Access to the TFTP Service Using Red Hat Enterprise Linux 7
Configure the firewall (UDP on port 69).
firewall-cmd --add-port="69/udp" \ && firewall-cmd --permanent --add-port="69/udp"
# firewall-cmd --add-port="69/udp" \ && firewall-cmd --permanent --add-port="69/udp"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Configuring the Firewall for External Access to the TFTP Service Using Red Hat Enterprise Linux 6
Configure the firewall.
iptables -I INPUT -m state --state NEW -p tcp --dport 69 -j ACCEPT \ && service iptables save
# iptables -I INPUT -m state --state NEW -p tcp --dport 69 -j ACCEPT \ && service iptables save
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Ensure the iptables service is started and enabled.
service iptables start chkconfig iptables on
# service iptables start # chkconfig iptables on
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.7. Configuring Capsule Server with External TFTP Copy linkLink copied to clipboard!
Create the TFTP directory to prepare for NFS.
mkdir -p /mnt/nfs/var/lib/tftpboot
# mkdir -p /mnt/nfs/var/lib/tftpboot
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Add the following line in the
/etc/fstab
file:192.168.38.2:/exports/var/lib/tftpboot /mnt/nfs/var/lib/tftpboot nfs rw,vers=3,auto,nosharecache,context="system_u:object_r:tftpdir_rw_t:s0" 0 0
192.168.38.2:/exports/var/lib/tftpboot /mnt/nfs/var/lib/tftpboot nfs rw,vers=3,auto,nosharecache,context="system_u:object_r:tftpdir_rw_t:s0" 0 0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Mount the file systems in
/etc/fstab
.mount -a
# mount -a
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Run the
satellite-installer
script to make the following persistent changes to the/etc/foreman-proxy/settings.d/tftp.yml
file.satellite-installer --foreman-proxy-tftp=true \ --foreman-proxy-tftp-root /mnt/nfs/var/lib/tftpboot
# satellite-installer --foreman-proxy-tftp=true \ --foreman-proxy-tftp-root /mnt/nfs/var/lib/tftpboot
Copy to Clipboard Copied! Toggle word wrap Toggle overflow If the TFTP service is running on a different server than the DHCP service, update the
tftp_servername
setting with the FQDN or IP address of that server.satellite-installer --foreman-proxy-tftp-servername=new_FQDN
# satellite-installer --foreman-proxy-tftp-servername=new_FQDN
Copy to Clipboard Copied! Toggle word wrap Toggle overflow This updates all configuration files with the new value.
- Log in to the Satellite Server web UI.
- Go to Infrastructure > Capsules. Locate the appropriate Capsule Server and from the Actions drop-down list, select Refresh. The TFTP feature should appear.
- Associate the TFTP service with the appropriate subnets and domain.
5.8. Configuring Satellite with External IdM DNS Copy linkLink copied to clipboard!
Red Hat Satellite can be configured to use a Red Hat Identity Management (IdM) server to provide the DNS service. Two methods are described here to achieve this, both using a transaction key. For more information on Red Hat Identity Management, see the Linux Domain Identity, Authentication, and Policy Guide.
The first method is to install the IdM client which will handle the process automatically using the generic security service algorithm for secret key transaction (GSS-TSIG) technology defined in RFC3645. This method requires installing the IdM client on the Satellite Server or Capsule’s base system and having an account created by the IdM server administrator for use by the Satellite administrator. See Section 5.8.1, “Configuring Dynamic DNS Update with GSS-TSIG Authentication” to use this method.
The second method, secret key transaction authentication for DNS (TSIG), uses an rndc.key
for authentication. It requires root access to the IdM server to edit the BIND configuration file, installing the BIND
utility on the Satellite Server’s base system, and coping the rndc.key
to between the systems. This technology is defined in RFC2845. See Section 5.8.2, “Configuring Dynamic DNS Update with TSIG Authentication” to use this method.
You are not required to use Satellite to manage DNS. If you are already using the Realm enrollment feature of Satellite, where provisioned hosts are enrolled automatically to IdM, then the ipa-client-install
script will create DNS records for the client. The following procedure and Realm enrollment are therefore mutually exclusive. See External Authentication for Provisioned Hosts in the Server Administration Guide for more information on configuring Realm enrollment.
Determining where to install the IdM Client
When Satellite Server wants to add a DNS record for a host, it first determines which Capsule is providing DNS for that domain. It then communicates with the Capsule and adds the record. The hosts themselves are not involved in this process. This means you should install and configure the IdM client on the Satellite or Capsule that is currently configured to provide a DNS service for the domain you want to manage using the IdM server.
5.8.1. Configuring Dynamic DNS Update with GSS-TSIG Authentication Copy linkLink copied to clipboard!
In this example, Satellite Server has the following settings.
Host name |
|
Network |
|
The IdM server has the following settings.
Host name |
|
Domain name |
|
Before you Begin.
- Confirm the IdM server is deployed and the host-based firewall has been configured correctly. See Port Requirements in the Linux Domain Identity, Authentication, and Policy Guide for more information.
- Obtain an account on the IdM server with permissions to create zones on the IdM server.
- Confirm if the Satellite or an external Capsule is managing DNS for a domain.
- Confirm that the Satellite or external Capsule are currently working as expected.
- In the case of a newly installed system, complete the installation procedures in this guide first. In particular, DNS and DHCP configuration should have been completed.
- Optionally, make a backup of the answer file. This can make it easier to revert to using the internal DNS service. See Section 3.3.4, “Configuring Red Hat Satellite with an Answer File” for more information.
Create a Kerberos Principal on the IdM Server.
Ensure you have a Kerberos ticket.
kinit idm_user
# kinit idm_user
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Where idm_user is the account created for you by the IdM administrator.
Create a new Kerberos principal for the Satellite or Capsule to use to authenticate to the IdM server.
ipa service-add capsule/satellite.example.com
# ipa service-add capsule/satellite.example.com
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Install and Configure the IdM Client.
Do this on the Satellite or Capsule Server that is managing the DNS service for a domain.
Install the IdM client package.
yum install ipa-client
# yum install ipa-client
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Configure the IdM client by running the installation script and following the on-screen prompts.
ipa-client-install
# ipa-client-install
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Ensure you have a Kerberos ticket.
kinit admin
# kinit admin
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Remove any preexisting keytab.
rm /etc/foreman-proxy/dns.keytab
# rm /etc/foreman-proxy/dns.keytab
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Get the keytab created for this system.
ipa-getkeytab -p capsule/satellite.example.com@EXAMPLE.COM \ -s idm1.example.com -k /etc/foreman-proxy/dns.keytab
# ipa-getkeytab -p capsule/satellite.example.com@EXAMPLE.COM \ -s idm1.example.com -k /etc/foreman-proxy/dns.keytab
Copy to Clipboard Copied! Toggle word wrap Toggle overflow NoteWhen adding a keytab to a standby system with the same host name as the original system in service, add the
r
option to prevent generating new credentials and rendering the credentials on the original system invalid.Set the group and owner for the keytab file to
foreman-proxy
as follows.chown foreman-proxy:foreman-proxy /etc/foreman-proxy/dns.keytab
# chown foreman-proxy:foreman-proxy /etc/foreman-proxy/dns.keytab
Copy to Clipboard Copied! Toggle word wrap Toggle overflow If required, check the keytab is valid.
kinit -kt /etc/foreman-proxy/dns.keytab \ capsule/satellite.example.com@EXAMPLE.COM
# kinit -kt /etc/foreman-proxy/dns.keytab \ capsule/satellite.example.com@EXAMPLE.COM
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Configure DNS Zones in the IdM web UI.
Create and configure the zone to be managed:
- Navigate to Network Services > DNS > DNS Zones.
-
Select Add and enter the zone name. In this example,
example.com
. - Click Add and Edit.
On the Settings tab, in the BIND update policy box, add an entry as follows to the semi-colon separated list.
grant capsule\047satellite.example.com@EXAMPLE.COM wildcard * ANY;
grant capsule\047satellite.example.com@EXAMPLE.COM wildcard * ANY;
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Ensure Dynamic update is set to True.
- Enable Allow PTR sync.
- Select Save to save the changes.
Create and Configure the reverse zone.
- Navigate to Network Services > DNS > DNS Zones.
- Select Add.
- Select Reverse zone IP network and add the network address in CIDR format to enable reverse lookups.
- Click Add and Edit.
On the Settings tab, in the BIND update policy box, add an entry as follows to the semi-colon separated list:
grant capsule\047satellite.example.com@EXAMPLE.COM wildcard * ANY;
grant capsule\047satellite.example.com@EXAMPLE.COM wildcard * ANY;
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Ensure Dynamic update is set to True.
- Select Save to save the changes.
Run the Installation Script on the Satellite or Capsule Server that is Managing the DNS Service for the Domain.
On a Satellite Server’s Base System.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow On a Capsule Server’s Base System.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Restart the Satellite or Capsule’s Proxy Service.
On Red Hat Enterprise Linux 7.
systemctl restart foreman-proxy
# systemctl restart foreman-proxy
Copy to Clipboard Copied! Toggle word wrap Toggle overflow On Red Hat Enterprise Linux 6.
service foreman-proxy restart
# service foreman-proxy restart
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Update the Configuration in Satellite web UI.
After you have run the installation script to make any changes to a Capsule, instruct Satellite to scan the configuration on each affected Capsule as follows:
- Navigate to Infrastructure > Capsules.
- For each Capsule to be updated, from the Actions drop-down menu, select Refresh.
Configure the domain:
- Go to Infrastructure > Domains and select the domain name.
- On the Domain tab, ensure DNS Capsule is set to the Capsule where the subnet is connected.
Configure the subnet:
- Go to Infrastructure > Subnets and select the subnet name.
- On the Subnet tab, set IPAM to None.
- On the Domains tab, ensure the domain to be managed by the IdM server is selected.
- On the Capsules tab, ensure Reverse DNS Capsule is set to the Capsule where the subnet is connected.
- Click Submit to save the changes.
5.8.2. Configuring Dynamic DNS Update with TSIG Authentication Copy linkLink copied to clipboard!
In this example, Satellite Server has the following settings.
IP address |
|
Host name |
|
The IdM server has the following settings.
Host name |
|
IP address |
|
Domain name |
|
Before you Begin
- Confirm the IdM Server is deployed and the host-based firewall has been configured correctly. See Port Requirements in the Linux Domain Identity, Authentication, and Policy Guide for more information.
-
Obtain
root
user privileges on the IdM server. - Confirm if the Satellite or an external Capsule is managing DNS for a domain.
- Confirm that the Satellite or external Capsule are currently working as expected.
- In the case of a newly installed system, complete the installation procedures in this guide first. In particular, DNS and DHCP configuration should have been completed.
- Optionally, make a backup of the answer file. This can make it easier to revert to using the internal DNS service. See Section 3.3.4, “Configuring Red Hat Satellite with an Answer File” for more information.
Enabling External Updates to the DNS Zone in the IdM Server
On the IdM Server, add the following to the top of the
/etc/named.conf
file.Copy to Clipboard Copied! Toggle word wrap Toggle overflow In the IdM web UI, go to Network Services > DNS > DNS Zones. Select the name of the zone. On the Settings tab:
Add the following in the
BIND update policy
box.grant "rndc-key" zonesub ANY;
grant "rndc-key" zonesub ANY;
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Ensure Dynamic update is set to True.
- Click Update to save the changes.
Copy the
/etc/rndc.key
file from the IdM server to a secure location for later use. Alternatively, copy it directly to Satellite’s base system as follows.scp /etc/rndc.key root@satellite.example.com:/etc/rndc.key
# scp /etc/rndc.key root@satellite.example.com:/etc/rndc.key
Copy to Clipboard Copied! Toggle word wrap Toggle overflow On Satellite Server, run the installation script as follows to use the external DNS server.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Testing External Updates to the DNS Zone in the IdM Server
Install
bind-utils
for testing withnsupdate
.yum install bind-utils
# yum install bind-utils
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Ensure the key in the
/etc/rndc.key
file on Satellite Server is the same one as used on the IdM server.key "rndc-key" { algorithm hmac-md5; secret "secret-key=="; };
key "rndc-key" { algorithm hmac-md5; secret "secret-key=="; };
Copy to Clipboard Copied! Toggle word wrap Toggle overflow On Satellite Server, create a test DNS entry for a host. For example, host
test.example.com
with an A record of192.168.25.20
on the IdM server at192.168.25.1
.echo -e "server 192.168.25.1\n \ update add test.example.com 3600 IN A 192.168.25.20\n \ send\n" | nsupdate -k /etc/rndc.key
# echo -e "server 192.168.25.1\n \ update add test.example.com 3600 IN A 192.168.25.20\n \ send\n" | nsupdate -k /etc/rndc.key
Copy to Clipboard Copied! Toggle word wrap Toggle overflow On Satellite Server, test the DNS entry.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - To view the entry in the IdM web UI, go to Network Services > DNS > DNS Zones. Select the name of the zone and search for the host by name.
If resolved successfully, remove the test DNS entry.
echo -e "server 192.168.25.1\n \ update delete test.example.com 3600 IN A 192.168.25.20\n \ send\n" | nsupdate -k /etc/rndc.key
# echo -e "server 192.168.25.1\n \ update delete test.example.com 3600 IN A 192.168.25.20\n \ send\n" | nsupdate -k /etc/rndc.key
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Confirm that the DNS entry was removed.
nslookup test.example.com 192.168.25.1
# nslookup test.example.com 192.168.25.1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow The above
nslookup
command will fail and output the SERVFAIL error message if the record was successfully deleted.