Support for using Microsoft DNS and DHCP in provisioning?

Problem:
Unable to find documentation on how to use External MS DNS and DHCP services. Is it supported at all?

Thanks,

Expected outcome:
Leverage existing MS DNS and DHCP for provisioning hosts
Foreman and Proxy versions:
Foreman = 3.6.1
Smart Proxy = 3.6.1
Katello = 4.8
Foreman and Proxy plugin versions:

Distribution and version:

Other relevant data:

Hi @ericville

I believe using Microsoft DHCP and DNS with Smart Proxies; or installing Smart Proxies on Microsoft Windows is not officially supported by Foreman.

You can have a look at orcharhino; an enterprise product based on Foreman+Katello that supports installing orcharhino Proxies on Microsoft Windows. See Installing orcharhino Proxy on Windows. Disclaimer: I work for ATIX, the company behind orcharhino. Feel free to message my; I’d be happy to connect you.

Regards,
Maximilian.

1 Like

Thanks Maximilian for the information. I’ll check it out

v/r,

  •    Eric
    

Eric W. Courville | MCP Azure Fundamentals, AWS CCP, Security +, Server+, ITIL v3
Office: 337-484-1709
102 Versailles Blvd.
Lafayette, LA 70501

[*]

image002.jpg

image001.jpg

Hello @ericville, I am running this scenario for years now and it works very well (I am running Windows Server 2019 and Foreman 3.7).

You’ll have to install SmartProxy on your MS Servers directly (from source) and activate the features like usual. Then add them to your Foreman/Katello instance, have a look at the official docs here, there is a section about Windows.

For ease of upgrades I’d recommend to directly git-clone the repo and check out the release matching your Foreman version.

Please note, there is currently an issue in Windows at the bundle install/update step as not all Gems are correctly installed. The workaround is to add a file to bundler.d/,

# bundler.d/common.rb
gem 'rack', '>= 1.3'
gem 'sd_notify', '~> 0.1'
gem 'sinatra', '~> 2.0'
gem 'webrick', '~> 1.0'

Daniel,
Thanks for the information, it’s much appreciated. I’ll give this a try!

Thanks again,

  •    Eric
    

Eric W. Courville | MCP Azure Fundamentals, AWS CCP, Security +, Server+, ITIL v3
Office: 337-484-1709
102 Versailles Blvd.
Lafayette, LA 70501

[*]

image002.jpg

image001.jpg

Daniel,
How do I get the new file common.rb to be called or referenced?

Thanks,

  •    Eric
    

Eric W. Courville | MCP Azure Fundamentals, AWS CCP, Security +, Server+, ITIL v3
Office: 337-484-1709
102 Versailles Blvd.
Lafayette, LA 70501

[*]

image002.jpg

image001.jpg

Hello @ericville,

you should not need to ref the file directly as the Gemfile should auto-include every *.rb file in bundler.d/.
To make it more clear:

  1. clone the repo
  2. check out your applicable release tag
  3. put the file you created in the bundler.d/ - folder
  4. run bundle install (with all the exclusions from docs)

If this does not work, please add your findings to my ticket above. Maybe someone with more insight like @Dmitri_Dolguikh could propose a better way?

Thanks again Daniel for the quick response!
I’ll give this a try, and if it doesn’t work, I’ll add to your ticket.

  •    Eric
    

Eric W. Courville | MCP Azure Fundamentals, AWS CCP, Security +, Server+, ITIL v3
Office: 337-484-1709
102 Versailles Blvd.
Lafayette, LA 70501

[*]

image002.jpg

image001.jpg

Looks like I have everything running as expected now, and the service created. My only issue now is the part where I need to generate a certificate for the new Windows Smart Proxy server. Running the following command as stated in the documentation " ```
puppet cert generate new-smart-proxy-FQDN" on my Foreman Server, results in the following - “Error: Unknown Puppet subcommand ‘cert’” It allows me to use the subcommand however, which is confusing. Any ideas?

Thanks,

Hello @ericville , yes; these puppet cert commands are outdated now. You’ll need to use puppetserver ca generate --certname <name> nowadays I think.
If your host running smart-proxy is puppet managed, you can just reuse those certs…

Thanks for the response Daniel.
Unfortunately, my Foreman server doesn’t have the command ‘puppetserver’. Not sure if I need to install another plugin or feature.

  • Eric

Hello @ericville, you should open a new thread with your question. That said, you only have the puppetserver command where you actually run a puppetserver. Also check your path env;

# which puppetserver
/opt/puppetlabs/bin/puppetserver