Netgate Store

Author Topic: Add PTR and NS Records to DNS Resolver possible?  (Read 3471 times)

0 Members and 1 Guest are viewing this topic.

Offline Derelict

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 10566
  • Karma: +1209/-324
    • View Profile
Re: Add PTR and NS Records to DNS Resolver possible?
« Reply #30 on: October 05, 2017, 12:12:49 pm »
DNS is DNS is DNS. I have not looked at the document there.
Las Vegas, Nevada, USA
Use this diagram to describe your issue.
The pfSense Book is now available for just $24.70!
Do Not PM For Help! NO_WAN_EGRESSTM

Offline thehammer86

  • Jr. Member
  • **
  • Posts: 76
  • Karma: +1/-0
    • View Profile
Re: Add PTR and NS Records to DNS Resolver possible?
« Reply #31 on: October 05, 2017, 12:15:31 pm »
I get that.  But something with the way PTR records are handled internally in the software (BIND vs Unbound) must be different.

Offline doktornotor

  • Hero Member
  • *****
  • Posts: 8551
  • Karma: +964/-278
  • Not a pfSense employee, they cannot fire me...
    • View Profile
Re: Add PTR and NS Records to DNS Resolver possible?
« Reply #32 on: October 05, 2017, 12:31:20 pm »
No it doesn't translate 1:1 for Unbound, plus, instead of copy-paste of nonsensical instructions they are providing, it'd be way more useful to explain what they are trying to implement. Is that shitty product trying to delegate some subdomain to their own nameserver/printserver, or what?
Do NOT PM for help!

Offline johnpoz

  • Hero Member
  • *****
  • Posts: 16019
  • Karma: +1528/-221
  • Not a pfSense employee, they cannot fire me...
    • View Profile
Re: Add PTR and NS Records to DNS Resolver possible?
« Reply #33 on: October 05, 2017, 01:04:30 pm »
Exactly dok from the few minutes I looked at it when I installed the trial is they seem to try and delegate the domain your using to the box running the mobility software.  I can tell you that when you install it does listen on 53.. But doesn't seem to answer queries for its own name or for those PTR even when you directly query it.

I sniffed the papercut ng box when it was running the test to try and see exactly what it was doing a query for so could put in the correct stuff in unbound to what it was looking for.  But I didn't see it do any queries.  It sent out a mdns query that the printer answered directly etc.  Which doesn't seem like a smart thing to do if what your running is a validation of the dns method, etc.

When I get a chance I will turn off the airprint on the printer and move the mobility software to a box running on a different segment and then on my ios put in their software to see if can get it to find the printer and see what dns it actually does query for, etc.  But might take me a bit since my network at home is in a shambles after moving to that clunky usg as my router..
- An intelligent man is sometimes forced to be drunk to spend time with his fools.
- Please don't PM me for personal help
- if you want to say thanks applaud or https://www.freebsdfoundation.org/donate/
1x SG-2440 2.4.3-RELEASE (work)
1x SG-3100 2.4.3-RELEASE (work)
1x SG-4860 2.4.3-RELEASE-p1 (home)

Offline thehammer86

  • Jr. Member
  • **
  • Posts: 76
  • Karma: +1/-0
    • View Profile
Re: Add PTR and NS Records to DNS Resolver possible?
« Reply #34 on: October 05, 2017, 02:13:26 pm »
I sniffed the papercut ng box when it was running the test to try and see exactly what it was doing a query for so could put in the correct stuff in unbound to what it was looking for.  But I didn't see it do any queries.  It sent out a mdns query that the printer answered directly etc.  Which doesn't seem like a smart thing to do if what your running is a validation of the dns method, etc.
Just a quick check...does the FQDN set in the box itself have to match the A record and NS record?

e.g. When the box is assigned a static IP through the DHCP server and Unbound is set to record static DHCP entries. In the DHCP setting then should the hostname be set to "my-print-server" or can it be say "host1" and the additional custom options be added as well?

Offline mobility_dev

  • Newbie
  • *
  • Posts: 5
  • Karma: +0/-0
    • View Profile
Re: Add PTR and NS Records to DNS Resolver possible?
« Reply #35 on: October 08, 2017, 07:14:46 pm »
Hi,
I am a developer from Mobility Print team at PaperCut Software. Here are some clarification about our documentation on setting up Mobility Print.
- Most of our customers are using Windows DNS server and BIND server. That's why the instructions in our documentation are very specific to those servers.
- Mobility Print act as a DNS server for a delegation to a subzone under your search domain (or DNS suffix).
Here is an example: let say the search domain that your iOS devices, Android or Chromebook get when they join the WIFI network in your organisation/school is myschool.edu
The instruction at https://www.papercut.com/products/ng/mobility-print/manual/how-to-setup/step-2-configuration/discover-your-printers-using-dns/ in the BIND section
Code: [Select]
;---------------- Mobility Print records --------------

b._dns-sd._udp       IN PTR pc-printer-discovery
lb._dns-sd._udp      IN PTR pc-printer-discovery
pc-printer-discovery IN NS  print-server-host
print-server-host    IN A   XXX.XXX.XXX.XXX

;--------------- End of Mobility Print records ---------
Basically what we want is to set up a delegation to pc-printer-discovery.myschool.edu to the IP of the Mobility Print server. The two PTR records are defined by te DNS-SD RFC just for iOS and macOS devices

Again, the syntax above is very specific to BIND. Here is the equivalent syntax but using FQDN:
Code: [Select]
b._dns-sd._udp.myschool.edu.       IN PTR pc-printer-discovery.myschool.edu.
lb._dns-sd._udp.myschool.edu.      IN PTR pc-printer-discovery.myschool.edu.
pc-printer-discovery.myschool.edu. IN NS  print-server-host.myschool.edu.
print-server-host.myschool.edu.    IN A   XXX.XXX.XXX.XXX

I am happy to answer any technical questions about how to setup Mobility Print in your environment.

Offline trentuk

  • Newbie
  • *
  • Posts: 6
  • Karma: +0/-0
    • View Profile
Re: Add PTR and NS Records to DNS Resolver possible?
« Reply #36 on: October 09, 2017, 10:48:26 am »
Hello mobility_dev,

Many thanks for joining the discussion and for clarifying the required records.

I think the issue here is we need to find how best to create the required DNS records in 'Unbound' DNS (or 'DNS Resolver' as it is called in pfSense) so the Mobility Print App can successfully discover published printers.

In order to do this I believe the resident 'DNS Resolver' experts would be interested in gaining a better understanding of how the DNS records are utilised by the client application, I'll ask the following questions in order to get the ball rolling, everyone else feel free to jump in ...

  • Could you tell us how the client apps (Android, Windows, ChromeBook) search for the Mobility Print Server, do they specifically look for the subzone called 'pc-printer-discovery' with the same DNS suffix of the network the client device is connected to, or are the clients looking for the PTR records 'b._dns-sd._udp' & 'lb._dns-sd._udp' with the same DNS suffix of the network the client is connected to?



Thank you again for joining us, hopefully we can find a way to get DNS discovery working with pfSense installations.

I look forward to your reply.
« Last Edit: October 09, 2017, 10:54:52 am by trentuk »

Offline mobility_dev

  • Newbie
  • *
  • Posts: 5
  • Karma: +0/-0
    • View Profile
Re: Add PTR and NS Records to DNS Resolver possible?
« Reply #37 on: October 09, 2017, 07:41:26 pm »
Hi trentuk,
Here are are my answer:
Quote
Could you tell us how the client apps (Android, Windows, ChromeBook) search for the Mobility Print Server, do they specifically look for the subzone called 'pc-printer-discovery' with the same DNS suffix of the network the client device is connected to, or are the clients looking for the PTR records 'b._dns-sd._udp' & 'lb._dns-sd._udp' with the same DNS suffix of the network the client is connected to?
The Android, Windows will look for printers at a hard-coded URL: https://rpc.pc-printer-discovery:9164/printers (ChromeBook the URL is http://rpc.pc-printer-discovery:9163/printers). The OS will automatically append the search domain for you. If you setup the DNS delegation right, then this will return you a list of printer in JSON format.

Quote
The first step of the 'DNS Discovery Checks' says to test the IPPS pointer records, but this record isn't mentioned prior to this point, is this record required? If so is this the first record the Mobility Print App looks for? Should this record be returned by the local DNS or the Mobility Print Server DNS - https://www.papercut.com/products/ng/mobility-print/manual/troubleshooting/#test-the-ipps-pointer-records-dns-server
That record is "managed" by Mobility Print server itself (because it's under pc-printer-discovery subzone), so you should not add this record manually to your DNS server, you just need to setup the delegation subzone pc-printer-discovery under your search domain from your DNS server to Mobility Print server. That's it.
If you have more questions, please ask.

Offline johnpoz

  • Hero Member
  • *****
  • Posts: 16019
  • Karma: +1528/-221
  • Not a pfSense employee, they cannot fire me...
    • View Profile
Re: Add PTR and NS Records to DNS Resolver possible?
« Reply #38 on: October 10, 2017, 05:17:30 am »
if they are looking for rpc.pc-printer-discovery.domain.tld

And all your doing is pointing NS to the mobility then all that is needed in pfsense unbound would be a domain override for pc-printer-discovery.domain.tld.  What is the point of the PTRs? why can not just delegate _dns-sd._udp.domain.tld, etc.  unless your saying the mobility box won't respond to those - then why the need for the PTR at all  if they are just looking for

rpc.pc-printer-discovery.yourdomain.tld

Why can I Not just put in a host override of rpc.pc-printer-discovery and point it to the IP of the mobility box?  Which will serve up the xml? http(s)//:rpc.pc-printer-discovery.domain.tld:9164/printers

Why do we need all this subdomain delegation.. unless they look for Othersuff.pc-printer-discovery.domain.tld
« Last Edit: October 10, 2017, 05:30:30 am by johnpoz »
- An intelligent man is sometimes forced to be drunk to spend time with his fools.
- Please don't PM me for personal help
- if you want to say thanks applaud or https://www.freebsdfoundation.org/donate/
1x SG-2440 2.4.3-RELEASE (work)
1x SG-3100 2.4.3-RELEASE (work)
1x SG-4860 2.4.3-RELEASE-p1 (home)

Offline mobility_dev

  • Newbie
  • *
  • Posts: 5
  • Karma: +0/-0
    • View Profile
Re: Add PTR and NS Records to DNS Resolver possible?
« Reply #39 on: October 10, 2017, 06:20:41 am »
Thanks johnpoz for your input.
Mobility Print supports many client device types: Android, Chromebook, Windows, iOS and macOS.
If the customer need to:
- Support Android and Chromebook, then you are right. They only need to put the rpc.pc-printer-discovery.domain.tld using host override feature of Unbound as you said and it should work.
- Additionally support Windows, then they need to add another host override ipp.pc-printer-discovery.domain.tld to Unbound
- To support iOS and macOS, our server need to implement the DNS-SD RFC (http://www.dns-sd.org/) because iOS and macOS using DNS-SD to discovery printers. So the two records b._dns-sd._udp.domain.tld PTR pc-printer-discovery.domain.tld and lb._dns-sd._udp.domain.tld PTR pc-printer-discovery.domain.tld are required.
Here is a the DNS conversation of the iOS device with the DNS server (in this case Unbound) when it join a subnet with the search domain domain.tld and try to find the printers:
- iOS devices: hey, in this search domain domain.tld, where should I browse for available services so that I can use?
  (then it sends the query b._dns-sd._udp.domain.tld PTR to Unbound)
- Unbound: I don't know, but you can ask pc-printer-discovery.domain.tld
  (in this case we want Unbound to return the pc-printer-discovery.domain.tld as the data in the answer)
  Next, because the iOS device want to find printing services, which is defined as _ipps._tcp in DNS-SD RFC
- The iOS device will ask: Can you give me a list of printers so that I can print to?
  (then it sends the query _ipps._tcp.pc-printer-discovery.domain.tld PTR TO Unbound and we expect Unbound forward this query to Mobility Print server. Mobility Print server will generate the answers returning to Unbound then Unbound returns the answers to the iOS device)

This is how it works in the case of BIND and Windows DNS server.

So it's just the matter to replicate this conversation by configuring Unbound.
Input from Unbound expert is appricated!

For more information about DNS-SD: http://www.dns-sd.org/
« Last Edit: October 10, 2017, 08:40:20 am by mobility_dev »

Offline johnpoz

  • Hero Member
  • *****
  • Posts: 16019
  • Karma: +1528/-221
  • Not a pfSense employee, they cannot fire me...
    • View Profile
Re: Add PTR and NS Records to DNS Resolver possible?
« Reply #40 on: October 10, 2017, 07:45:15 am »
That is great info thank you - how come that info is not listed on your site when looking to implement dns for your product?  Or is it and just didn't find that document?  If so could you provide link?
- An intelligent man is sometimes forced to be drunk to spend time with his fools.
- Please don't PM me for personal help
- if you want to say thanks applaud or https://www.freebsdfoundation.org/donate/
1x SG-2440 2.4.3-RELEASE (work)
1x SG-3100 2.4.3-RELEASE (work)
1x SG-4860 2.4.3-RELEASE-p1 (home)

Offline thehammer86

  • Jr. Member
  • **
  • Posts: 76
  • Karma: +1/-0
    • View Profile
Re: Add PTR and NS Records to DNS Resolver possible?
« Reply #41 on: October 10, 2017, 09:51:27 am »
Just tried the host override in the web GUI.  Unbound doesn't seem to like the "dot" after the "rpc".  It returns an error in the staying "A valid hostname is specified, but the domain part should be omitted.

Offline johnpoz

  • Hero Member
  • *****
  • Posts: 16019
  • Karma: +1528/-221
  • Not a pfSense employee, they cannot fire me...
    • View Profile
Re: Add PTR and NS Records to DNS Resolver possible?
« Reply #42 on: October 10, 2017, 01:58:33 pm »
you wouldn't put in a dot after

The host would be rpc

The domain would be pc-printer-discovery.domain.tld

In your host override section.
- An intelligent man is sometimes forced to be drunk to spend time with his fools.
- Please don't PM me for personal help
- if you want to say thanks applaud or https://www.freebsdfoundation.org/donate/
1x SG-2440 2.4.3-RELEASE (work)
1x SG-3100 2.4.3-RELEASE (work)
1x SG-4860 2.4.3-RELEASE-p1 (home)

Offline thehammer86

  • Jr. Member
  • **
  • Posts: 76
  • Karma: +1/-0
    • View Profile
Re: Add PTR and NS Records to DNS Resolver possible?
« Reply #43 on: October 10, 2017, 02:15:42 pm »
Thanks for the clarification johnpoz.  Rookie mistake on my part.  I have all the records required for Android and two green check marks but I still can't seem to get the mobility app to find my printers.

Offline johnpoz

  • Hero Member
  • *****
  • Posts: 16019
  • Karma: +1528/-221
  • Not a pfSense employee, they cannot fire me...
    • View Profile
Re: Add PTR and NS Records to DNS Resolver possible?
« Reply #44 on: October 10, 2017, 02:25:26 pm »
I have gotten a bit side tracked..  I will try and find some time here tmrw morning to bring up the mobility on box on one of my wifi segments with printer and papercut ng on different segment to get this working..  And will turn off the functionality on the printer directly, etc.

Per this
"Support Android and Chromebook, then you are right. They only need to put the rpc.pc-printer-discovery.domain.tld using host override feature of Unbound as you said and it should work."

All you should need is the override pointing to the IP of your box running the mobility.. As long as the mobility has your printer(s) setup, etc.
- An intelligent man is sometimes forced to be drunk to spend time with his fools.
- Please don't PM me for personal help
- if you want to say thanks applaud or https://www.freebsdfoundation.org/donate/
1x SG-2440 2.4.3-RELEASE (work)
1x SG-3100 2.4.3-RELEASE (work)
1x SG-4860 2.4.3-RELEASE-p1 (home)