Martin, Petr,

Thanks for helping me sort through the syntax. I have the entries added properly:

  # ipa dnsrecord-show example.com _foo.tcp
    Record name: _foo.tcp
    SRV record: 0 0 53 foo1.example.com., 0 0 53 foo2.example.com.

  # host -t srv _foo.tcp
  _foo.tcp.example.com has SRV record 0 0 53 foo2.example.com.
  _foo.tcp.example.com has SRV record 0 0 53 foo1.example.com.

but how to I actually use the entry?

 # nslookup _foo.tcp
 Server:        10.19.140.101
 Address:    10.19.140.101#53

 *** Can't find _foo.tcp: No answer

# nslookup _foo.tcp.example.com.
Server:        10.19.140.101
Address:    10.19.140.101#53

*** Can't find _foo.tcp.example.com.: No answer

# ping _foo.tcp
ping: unknown host _foo.tcp

The point of this is to create a front-end to balance requests from OpenShift clients across a set of OpenShift brokers. Host "foo" would alternate across the first broker
(foo1) and second broker (foo2).

-m




On 07/22/2014 08:06 AM, Mark Heslin wrote:
On 07/22/2014 08:00 AM, Mark Heslin wrote:
Martin, Petr,

I didn't see that missing dot "." - good catch. As always the devil is in the details :-)

Two follow up questions:

1. I've set the priority and weighting equally here but I will add a third host so would it make sense to just set both priority and weight to "0" for all three hosts?:

# ipa dnsrecord-add example.com _foo.tcp --srv-rec="0 0 53 foo1.example.com." # ipa dnsrecord-add example.com _foo.tcp --srv-rec="0 0 53 foo2.example.com." # ipa dnsrecord-add example.com _foo.tcp --srv-rec="0 0 53 foo3.example.com."

2. To Petr's point about registering the "_foo.tcp" service. By definition this isn't really a true "service" and more like "CNAME with benefits". (Sorry, couldn't resist the bad dating reference ;-)) Do I actually still need to add this to /etc/services? If so, then I'd have to do that for
      all hosts in the environment, IdM servers, clients, etc., correct?

Truth be told, this is just being used for an alternative to a true h/w, s/w load balancer for demonstration purposes so I'm sure adding it to the services file makes sense.

Gah! I meant to say I'm *not* sure adding it to the services file makes sense.



Thank you both!

-m




On 07/22/2014 03:16 AM, Petr Spacek wrote:
On 22.7.2014 00:13, Mark Heslin wrote:
Hi All,

I had some off-list exchanges with Petr Spacek on this but am still trying to
work out the correct syntax.
I have 2 hosts:

    - foo1.example.com
    - foo2.example.com

and would like to create a round-robin DNS srv record for both called
foo.example.com

I already have DNS entries for both hosts in IPA:

   # ipa dnsrecord-show example.com foo1
     Record name: foo1
     A record: 10.0.0.1
   # ipa dnsrecord-show example.com foo2
     Record name: foo2
     A record: 10.0.0.2

I'd like to get the correct syntax for adding the srv record for foo.
My understanding is that it should be something like this:

# ipa dnsrecord-add example.com _foo.tcp --srv-rec="0 50 53 foo1.example.com"
   Record name: _foo.tcp
   SRV record: 0 50 53 foo1.example.com
# ipa dnsrecord-add example.com _foo.tcp --srv-rec="0 50 53 foo2.example.com"
   Record name: _foo.tcp
   SRV record: 0 50 53 foo2.example.com

which seemed to be added ok but on second glance I think not:

   # host -t srv _foo.tcp.example.com
_foo.tcp..example.com has SRV record 0 50 53 foo1.example.com.example.com. _foo.tcp..example.com has SRV record 0 50 53 foo2.example.com.example.com.

In looking over the description of rfc2782
<http://en.wikipedia.org/wiki/SRV_record> it appears the IPA syntax is a
little different,

I don't think so :-)

Please note the trailing dot in "target" part of http://en.wikipedia.org/wiki/SRV_record#Record_format.

IPA behaves in the same way as BIND 9: All domain names without trailing dot are automatically extended with zone origin, i.e. "example.com.".

You have two options:
# ipa dnsrecord-add example.com _foo.tcp --srv-rec="0 50 53 foo1" (DNS server will automatically append "example.com.")

or

# ipa dnsrecord-add example.com _foo.tcp --srv-rec="0 50 53 foo1.example.com."
(please note the trailing dot)



Another note is about "_foo". "foo" should be "service name" according to http://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml

It will probably not cause any problems if you invent your own name (preferably prefixed with x- to avoid collisions in future, e.g. "_x-foo"), but it will not hurt you if you register your protocol into the registry :-)
See http://tools.ietf.org/html/rfc6335

and the documentation is scarce so admittedly I'm taking a swag at this ;-)

I can do this fine without srv but don't have enough familiarity with DNS srv
here.
Can anyone help clarify what I'm missing? I'd like to have equal weighting,
priority
to both hosts - I'm assuming the port (53) is correct for DNS here as well.
What are you trying to achieve? The port number refers to port used by your application, not to DNS.







--

Red Hat Reference Architectures

Follow Us: https://twitter.com/RedHatRefArch
Plus Us: https://plus.google.com/u/0/b/114152126783830728030/
Like Us: https://www.facebook.com/rhrefarch

--
Manage your subscription for the Freeipa-users mailing list:
https://www.redhat.com/mailman/listinfo/freeipa-users
Go To http://freeipa.org for more info on the project

Reply via email to