Source : https://access.redhat.com/documentation/en-US/Red_Hat_Satellite/6.1/html/Installation_Guide/sect-Red_Hat_Satellite-Installation_Guide-Red_Hat_Configuring_Satellite_6_with_External_Services.html
Configure the external TFTP server as follows:
Install and enable the TFTP server and syslinux:
# yum install tftp-server syslinux
On Red Hat Enterprise Linux 7, enable and activate the tftp.socket unit :
# systemctl enable tftp.socket
# systemctl start tftp.socket
Configure the PXELinux environment as follows:
# mkdir -p /var/lib/tftpboot/{boot,pxelinux.cfg}
# cp /usr/share/syslinux/{pxelinux.0,menu.c32,chain.c32} /var/lib/tftpboot/
Restore SELinux file contexts:
# restorecon -RvF /var/lib/tftpboot/
On Red Hat Enterprise Linux 7:
It is recommended to use firewalld daemon's NFS service option because NFS uses multiple ports to initiate connections. To do so, enter the following commands:
# firewall-cmd --zone public --add-service mountd \
&& firewall-cmd --zone public --add-service rpc-bind \
&& firewall-cmd --zone public --add-service nfs \
&& firewall-cmd --permanent --zone public --add-service mountd \
&& firewall-cmd --permanent --zone public --add-service rpc-bind \
&& firewall-cmd --permanent --zone public --add-service nfs
For this step CentOS kernel and initrd files are required. To get those files you need the CentOS 7.3.1611 DVD ISO Image. So, go ahead and download CentOS DVD Image, put it in your DVD drive and mount the image system path by issuing the below command.
The reason for using the DVD and not a Minimal CD Image is the fact that later this DVD content would be used to create the
locally installer repositories for FTP sources.
# mount -o loop /dev/cdrom /mnt/media
After the DVD content is made available, copy CentOS 7 bootable kernel and initrd images from the DVD mounted location to centos7 folder structure.
# cp images/centos/x86_64/7.3.1611/initrd.img /var/lib/tftpb
# cp images/centos/x86_64/7.3.1611/vmlinuz /var/lib/tftpboot
Configure the firewall for external access to the TFTP service (UDP on port 69):
On a Red Hat Enterprise Linux 7:
# firewall-cmd --add-port="69/udp" \
&& firewall-cmd --permanent --add-port="69/udp"
Configuring a Foreman Server to Use an External TFTP Service
To configure a Capsule Server to use an external TFTP service, proceed as follows:
Run the foreman-installer script to make the following persistent changes to the /etc/foreman-proxy/settings.d/tftp.yml file:
# katello-installer --foreman-proxy-tftp=true --foreman-proxy-tftp-root /mnt/nfs/var/lib/tftpboot
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.
# foreman-installer --foreman-proxy-tftp-servername=cos-foreman-pa
View the Satellite Server GUI in your browser; https://cos-foreman-pa.FQDN.
Select Infrastructure → Smart proxies in the user interface. Locate the Capsule and select Refresh features from the drop-down list. The TFTP feature should appear.
Select Infrastructure → Smart proxies → Subnet and associate the TFTP service with the appropriate subnets and domain.