# Private DNS provider

**URL:** <https://forums.suse.com/t/private-dns-provider/2090>\
**Category:** Rancher 1.x\
**Created:** [March 18, 2016, 3:19pm UTC](https://forums.suse.com/t/private-dns-provider/2090 "2016-03-18T15:19:40Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![digitalLumberjack](https://avatars.discourse-cdn.com/v4/letter/d/f1d935/32.png) [@digitalLumberjack](https://forums.suse.com/u/digitalLumberjack)\
**Post date:** [March 18, 2016, 3:19pm UTC](https://forums.suse.com/t/private-dns-provider/2090/1 "2016-03-18T15:19:40Z")

</div>

Hi everyone 🙂  
First thank you very much for the superbe piece of software you are building.  
I’m discovering all the very exciting features, and i really enjoy everything rancher provides. The only thing i cannot find is a private DNS provider for internal use in a company.  
What i need would be a private DNS server like bind9, that makes the same thing you did with the external dns services (wich are great by the way)

So i was thinking about creating a bind9 service, with a rest api to add / remove subdomains (based on the same idea as [https://github.com/ajclark/bind-restapi](https://github.com/ajclark/bind-restapi)) and add a provider in [https://github.com/rancher/external-dns/tree/master/providers](https://github.com/rancher/external-dns/tree/master/providers) to make it available.

So would this be ok, or did i miss something and such a feature is already available ?

Thank you.

---

<div class="post-metadata">

**Author:** ![vincent](https://sea2.discourse-cdn.com/flex022/user_avatar/forums.suse.com/vincent/32/7156_2.png) [@vincent](https://forums.suse.com/u/vincent)\
**Post date:** [March 18, 2016, 3:52pm UTC](https://forums.suse.com/t/private-dns-provider/2090/2 "2016-03-18T15:52:59Z")

</div>

There is not anything like this today and would be a useful addition; other people have asked about it.

The external-dns integration is pretty straightforward. The harder part will be if you want to make a template for deploying bind and particularly making it fault-tolerant/scalable past one container

---

<div class="post-metadata">

**Author:** ![hwinkel](https://sea2.discourse-cdn.com/flex022/user_avatar/forums.suse.com/hwinkel/32/951_2.png) [@hwinkel](https://forums.suse.com/u/hwinkel)\
**Post date:** [March 20, 2016, 8:18am UTC](https://forums.suse.com/t/private-dns-provider/2090/3 "2016-03-20T08:18:52Z")

</div>

seems no so hard to add a another provider like this. We are also interested to make either stock dynamic DNS updates or something works with delegation or a API you mentioned.

---

<div class="post-metadata">

**Author:** ![ragaar](https://avatars.discourse-cdn.com/v4/letter/r/59ef9b/32.png) [@ragaar](https://forums.suse.com/u/ragaar)\
**Post date:** [March 25, 2016, 3:51am UTC](https://forums.suse.com/t/private-dns-provider/2090/4 "2016-03-25T03:51:54Z")

</div>

What about jwilder/nginx-proxy?

---

<div class="post-metadata">

**Author:** ![vincent](https://sea2.discourse-cdn.com/flex022/user_avatar/forums.suse.com/vincent/32/7156_2.png) [@vincent](https://forums.suse.com/u/vincent)\
**Post date:** [March 25, 2016, 4:42am UTC](https://forums.suse.com/t/private-dns-provider/2090/5 "2016-03-25T04:42:13Z")

</div>

@hwinkel if you like etcd [https://github.com/skynetservices/skydns](https://github.com/skynetservices/skydns) would probably work well. Our internal DNS is based on the same underlying library (`mikeg/dns`) for all the low-level protocol. And a proper etcd installation would provide the fault-tolerant store and API for external-dns to manipulate.

@ragaar Not really the same thing… external-dns creates actual DNS records which work for services that aren’t http-based.

---

<div class="post-metadata">

**Author:** ![Ryan.Cui](https://sea2.discourse-cdn.com/flex022/user_avatar/forums.suse.com/ryan.cui/32/1131_2.png) [@Ryan.Cui](https://forums.suse.com/u/Ryan.Cui)\
**Post date:** [March 30, 2016, 7:42am UTC](https://forums.suse.com/t/private-dns-provider/2090/6 "2016-03-30T07:42:04Z")

</div>

@vincent May I have an api list of external-dns must have, to evaluate the local DNS provider?

---

<div class="post-metadata">

**Author:** ![vincent](https://sea2.discourse-cdn.com/flex022/user_avatar/forums.suse.com/vincent/32/7156_2.png) [@vincent](https://forums.suse.com/u/vincent)\
**Post date:** [March 30, 2016, 7:45am UTC](https://forums.suse.com/t/private-dns-provider/2090/7 "2016-03-30T07:45:32Z")

</div>

@Ryan.Cui not sure if I understand what you’re asking, but the interface for an external-dns to implement is [https://github.com/rancher/external-dns/blob/master/providers/provider.go#L10-L16](https://github.com/rancher/external-dns/blob/master/providers/provider.go#L10-L16)

---

<div class="post-metadata">

**Author:** ![Ryan.Cui](https://sea2.discourse-cdn.com/flex022/user_avatar/forums.suse.com/ryan.cui/32/1131_2.png) [@Ryan.Cui](https://forums.suse.com/u/Ryan.Cui)\
**Post date:** [March 30, 2016, 7:49am UTC](https://forums.suse.com/t/private-dns-provider/2090/8 "2016-03-30T07:49:30Z")

</div>

@vincent Yes, that’s I was asking for, thank you! 😀

---

<div class="post-metadata">

**Author:** ![bradshawit](https://avatars.discourse-cdn.com/v4/letter/b/8491ac/32.png) [@bradshawit](https://forums.suse.com/u/bradshawit)\
**Post date:** [May 13, 2016, 3:23am UTC](https://forums.suse.com/t/private-dns-provider/2090/9 "2016-05-13T03:23:28Z")

</div>

Has anyone got this working?

I would really like to see this feature, in my set up i don’t want to use an external dns service as everything accessed will be via local subnets

---

<div class="post-metadata">

**Author:** ![digitalLumberjack](https://avatars.discourse-cdn.com/v4/letter/d/f1d935/32.png) [@digitalLumberjack](https://forums.suse.com/u/digitalLumberjack)\
**Post date:** [May 25, 2016, 9:07am UTC](https://forums.suse.com/t/private-dns-provider/2090/10 "2016-05-25T09:07:25Z")

</div>

I have done a first draft for a bind9 provider with a rfc pr at [https://github.com/rancher/external-dns/pull/35](https://github.com/rancher/external-dns/pull/35)

---

<div class="post-metadata">

**Author:** ![n4tiv3](https://avatars.discourse-cdn.com/v4/letter/n/d9b06d/32.png) [@n4tiv3](https://forums.suse.com/u/n4tiv3)\
**Post date:** [December 7, 2016, 10:51pm UTC](https://forums.suse.com/t/private-dns-provider/2090/11 "2016-12-07T22:51:54Z")

</div>

How does this work with rancher?

I created an environment with VXLAN and BIND9 (which is from your repo)  
If i start a service in this env + stack, the FQDN is not set in the API.

I’ve read the external DNS manual with AWS but it doesn’t tell me how to do it with BIND9
