Introducing udns_zexport: Your Tool for UltraDNS Zone File Management
CompletedHello Community,
I’m excited to share a tool I've developed—udns_zexport. It’s designed to streamline the export and management of DNS zone files from UltraDNS accounts.
Features at a Glance
- Export Options: Choose between BIND (text) or JSON formats for your exports.
- Local Testing: Includes a Docker setup to test DNS resolutions using your own exported zone files.
- Data Conversion: Transform JSON formatted zones into CSV for analysis.
- DNS Audit: A basic audit tool that provides some information about your DNS configuration.
Setup and Installation
First, make sure you have Python installed, and Docker if you're planning to use the local testing feature.
Cloning the Repository
Start by cloning the repository to your local machine:
git clone https://github.com/vercara/udns_zexport.git
cd udns_zexportInstalling Dependencies
You'll find all necessary dependencies in requirements.txt. Install them with pip:
pip install -r requirements.txtMaking Scripts Executable
If you're on a Unix system (like Linux or macOS), you'll need to make the scripts executable.
chmod +x ./src/zexport.py
chmod +x ./utils/csvgen.py
chmod +x ./utils/audit.pyOn Windows, you can just run the Python scripts directly from your command prompt—no need to change file permissions.
How to Use udns_zexport
Exporting Zone Files
To get your zone files, execute:
./src/zexport.py -u $UDNS_UNAME -p $UDNS_PWIf you encounter issues and need detailed logs for troubleshooting, turn on debug mode:
./src/zexport.py -u $UDNS_UNAME -p $UDNS_PW -dTesting Locally with Docker
Set up and start your local BIND server:
cp -R zones docker
cd docker
./build.shTest your DNS setups:
dig @localhost testingsomethingout.bizFrom JSON to CSV
For those who need to convert JSON exports to CSV:
./src/zexport.py -u $UDNS_UNAME -p $UDNS_PW -j
./utils/csvgen.py zones_data.jsonAdvanced Features: Audit Reports
Run the audit script for an analysis of your DNS configuration:
$ ./utils/audit.pyTo generate an HTML report:
$ ./utils/audit.py --htmlLet’s Collaborate
I’d love to hear your feedback on udns_zexport and am open to suggestions and contributions to enhance the tool.
Check out the project on GitHub and let's improve it together: https://github.com/vercara/udns_zexport