Skip to content
Switch branches/tags
Go to file
Cannot retrieve contributors at this time
README for Unbound on Windows.
(C) 2009, W.C.A. Wijngaards, NLnet Labs.
See LICENSE for the license text file.
+++ Introduction
Unbound is a recursive DNS server. It does caching, full recursion, stub
recursion, DNSSEC validation, NSEC3, IPv6. More information can be found
at the site. Unbound has been built and tested on
Windows XP, Vista, 7 and 8.
At is an install and configuration manual
for windows.
+++ How to use it
In ControlPanels\SystemTasks\Services you can start/stop the daemon.
In ControlPanels\SystemTasks\Logbooks you can see log entries (unless you
configured unbound to log to file).
By default the daemon provides service only to localhost. See the manual
on how to change that (you need to edit the config file).
To change options, edit the service.conf file. The example.conf file
contains information on the various configuration options. The config
file is the same as on Unix. The options log-time-ascii, chroot, username
and pidfile are not supported on windows.
+++ How to compile
Unbound is open source under the BSD license. You can compile it yourself.
1. Install MinGW and MSYS.
This is a free, open source, compiler and build environment.
Note, if your username contains a space, create a directory
C:\msys\...\home\user to work in (click on MSYS; type: mkdir /home/user ).
2. Install openssl, or compile it yourself.
Unbounds need the header files and libraries. Static linking makes
things easier. This is an open source library for cryptographic functions.
And libexpat is needed.
3. Compile Unbound
Get the source code tarball
Move it into the C:\msys\...\home\user directory.
Double click on the MSYS icon and give these commands
$ cd /home/user
$ tar xzvf unbound-xxx.tar.gz
$ cd unbound-xxx
$ ./configure --enable-static-exe
If you compiled openssl yourself, pass --with-ssl=../openssl-xxx too.
If you compiled libexpat yourself, pass --with-libexpat=../expat-install too.
The configure options for libevent or threads are not applicable for
windows, because builtin alternatives for the windows platform are used.
$ make
And you have unbound.exe
If you run unbound-service-install.exe (double click in the explorer),
unbound is installed as a service in the controlpanels\systemtasks\services,
from the current directory. unbound-service-remove.exe uninstalls the service.
Unbound and its utilities also work from the commandline (like on unix) if
you prefer.
+++ Cross compile
You can crosscompile unbound. This results in .exe files.
Install the packages: mingw32-binutils mingw32-cpp mingw32-filesystem
mingw32-gcc mingw32-openssl mingw32-openssl-static mingw32-runtime zip
mingw32-termcap mingw32-w32api mingw32-zlib mingw32-zlib-static mingw32-nsis
(package names for fedora 11).
For dynamic linked executables
$ mingw32-configure
$ make
$ mkdir /home/user/installdir
$ make install DESTDIR=/home/user/installdir
Find the dlls and exes in /home/user/installdir and
crypto in /usr/i686-pc-mingw32/sys-root/mingw/bin
For static linked executables
Use --enable-staticexe for mingw32-configure, see above. Or use,
copy System.dll from the windows dist of NSIS to /usr/share/nsis/Plugins/
Then do ./ -w and the setup.exe is created using nsis.
Unbound was written in portable C by Wouter Wijngaards (NLnet Labs).
See the CREDITS file in the source package for more contributor information.