You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Lightweight DNS written in Python. No fancy UI. No extensive analysis. Just a bare metal DNS server
10
+
A lightweight DNS server for homelabs: local records, ad-blocking, VLAN segmentation, and DoT support. No database, no web UI, just DNS.
11
+
12
+
## Why BMDNS?
13
+
BMDNS is a self-hosted DNS server for homelabs and small networks. It gives you local DNS resolution, ad-blocking via blocklists, and VLAN segmentation—without the overhead of a web UI or database.
14
+
15
+
-**Simple configuration** — Single YAML file
16
+
-**VLAN-aware** — Serve different records to different networks
17
+
-**Blocklist support** — Block ads and trackers at the DNS level
18
+
-**DoT support** — Encrypted upstream queries to protect your privacy
19
+
-**Cross-platform** — Linux, Windows, Docker
11
20
12
21
# Index
13
22
-[Supported OS](#supported-os)
@@ -28,6 +37,7 @@ Lightweight DNS written in Python. No fancy UI. No extensive analysis. Just a ba
28
37
-[Static Remaps](#static-remaps)
29
38
-[VLANs](#vlans)
30
39
-[Root Servers](#root-servers)
40
+
-[DoT Root Servers](#dot-root-servers)
31
41
-[Blocklists](#blocklists)
32
42
-[Cascading Search](#cascading-search)
33
43
-[Log](#log)
@@ -38,7 +48,7 @@ Lightweight DNS written in Python. No fancy UI. No extensive analysis. Just a ba
38
48
The software officially supports GNU/Linux and Windows.
39
49
40
50
It should work on FreeBSD and MacOS systems, but it is untested.
41
-
The `install`/`update`/`uninstall` scripts are specifically written for GNU/Linux and Windows, any attempt of running them in other OS may lead to errors and unexpected behaviour.
51
+
The `install`/`update`/`uninstall` scripts are specifically written for GNU/Linux and Windows, any attempt of running them in other OS may lead to errors and unexpected behavior.
42
52
43
53
## OS requirements
44
54
Compilation requires `python3 python3-venv python3-pip` packages to be installed. Install them using your OS's package manager
@@ -170,7 +180,7 @@ static:
170
180
171
181
Wildcard static resolution is supported, and only requires the user to add a "*" in the position associated with the wildcard.
172
182
173
-
e.g. you have a server named `my-server` with ip address `192.168.0.2` wich provides multiple web services, \
183
+
e.g. you have a server named `my-server` with ip address `192.168.0.2` wich provides multiple web services, \
174
184
each one identified as a subdomain of the server name itself
175
185
```yaml
176
186
static:
@@ -276,6 +286,17 @@ root-servers:
276
286
- 94.140.15.15
277
287
```
278
288
289
+
#### DoT Root Servers
290
+
291
+
BMDNS supports wrapping request in DoT, so it is possible to use tls root servers
292
+
293
+
e.g. AdGuard and Cloudflare tls root servers
294
+
```yaml
295
+
root-servers:
296
+
- tls://dns.adguard-dns.com
297
+
- tls://1.1.1.1
298
+
```
299
+
279
300
### Blocklists
280
301
List of text files which contain static mappings for websites you want to block
0 commit comments