{"id":23219928,"url":"https://github.com/blu3r4y/docker-dnsmasq-netbios","last_synced_at":"2025-08-19T10:31:17.496Z","repository":{"id":130198205,"uuid":"189749545","full_name":"blu3r4y/docker-dnsmasq-netbios","owner":"blu3r4y","description":"A multi-arch dnsmasq container that also automatically registers (Windows) NetBIOS hostnames","archived":false,"fork":false,"pushed_at":"2024-04-12T21:20:58.000Z","size":23,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-04-13T05:12:12.790Z","etag":null,"topics":["dns","dnsmasq","docker","nbtscan","netbios"],"latest_commit_sha":null,"homepage":"https://hub.docker.com/r/blu3r4y/dnsmasq-netbios","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/blu3r4y.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2019-06-01T15:38:22.000Z","updated_at":"2024-03-10T22:25:00.000Z","dependencies_parsed_at":"2024-04-12T22:44:56.054Z","dependency_job_id":null,"html_url":"https://github.com/blu3r4y/docker-dnsmasq-netbios","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blu3r4y%2Fdocker-dnsmasq-netbios","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blu3r4y%2Fdocker-dnsmasq-netbios/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blu3r4y%2Fdocker-dnsmasq-netbios/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blu3r4y%2Fdocker-dnsmasq-netbios/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/blu3r4y","download_url":"https://codeload.github.com/blu3r4y/docker-dnsmasq-netbios/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230345748,"owners_count":18211994,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dns","dnsmasq","docker","nbtscan","netbios"],"created_at":"2024-12-18T21:47:52.600Z","updated_at":"2024-12-18T21:47:53.079Z","avatar_url":"https://github.com/blu3r4y.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# `dnsmasq` + `nbtscan` = ❤️\n\n[![MIT License](https://img.shields.io/badge/license-MIT-yellow.svg?style=popout-square)](LICENSE.txt)\n[![GitHub Latest Release](https://img.shields.io/github/v/release/blu3r4y/docker-dnsmasq-netbios?style=popout-square)](https://github.com/blu3r4y/docker-dnsmasq-netbios/releases/latest)\n[![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/blu3r4y/docker-dnsmasq-netbios/build-container-images.yml?branch=v1.2.0\u0026style=popout-square)](https://github.com/blu3r4y/docker-dnsmasq-netbios/actions)\n[![Docker Pulls](https://img.shields.io/docker/pulls/blu3r4y/dnsmasq-netbios.svg?style=popout-square)](https://hub.docker.com/r/blu3r4y/dnsmasq-netbios)\n[![Docker Image Size](https://img.shields.io/docker/image-size/blu3r4y/dnsmasq-netbios?style=popout-square)](https://hub.docker.com/r/blu3r4y/dnsmasq-netbios)\n![Supported Platforms](https://img.shields.io/badge/platforms-amd64%20%7C%20arm64%20%7C%20arm%2Fv6%20%7C%20arm%2Fv7-lightgrey?style=popout-square)\n\nThis container bundles [`dnsmasq`](http://thekelleys.org.uk/dnsmasq/doc.html) and [`nbtscan`](http://www.unixwiz.net/tools/nbtscan.html), offering you a DNS server that also automatically registers [NetBIOS](https://en.wikipedia.org/wiki/NetBIOS) hostnames, which are usually advertised by Windows hosts on the local network.\n\n💻 `dnsmasq` offers a simple, fully-configurable DNS (and DHCP) server  \n🔍 `nbtscan` periodically scans and registers NetBIOS names as e.g. `WINDOWS-HOST.local` entries in `dnsmasq`\n\nThe image is built for `amd64`, `arm64`, `arm/v6` and `arm/v7` architectures, so you can also run it on your Raspberry Pi.\n\n## Quick Start\n\n1. Put your `*.conf` configuration files into some folder - or use the [`dnsmasq.sample.conf`](./dnsmasq/dnsmasq.sample.conf)\n2. Start the container, with a volume mapped to your configuration folder and the target network set\n\n```shell\ndocker run --detach \\\n    --name dnsmasq-netbios \\\n    --restart always \\\n    -p 53:53/udp --cap-add=NET_ADMIN \\\n    -e \"NETBIOS_NETWORK=192.168.0.0/24\" \\\n    -v /srv/dnsmasq:/etc/dnsmasq \\\n    blu3r4y/dnsmasq-netbios\n```\n        \nYou can also use the supplied [`docker-compose.yml`](docker-compose.yml)\n\n    docker-compose up -d\n\nAfter some minutes, your NetBIOS hostnames will be available with a `.local` suffix - customize this with `NETBIOS_NAME_SUFFIX`.\nBy default, your network is scanned for NetBIOS names every ten minutes - customize this with `NETBIOS_SCAN_INTERVAL`.\n\n    nslookup WINDOWS-HOST.local\n\n### Troubleshooting\n\nIf your container misbehaves, observe the logs\n\n    docker logs dnsmasq-netbios\n\nIf you think that your NetBIOS devices are not scanned, this could be a networking issue.\nTry adding the `--net=host` argument and removing the `-p 53:53/udp` argument so that Docker does not isolate the network stack.\n\n## Why would I need this container?\n\nThis container acts as a standard `dnsmasq` DNS (and DHCP) server with a twist.\n\nA `nbtscan` script automatically discovers and dynamically registers [NetBIOS](https://en.wikipedia.org/wiki/NetBIOS) names as entries within this name server.\nThus, Linux hosts can easily resolve Windows hostnames, e.g. `ping WINDOWS-HOST.local` just works, since it is resolved reliably by this name server on the [Network Layer](https://en.wikipedia.org/wiki/Network_layer) instead of the NetBIOS protocol on the [Data Link Layer](https://en.wikipedia.org/wiki/Data_link_layer).\n\nThis solves two problems: Hosts or applications, which do not utilize the NetBIOS protocol or do not want to, can resolve NetBIOS names dynamically through the name server instead. Additionally, since NetBIOS acts on the Data Link Layer, hosts would not be able to resolve NetBIOS names which are not within their broadcast domain, i.e. in a routed network situation, e.g. if you try to reach hosts hidden behind a WiFi Access Point.\n\n## Advanced Configuration\n\nFollow the official [`dnsmasq` manpage](http://thekelleys.org.uk/dnsmasq/docs/dnsmasq-man.html) for all available options.\n\nYou can add multiple configuration files (which must end in `.conf`) in the mapped volume.\n\nYou have to restart the container when making changes to the configuration.\n\n    docker restart dnsmasq-netbios\n\n### Available environment variables\n\n| Environment Variable | Default Value | Description |\n|-------------------------|------------------|--------------------------------------------------------------------------------------------------------------------------------------------|\n| `NETBIOS_NETWORK` | `192.168.0.0/24` | The network to be scanned by `nbtscan`. This might be a list of IP addresses, DNS names, or address ranges. Ranges can be in `/nbits` notation (`192.168.12.0/24`) or with a range in the last octet (`192.168.12.64-97`). |\n| `NETBIOS_NAME_SUFFIX` | `.local` | This suffix will be added to each NetBIOS name. E.g., the name `WINDOWS-PC` will be available as `WINDOWS-PC.local` in the DNS. |\n| `NETBIOS_SCAN_INTERVAL` | `600` | The interval in seconds at which `nbtscan` scans the specified network for NetBIOS names. |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblu3r4y%2Fdocker-dnsmasq-netbios","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fblu3r4y%2Fdocker-dnsmasq-netbios","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblu3r4y%2Fdocker-dnsmasq-netbios/lists"}