Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!


nsdmin
New on LowEndTalk? Please Register and read our Community Rules.

All new Registrations are manually reviewed and approved, so a short delay after registration may occur before your account becomes active.

nsdmin

sleddogsleddog Member
edited October 2012 in General

For the DIY DNS admin... an alpha preview:

http://demo.nsdmin.com
Login: admin / demo

nsdmin is a PHP/SQLite web interface for dns administration.

  • Runs on same host as the master nameserver.
  • Supports nsd slave nameservers.

Test nameservers are active.

ns1.demo.nsdmin.com (master)
ns2.demo.nsdmin.com (slave)

So you can add/modify a zone and then test with dig @ns1.demo.nsdmin.com ....

Notes:

  • It's single-user, no concept (yet) of multiple users and zone ownership.
  • Lots o' bugs, and not feature-complete.
  • New zones are available on the master (ns1) after activation.
  • New zones are available on the slave within 5 minutes (cron job).
  • Modifications to an existing zone are available immediately (upon activation) on the slave.
  • ns1 & ns2 are both 64MB LEBs, using ~12 MB RAM.

Comments, suggestions welcome.

«1

Comments

  • joepie91joepie91 Member, Patron Provider

    I very much like.

    One suggestion: you may want to add a pre-defined TTL dropdown, instead of just a textbox :)

  • TheGeekBoxTheGeekBox Member
    edited October 2012

    Looks very nice, I made a similar thing over the summer (although not nearly as featured) also using nsd only called it NSaDmin creepy... Anyway as I say even from the demo yours seems considerably more advanced than mine but the code is up on github if you want to have a look incase anything there will aid you development.

  • gbshousegbshouse Member, Host Rep

    Tip: replace empty record name with "@" char

  • I remember Linode's interface with this, great project! :)

  • Found a bug with the radio buttons.

    My Mail Servers
    Gmail Servers
    None

    When I hover over Gmail and then to none, I notice that 2 of them will be highlighted at the same time instead of 1 no matter how I move the mouse.

  • Looks a nice job!

  • @joepie91 said: One suggestion: you may want to add a pre-defined TTL dropdown, instead of just a textbox :)

    Hmmm... perhaps :)

    @gbshouse said: Tip: replace empty record name with "@" char

    Will do, thanks.

    @Zen said: Did you do the panel design (css) yourself?

    Yes. it's kind of thrown together with bits and pieces from other projects. Needs more work :)

    @concerto49 said: When I hover over Gmail and then to none, I notice that 2 of them will be highlighted at the same time instead of 1

    HTML error, fixed & thanks.

  • I've been asked in a PM if this would be an open source project. The answer is yes.

    @gbshouse @DNSbed : I'd like to draw on your DNS expertise if that's OK. Particularly for error checking... for record submissions that are DNS-illegal. For example, I know that I shouldn't allow a CNAME or TXT record to be created with the same name as another record, e.g. an A record. If you'd care to point out other no-no's it would be appreciated. Yes, I'm reading the docs but human input helps :)

  • gbshousegbshouse Member, Host Rep

    hmmm let me think

    • for A check valid IPv4
    • for AAAA check valid IPv6,
    • record name, domain name, only [a-zA-Z0-9.-]
    • for TXT check no new lines, tabs etc.
    • for MX check for priority

    Take a look on this page and read all (or almost all) RFCs

  • @gbshouse said: hmmm let me think

    Thanks for that...

  • @sleddog Yeah I asked via PM because I feel like contributing to the project by doing the UI, if that's possible :)

  • gbshousegbshouse Member, Host Rep

    @sleddog - don't worry for us it took 6 months to write whole system (with 6 dedicated developers) but it included rewriting some parts of PowerDNS, custom control panel, cluster management and monitoring plus some elements of AI :)

  • gbshousegbshouse Member, Host Rep

    @Zen - sure, why not?

  • I've written some error-checking for invalid records (and zones), if anyone would like to try creating invalid entries.

    http://demo.nsdmin.com
    Login: admin / demo

  • @Zen I'll be sending you a PM shortly. Thanks

  • @rgenzon said: @Zen I'll be sending you a PM shortly. Thanks

    $hijack = 'off'

    Thanked by 1klikli
  • @Zen said: @sleddog said: $hijack = 'off';

    FTFY

    :-)

    If anyone's interested in this project I can do a beta release this week. If not, well, eventually....

  • sleddogsleddog Member
    edited October 2012

    @gbshouse said: - record name, domain name, only [a-zA-Z0-9.-]

    What about TXT record names? Underscores are legal, anything else? I'm having a hard time finding definitive specs for this....

  • gbshousegbshouse Member, Host Rep

    @sleddog - for TXT allow everything except new lines and tabs (\r\n\t)

  • @gbshouse said: @sleddog - for TXT allow everything except new lines and tabs (\r\n\t)

    Even for the record name?

  • gbshousegbshouse Member, Host Rep

    @sleddog - no for name a-z, 0-9, -, ., _

  • @sleddog What about TXT record names?

    Apparently any single string isn't meant to be greater than 255 characters either.
    I also been interested to test this once you're ready.

  • @TheGeekBox said: Apparently any single string isn't meant to be greater than 255 characters either.

    I also been interested to test this once you're ready.

    Thanks for 255 char tip.

    I'm having a hard time deciding what I should or shouldn't include feature-wise for a test release. Right now the core functionality seems pretty stable, but there's lots of quirks (mostly with getting it setup & running correctly). Should put it out and let users guide it, or hone it more according to my ideas (I've got several things I want to do with it) ?

  • @sleddog said: Underscores are legal, anything else?

    Underscores are also legal in the names of SRV records.

  • @sleddog said: I'm having a hard time deciding what I should or shouldn't include feature-wise for a test release.

    I think anything that's a distributed system such a this is bound to be a pain to get working just straight away. Not sure if you are doing it the same way but I found giving PHP the permissions to write the zone files was quite awkward for a public release as it could be quite system dependant (given file locations and the user PHP was under). Personally I'd make it do what you want first, but it's your call. That said if you do want to see how it runs at this stage on a "fresh system" I'd still be more than happy to run it when ever.

  • Source available for this anywhere to test it?

  • Not yet, sorry.

  • @sleddog said: Not yet, sorry.

    Are you going to release the code? You might want to take a look at: http://99lime.com - is what I use for the visual side of projects, since I suck at that...

  • Looks very nice and has a lot of potential. One suggestion I'd make is bootstrap or a modified bootstrap for the UI. Might make it a lot easier for you in terms of design modifying it.

  • @Raymii said: Are you going to release the code?

    Eventually, perhaps, maybe, I guess. I've kind of put an open source release on the backburner as there didn't seem to be a lot of interest, and it seems that anycast dns is the current buzz.

Sign In or Register to comment.