https://github.com/rshipp/dns-webui
View and edit A and CNAME records in a local DNS server.
https://github.com/rshipp/dns-webui
dns dns-server dnspython management pyramid python webapp webui
Last synced: 10 months ago
JSON representation
View and edit A and CNAME records in a local DNS server.
- Host: GitHub
- URL: https://github.com/rshipp/dns-webui
- Owner: rshipp
- License: bsd-3-clause
- Created: 2014-06-18T22:33:43.000Z (over 11 years ago)
- Default Branch: main
- Last Pushed: 2020-06-14T23:45:44.000Z (over 5 years ago)
- Last Synced: 2025-04-05T09:58:07.323Z (10 months ago)
- Topics: dns, dns-server, dnspython, management, pyramid, python, webapp, webui
- Language: Python
- Homepage:
- Size: 7.81 KB
- Stars: 10
- Watchers: 4
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
DNS Web-UI
==========
A simple management interface for a single DNS server, built on Pyramid,
Bootstrap 3, DataTables and dnspython. This has only been tested with
BIND9, but should (in theory) support any DNS server that allows `AXFR`
transfer queries.
## Setup
Edit the `self.bind9` assignment in `bind9ui/views.py` to point to your
server and use the zone you want to manage. By default, these are
`127.0.0.1` and `local`. After that, you can run the app with Pyramid's
`pserve`, or your production-ready server of choice. A sample
`pyramid.wsgi` file is provided; edit the path to point to your
installation if you decide to use that.
## Security
The app won't let you inject arbitrary record types (only `A` and
`CNAME` are allowed), and has some naive limits on other fields, but
that's about as far as it goes. There is no authentication, and it
assumes that your DNS server allows `AXFR` requests from anyone. You
should NOT be using this on a public-facing DNS server, or have the app
itself where just anyone can get to it. Put it on a trusted intranet to
get a pretty web interface for your local zone.
## Troubleshooting
```
...
for name, node in z.nodes.items():
UnboundLocalError: local variable 'z' referenced before assignment
```
This means the server you're trying to use either doesn't exist, or
(perhaps more likely) doesn't allow zone transfers. This app was meant
to be used with a local DNS server that you manage yourself (and can
enable transfers for).