No description
Find a file
2015-01-09 20:32:36 +05:00
setup Converted the project to use sqlalchemy to communicate with backend database. This makes it database independent and offers a few other advantages too 2011-05-12 19:55:57 +05:00
.gitignore updated .gitignore and database path 2015-01-09 20:32:36 +05:00
config.py updated .gitignore and database path 2015-01-09 20:32:36 +05:00
createDaemon.py Added functionality to add, update and delete redirect records. 2011-05-29 07:30:20 +05:00
db_code.py Added functionality to add, update and delete redirect records. 2011-05-29 07:30:20 +05:00
db_model.py Converted the project to use sqlalchemy to communicate with backend database. This makes it database independent and offers a few other advantages too 2011-05-12 19:55:57 +05:00
DNS-NG-UI.ui Added functionality to add, update and delete redirect records. 2011-05-29 07:30:20 +05:00
DNS_NG.py Added support for --no_logging so no logs are sent to the database 2011-06-15 17:23:38 +05:00
DNS_UI.py Added incoming DNS requests display feature 2011-05-29 09:26:42 +05:00
DNSNG_UI.py Added functionality to add, update and delete redirect records. 2011-05-29 07:30:20 +05:00
procname.so Added functionality to add, update and delete redirect records. 2011-05-29 07:30:20 +05:00
README added README 2011-06-01 18:13:38 +05:00
redirect_manager.py Added support to enable and disable loading of redirects table on each incoming request from a command line option --reload_redirects 2011-06-05 14:22:59 +05:00

DNS-NG

DNS-NG is a simplified DNS server that uses a backend DNS server to store DNS records (redirects). For requests that don't have matching records in the DB, it contacts another DNS server to fetch their result.

This script also includes a Qt4 User Interface for managing the DNS server. The DNS server itself is based on the twisted framework and uses sqlalchmey for database ORM. Requirements for the script are:

    * python
    * python-qt4
    * twisted-python
    * sqlalchemy


Installation and Usage Instructions

    1. Unzip or checkout the code into a folder. Install python and python setuptools if not already present.
    2. Install twisted and sqlalchemy using easy_install. For example:

        easy_install sqlalchemy
        easy_install twisted
        
    3. Install apropriate database driver for python if not present. For example, if you want to use MySQL as the backend db, you need to install the mysql-python package.

        easy_install mysql-python
    
    4. Edit the config.py file to update your database type and access credentials
    
    5. Create tables in the database using:

        python DNS_NG.py --setup_db
    
    6. Now you can run the DNS server using either

        python DNS_NG.py

            or

        python DNS_NG.py --daemon (For running as a daemon/service)
    
    7. To run the Qt4 User Interface, run

        python DNS_UI.py