PTR RRs benefit from label compression, whereas TXT records do not. Therefore I prefer PTR records for any such "metadata" references within DNS. There's no chance they'll be mistaken for, or conflict with reverse DNS records if they're not in the in-addr.arpa branch of the namespace.

- Kevin

On 11/9/2010 4:16 PM, philippe.simo...@swisscom.com wrote:

Hi

If you have control over all zones, you could also pre-store the results of

your search in DNS J

For all CNAME records, make e.g. a TXT record with the reverse result :

(TXT is maybe not the better record type...which ones (for specialists))

For each :

a-name IN A 1.2.3.4

an-alias IN CNAME a-name

Just add :

a-name IN TXT an-alias

and make more than one TXT records for each cname pointing to the same record ...

a-name IN TXT another-alias

best regards

Philippe

*From:*bind-users-bounces+philippe.simonet=swisscom....@lists.isc.org [mailto:bind-users-bounces+philippe.simonet=swisscom....@lists.isc.org] *On Behalf Of *Stacey Jonathan Marshall
*Sent:* mardi 9 novembre 2010 16:53
*To:* bind-users@lists.isc.org
*Subject:* Re: How to get easily (from a script) all CNAME of a A record?

On 09/11/2010 14:14, Michelle Konzack wrote:

Hello Matus UHLAR - fantomas,
Am 2010-11-09 14:13:47, hacktest Du folgendes herunter:

    I am not sure whether dnswalk over whole internet can do that, but on your

I will try it...
    server you can either run recursive grep over named data directory, or dump

    the named dsatabase and grep it...

This is what I currently do... ----[ '/usr/sbin/get_hosts_in cname' ]----------------------------------
#!/bin/sh
QUERY="$1" for FILE in $(cd /etc/bind&& ls *.signed)
do
   grep --regexp=" IN CNAME .*${QUERY}" /etc/bind/${FILE} 2>/dev/null |cut -d ' 
' -f1 |sed 's|.$||'
done
------------------------------------------------------------------------
...and it is to slow do to more then 80.000 Zones (they have to be
greped all) number of VHosts.
Oh, it is now time to use "xargs", because I saw today, that I hit the
limits for "ls".  :-D
Following is working:
     cd /etc/bind&&  ls
but not:
     cd /etc/bind&&  ls *
or
     cd /etc/bind&&  ls *.signed
and the OSes are called Linux and BSD... WTF? It seems that a commandline can not have more then 31.000 characters.
(no not options but total lenght)
Thanks, Greetings and nice Day/Evening
     Michelle Konzack
The asterisk causes the shell to expand the names and run ls with them as a single command, so in effect you have "ls file1 file2 file3 ...". Try the following instead:


cd /etc/bind
for FILE in *.signed
do
   grep --regexp=" IN CNAME .*${QUERY}" ${FILE} 2>/dev/null |cut -d ' ' -f1 
|sed 's|.$||'
done

It might still have the same issue, but worth a go.

I assume the command length is also why your not simply running "grep -h <expression> *.signed"?

Stace

_______________________________________________
bind-users mailing list
bind-users@lists.isc.org  <mailto:bind-users@lists.isc.org>
https://lists.isc.org/mailman/listinfo/bind-users


_______________________________________________
bind-users mailing list
bind-users@lists.isc.org
https://lists.isc.org/mailman/listinfo/bind-users

_______________________________________________
bind-users mailing list
bind-users@lists.isc.org
https://lists.isc.org/mailman/listinfo/bind-users

Reply via email to