First off, this is not related to Foreman and you should be probably asking in some generic Linux administrator list of forums to get faster feedback. Anyway, I don’t know what is wrong with your host, but configuring NAT with masquerade on a modern OS with firewalld is as easy as:
# nmcli c mod eth0 connection.zone internal
# nmcli c mod eth1 connection.zone external
On CentOS or Red Hat compatible systems, there is nothing else to do, external zone is already pre-configured with masquerade. If it does not work, then you probably need to enable it:
If you have more hosts to provision, consider doing a proper Ubuntu repository mirror and update the Installation Media URL to point your hosts to the mirror. Or if you want to do advanced content management, consider installing the Katello plugin.
I already have Katello installed, but from what I have found, creating deb content seems like you need to do many manual steps directly with Pulp and then mix and match with some Foreman steps.
I had started creating a local mirror, but it got big fast.
Can Katello manage the installation media as content also or just the packages once deployed?
I am not really sure about Debian capabilities in Katello, but in general once you install Katello you do not use Installation Media page anymore, Katello provides its own source (it is called Products, Repositories and Content Sources). See documentation:
Did not know that, for my RHEL 8.3 deployment I creted an Installation Media for base provisioning and then I created a Content View for the packages, did not think that the a Content View could also be used for the PXE deployment of the OS.
Debian/Ubuntu installations are not currently possible from synced content alone. (Though we do have this on our roadmap). What you can do is install a Debian/Ubuntu host using the normal installation media way, and then have it use content that was synchronized to Katello from there. I am not sure how out of the box the configuration is, since you will need to add a client repository so your host can register with Katello. Some relevant docs can be found here: apt.atix.de