Git Product home page Git Product logo

odbcdns's Introduction

ODBCDNS - An ODBC-Based DNS Server

About

ODBCDNS uses an RDBMS as its backend to store all of its information. This allows the use of powerful data manipulation characteristics seen in RDBMS systems. In addition, the cache remains intact when the program exits, but still maintains high levels of performance.

Requirements

  • Microsoft Windows 64-bit
  • ODBC 3 or newer
  • Microsoft Visual Studio 2013
  • Microsoft SQL Server 2008 or newer

Building

To build, open MSVS solution file ODBCDNS.sln. From there, a build can be created simply by selecting a build configuration and building the solution.

Setup

At a minimum, the database must be created and initialized with a RECORD table. This can be done by executing SQL/INIT.sql. It may also be useful to configure logging for the application using log4cxx. Please see http://logging.apache.org/log4cxx/usage.html for some example configurations. If this is not specified in the command line (see below), the default logger is used, which outputs to stdout.

Running

To run ODBCNS from the command line, the following syntax is used:

usage:
        ODBCDNS.exe odbcconnectionstring [-option ...]

options:
        recursiveserver=SERVER  - server to use for recursive queries
        port=PORT               - port to listen to (default 53)
        threads=THREADS         - number of threads and ODBC connections to use (default 64)
        logproperties=FILE      - path to log4cxx properties file

Example: ODBCDNS.exe "DRIVER={SQL Server Native Client 11.0};SERVER=(local);DATABASE=DNS;Trusted_Connection=yes;" -recursiveserver=8.8.8.8 -logproperties=log4cxx.properties

Limitations

In its current state, ODBCDNS serves as a very simple caching DNS server. A few of its limitations are as follows:

  • Only Microsoft SQL Server is supported at this time. Testing was done with a full version of SQL Server 2014. Other RDBMS systems that support the same syntax may work, but this has not been tested.
  • Only Microsoft Windows is supported as a host OS. All testing was done with Windows 8.1 64-bit.
  • Only A queries are supported. Other queries are forwarded to the recursive server, if specified.
  • Only A and CNAME records are cached. Other records must be retrieved from the recursive server.
  • The server only supports a recursive model through one specified server. It will not perform iterative lookups through the DNS tree.
  • The server only serves as a caching server, and cannot be set up to be an authoritative server.
  • Only DNS queries over UDP are supported.

Of course, these things may change as ODBCDNS evolves. :)

odbcdns's People

Contributors

devint1 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.