# Certificates for hosts on private networks

**URL:** <https://community.letsencrypt.org/t/certificates-for-hosts-on-private-networks/174>\
**Category:** Issuance Policy\
**Created:** [August 14, 2015, 10:56am UTC](https://community.letsencrypt.org/t/certificates-for-hosts-on-private-networks/174 "2015-08-14T10:56:56Z")\
**Posts on this page:** 1\
**Showing post:** 35

<div class="post-metadata">

**Author:** ![bryanlarsen](https://sea3.discourse-cdn.com/letsencrypt/user_avatar/community.letsencrypt.org/bryanlarsen/32/11752_2.png) [@bryanlarsen](https://community.letsencrypt.org/u/bryanlarsen)\
**Post date:** [March 6, 2017, 12:02pm UTC](https://community.letsencrypt.org/t/certificates-for-hosts-on-private-networks/174/35 "2017-03-06T12:02:29Z")

</div>

This thread has some high Google juice, so here are some instructions on how to get certificates for private IP’s on letsencrypt.

Requirements: a domain name ([example.com](http://example.com)), access to the DNS server for [example.com](http://example.com), root access on a publicly accessible server ([server.example.com](http://server.example.com)). And let’s assume you want to create a certificate for 192.168.7.7 named [foo.example.com](http://foo.example.com)

1. install [certsling](https://pypi.python.org/pypi/certsling) on the server.
2. Add an A record to point foo(.example.com) to 192.168.7.7
3. Add an NS record to point \_acme-challenge.foo(.example.com) to [server.example.com](http://server.example.com)
4. `sudo socat -T15 udp4-recvfrom:53,reuseaddr,fork tcp:localhost:8053` on your server
5. open port 53 on your server firewall
6. `mkdir myemail@example.com`
7. `cd myemail@example.com`
8. `certsling -s --dns foo.example.com` to get certs from the letsencrypt staging server
9. When step 8 works, rm -rf \*
10. `certsling --dns foo.example.com` to get real certs

Your certs will be in "myemail@example.com/foo.example.com/"!

---

_[View the full topic](https://community.letsencrypt.org/t/certificates-for-hosts-on-private-networks/174)._
