External Foreman proxy with dhcpd not working

In a nutshell:

  • Deployed Ubuntu manually
  • Add host to Foreman: Install the subscription manager (Atix), then register the host to Foreman.
  • Deploy certificates
  • Install Puppet (v8)
  • Install Foreman installer
  • Then install Foreman-proxy:
sudo foreman-installer --no-enable-foreman --no-enable-foreman-cli \
  --no-enable-puppet --no-enable-foreman-cli-puppet \
  --no-enable-foreman-plugin-puppet --foreman-proxy-puppet=false --foreman-proxy-puppetca=false \
  --enable-foreman-proxy \
  --foreman-proxy-ssl-ca                        "/etc/foreman-proxy/ssl_ca.pem" \
  --foreman-proxy-ssl-cert                      "/etc/foreman-proxy/$(hostname).pem" \
  --foreman-proxy-ssl-key                       "/etc/foreman-proxy/$(hostname).key" \
  --foreman-proxy-foreman-ssl-ca                "/etc/ipa/ca.crt" \
  --foreman-proxy-foreman-ssl-cert              "/etc/foreman-proxy/foreman_client.crt" \
  --foreman-proxy-foreman-ssl-key               "/etc/foreman-proxy/foreman_client.key" \
  --foreman-proxy-tftp=false \
  --foreman-proxy-dhcp=false \
  --foreman-proxy-register-in-foreman=true \
  --foreman-proxy-foreman-base-url              "https://foreman.domain.com" \
  --foreman-proxy-trusted-hosts                 "foreman.domain.com" \
  --foreman-proxy-trusted-hosts                 "$(hostname)" \
  --foreman-proxy-oauth-consumer-key            "********" \
  --foreman-proxy-oauth-consumer-secret         "********"
  • Disable puppet-agent sudo systemctl disable --now puppet. Foreman has Puppet installed only for the deployment of Foreman.
  • Enable TFTP
  • Enable DHCP
  • Installed lighttpd for local hosting of Ubuntu ISO files
  • Configured Foreman for installation media residing on the new Foreman-proxy