Bind package for pfsense 2.1
-
Hi,
If you need a full dns server on pfsense, you can try bind.
This first version has acls, views,zones,chroot and response rate limit gui options.
Give it a try and let me know if some powerful functionality of bind was left behind :)
Dnssec is on todo list.
-
marcelloc,
I will test this coming days. Will let you know how it comes out.
-
Marcelloc,
Thanks for the bind package! A couple issues I found so far.
-
Saving config changes doesn't update /conf/named/etc/namedb/named.conf
config.xml would update but named.conf wouldn't pick up the new changes. I did notice it regenerated named.conf after a reboot but still wouldn't regenerate it after clicking save in the UI -
Fails to start bind and throws errors multiple errors
Most seem to be failure to write / Read-only file system
here is a syslog snippet when trying to save config changes
Oct 13 10:37:17 router.hex.divide named[36871]: starting BIND 9.9.4 -c /etc/namedb/named.conf -u bind -t /conf/named/ Oct 13 10:37:17 router.hex.divide named[36871]: built with '--localstatedir=/var' '--disable-linux-caps' '--disable-symtable' '--with-randomdev=/dev/random' '--without-python' '--with-openssl=/usr' '--with-libxml2=/usr/pbi/bind-i386' '--without-idn' 'STD_CDEFINES=-DDIG_SIGCHASE=1' '--enable-ipv6' '--enable-filter-aaaa' '--enable-rrl' '--with-dlz-filesystem=yes' '--enable-threads' '--without-gssapi' '--prefix=/usr/pbi/bind-i386' '--mandir=/usr/pbi/bind-i386/man' '--infodir=/usr/pbi/bind-i386/info/' '--build=i386-portbld-freebsd8.3' 'build_alias=i386-portbld-freebsd8.3' 'CC=cc' 'CFLAGS=-O2 -pipe -fno-strict-aliasing' 'LDFLAGS= -Wl,-rpath=/usr/lib:/usr/pbi/bind-i386/lib' 'CPPFLAGS=' 'CPP=cpp' Oct 13 10:37:17 router.hex.divide named[36871]: ---------------------------------------------------- Oct 13 10:37:17 router.hex.divide named[36871]: BIND 9 is maintained by Internet Systems Consortium, Oct 13 10:37:17 router.hex.divide named[36871]: Inc. (ISC), a non-profit 501(c)(3) public-benefit Oct 13 10:37:17 router.hex.divide named[36871]: corporation. Support and training for BIND 9 are Oct 13 10:37:17 router.hex.divide named[36871]: available at https://www.isc.org/support Oct 13 10:37:17 router.hex.divide named[36871]: ---------------------------------------------------- Oct 13 10:37:17 router.hex.divide named[36871]: found 1 CPU, using 1 worker thread Oct 13 10:37:17 router.hex.divide named[36871]: using 1 UDP listener per interface Oct 13 10:37:17 router.hex.divide named[36871]: using up to 4096 sockets Oct 13 10:37:17 router.hex.divide named[36871]: loading configuration from '/etc/namedb/named.conf' Oct 13 10:37:17 router.hex.divide named[36871]: using default UDP/IPv4 port range: [49152, 65535] Oct 13 10:37:17 router.hex.divide named[36871]: using default UDP/IPv6 port range: [49152, 65535] Oct 13 10:37:17 router.hex.divide named[36871]: listening on IPv4 interface rl1, 192.168.224.1#53 Oct 13 10:37:17 router.hex.divide named[36871]: Could not open '/var/run/named/pid'. Oct 13 10:37:17 router.hex.divide named[36871]: Please check file and directory permissions or reconfigure the filename. Oct 13 10:37:17 router.hex.divide named[36871]: could not open file '/var/run/named/pid': Read-only file system Oct 13 10:37:17 router.hex.divide named[36871]: unlink '/var/run/named/pid': failed Oct 13 10:37:17 router.hex.divide named[36871]: generating session key for dynamic DNS Oct 13 10:37:17 router.hex.divide named[36871]: Could not open '/var/run/named/session.key'. Oct 13 10:37:17 router.hex.divide named[36871]: Please check file and directory permissions or reconfigure the filename. Oct 13 10:37:17 router.hex.divide named[36871]: could not open file '/var/run/named/session.key': Read-only file system Oct 13 10:37:17 router.hex.divide named[36871]: could not create /var/run/named/session.key Oct 13 10:37:17 router.hex.divide named[36871]: failed to generate session key for dynamic DNS: permission denied Oct 13 10:37:17 router.hex.divide named[36871]: file.c:356: unexpected error: Oct 13 10:37:17 router.hex.divide named[36871]: unable to convert errno to isc_result: 30: Read-only file system Oct 13 10:37:17 router.hex.divide named[36871]: sizing zone task pool based on 0 zones Oct 13 10:37:17 router.hex.divide named[36871]: /etc/namedb/named.conf:9: using specific query-source port suppresses port randomization and can be insecure. Oct 13 10:37:17 router.hex.divide named[36871]: set up managed keys zone for view _default, file 'managed-keys.bind' Oct 13 10:37:17 router.hex.divide named[36871]: automatic empty zone: 10.IN-ADDR.ARPA Oct 13 10:37:17 router.hex.divide named[36871]: automatic empty zone: 16.172.IN-ADDR.ARPA Oct 13 10:37:17 router.hex.divide named[36871]: automatic empty zone: 17.172.IN-ADDR.ARPA ... trimmed ... Oct 13 10:37:17 router.hex.divide named[36871]: automatic empty zone: 8.B.D.0.1.0.0.2.IP6.ARPA Oct 13 10:37:17 router.hex.divide named[36871]: /etc/namedb/named.conf:9: using specific query-source port suppresses port randomization and can be insecure. Oct 13 10:37:17 router.hex.divide named[36871]: open: /usr/pbi/bind-i386/etc/rndc.key: file not found Oct 13 10:37:17 router.hex.divide named[36871]: couldn't add command channel 127.0.0.1#953: file not found Oct 13 10:37:17 router.hex.divide named[36871]: open: /usr/pbi/bind-i386/etc/rndc.key: file not found Oct 13 10:37:17 router.hex.divide named[36871]: couldn't add command channel ::1#953: file not found Oct 13 10:37:17 router.hex.divide named[36871]: could not open entropy source /dev/random: file not found Oct 13 10:37:17 router.hex.divide named[36871]: using pre-chroot entropy source /dev/random Oct 13 10:37:17 router.hex.divide named[36871]: the working directory is not writable Oct 13 10:37:17 router.hex.divide named[36871]: stdio.c:36: unexpected error: Oct 13 10:37:17 router.hex.divide named[36871]: unable to convert errno to isc_result: 30: Read-only file system Oct 13 10:37:17 router.hex.divide named[36871]: isc_stdio_open '/var/log/named.log' failed: unexpected error Oct 13 10:37:17 router.hex.divide named[36871]: configuring logging: unexpected error Oct 13 10:37:17 router.hex.divide named[36871]: loading configuration: unexpected error Oct 13 10:37:17 router.hex.divide named[36871]: exiting (due to fatal error) Oct 13 10:37:17 router.hex.divide php: /pkg_edit.php: The command '/usr/local/etc/rc.d/named.sh restart' returned exit code '1', the output was ''
-
-
What pfsense version are you using?
I have tested it on 2.1 amd64 and i386. -
What pfsense version are you using?
I have tested it on 2.1 amd64 and i386.2.1-RELEASE (i386)
built on Wed Sep 11 18:16:44 EDT 2013
FreeBSD 8.3-RELEASE-p11nanobsd (4g)
-
Marcelloc,
Thanks for the bind package!
Firt code files as contributions from Juliano Oliveira/Adriano Brancher.
I've started some modifications from this point.A couple issues I found so far.
Ok. I'll update it to include missing conf mount rw and ro.
-
Sweet I have to try this out!! Something new to play with - the ability to do zone xfers to other bind/dns boxes on my network.. Have you included that in your gui? This would be a must have functionality in the gui I would think!
-
Sweet I have to try this out!! Something new to play with - the ability to do zone xfers to other bind/dbns boxes on my network.. Have you included that in your gui? This would be a must have functionality in the gui I would think!
You can configure master or slave zones with notify.
-
Ok. I'll update it to include missing conf mount rw and ro.
Code updated with no version change. Just reinstall the package in 15 minutes.
-
I don't think this quite ready for prime time?
Running
2.1-RELEASE (i386)
built on Wed Sep 11 18:16:50 EDT 2013
FreeBSD 8.3-RELEASE-p11But says it loading /etc/namedb/named.conf
Oct 14 23:33:49 named[69425]: starting BIND 9.9.4 -c /etc/namedb/named.conf -u bind -t /conf/named/
Oct 14 23:33:49 named[69425]: loading configuration from '/etc/namedb/named.conf'But I looked and there is no named.conf in that folder.. There is not even a folder called that
[2.1-RELEASE][admin@pfsense.local.lan]/etc(16): pwd
/etc
[2.1-RELEASE][admin@pfsense.local.lan]/etc(17): cd namedb
namedb: No such file or directory.Nor is there any log file in /var/log for named?
And you see these errors
Oct 14 23:33:49 named[69425]: the working directory is not writable
Oct 14 23:33:49 named[69425]: using pre-chroot entropy source /dev/random
Oct 14 23:33:49 named[69425]: could not open entropy source /dev/random: file not found
Oct 14 23:33:49 named[69425]: couldn't add command channel ::1#953: file not found
Oct 14 23:33:49 named[69425]: open: /usr/pbi/bind-i386/etc/rndc.key: file not found
Oct 14 23:33:49 named[69425]: couldn't add command channel 127.0.0.1#953: file not found
Oct 14 23:33:49 named[69425]: open: /usr/pbi/bind-i386/etc/rndc.key: file not found
Oct 14 23:33:49 named[69425]: /etc/namedb/named.conf:9: using specific query-source port suppresses port randomization and can be insecure.where the one is
Oct 14 23:33:49 named[69425]: the working directory is not writableNow I can query it and finds google.com ok, but can not seem to get it to load any of my zones..
And zone name is a bit misleading.. Is that the actual zone, so say local.lan and then my A records just need be say pfsense and the IP 192.168.1.2 – when you say NAME of the zone do you mean the actual zone, or the name I want to use to know what it is?
For reverse to I need to use the IN-ADDR.ARPA or can I put in say 192.168.1 for 1.168.192.IN-ADDR.ARPA ?
-
The in-addr.arpa is automatic with reverse zone checkbox.
-
but it doesn't change the name? So the box where you put the name is a bit unclear.
What about the lack of creation of the namedb dir and named.conf file?
-
but it doesn't change the name? So the box where you put the name is a bit unclear.
What about the lack of creation of the namedb dir and named.conf file?
I'll try to create a nanobsd image on virtual box to test it. On full install it's working fine.
-
I am on a full install not a nano anything - I installed the package, and it created the menu items and such.. I created zones, but it never creates this namedb folder as you can see. So no its not working fine via a full version of pfsense.
-
marcelloc,
Thanks for your work in creating the bind package. I'm looking forward to using it for name service over IPv6 transport. The GUI for tinydns won't instruct the software to bind to an IPv6 address. I'm hoping your GUI for bind has better IPv6 support.
I'm also seeing the same behavior as johnpoz, so I can't test bind with IPv6 yet.
-
Hi there, just started using this package :)
A few things to mention:
-
When creating a "Reverse Zone" the "in-addr.arpa" is added but the IP octets are not reversed
ie. Adding "192.168.1", creates zone: "192.168.1.in-addr.arpa", which should be "1.168.192.in-addr-arpa" -
When creating a "slave" zone, the GUI still requires a record to be created at the bottom of the page.
-
When creating a slave, entering the "IP Master Zone" doesn't add a semi-colon ( ; ) to the config for the list of masters, ie. "masters { 192.168.1.1 };" which should be "masters { 192.168.1.1; };"
Feature Request: Ability to view the current records on a slave zone (or point me to where the records should be on the filesystem as I can't seem to find them)
-
-
stalks – what flavor of pfsense are you running? And your etc/namedb/named.conf got created?
Where were your zone files created? I could not find the named.conf file that it was saying it was loading to look to see what it was even calling the forwards or reverse zones.
-
Ok. I'll update it to include missing conf mount rw and ro.
Code updated with no version change. Just reinstall the package in 15 minutes.
Marcelloc,
Thanks. I reinstalled the package and this fixed the issues I was having. I'll keep poking at it for other bugs. -
When creating a "Reverse Zone" the "in-addr.arpa" is added but the IP octets are not reversed
ie. Adding "192.168.1", creates zone: "192.168.1.in-addr.arpa", which should be "1.168.192.in-addr-arpa"When creating a "slave" zone, the GUI still requires a record to be created at the bottom of the page.
When creating a slave, entering the "IP Master Zone" doesn't add a semi-colon ( ; ) to the config for the list of masters, ie. "masters { 192.168.1.1 };" which should be "masters { 192.168.1.1; };"
-
Ok I have reinstalled the package, both pkg button and xml button. I go in disable dns forwarder, enable bind in its menu item that is created.
Go in and double check that zones are there, hit save, restart service, etc.
And there is still no etc/namedb folder
[2.1-RELEASE][root@pfsense.local.lan]/root(1): cd /etc/
[2.1-RELEASE][root@pfsense.local.lan]/etc(2): cd namedb
namedb: No such file or directory.
[2.1-RELEASE][root@pfsense.local.lan]/etc(3):but the log says that is where its loading its conf file from
Oct 16 13:38:26 named[97452]: loading configuration from '/etc/namedb/named.conf'
But I also get this error
Oct 16 13:38:26 named[97452]: the working directory is not writableI can query bind..
; <<>> DiG 9.9.2-P1 <<>> chaos txt version.bind @192.168.1.253
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 29640
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1
;; WARNING: recursion requested but not available;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;version.bind. CH TXT;; ANSWER SECTION:
version.bind. 0 CH TXT "9.9.4";; AUTHORITY SECTION:
version.bind. 0 CH NS version.bind.;; Query time: 3 msec
;; SERVER: 192.168.1.253#53(192.168.1.253)
;; WHEN: Wed Oct 16 13:43:05 2013
;; MSG SIZE rcvd: 73And it looks up stuff from net - but it does not serve up zones I created
budman@ubuntu:~$ dig @192.168.1.253 www.pfsense.org +short
192.207.126.26
budman@ubuntu:~$;; QUESTION SECTION:
;local.lan. IN SOA;; AUTHORITY SECTION:
. 0 IN SOA a.root-servers.net. nstld.verisign-grs.com. 2013101601 1800 900 604800 86400;; Query time: 43 msec
;; SERVER: 192.168.1.253#53(192.168.1.253)
;; WHEN: Wed Oct 16 13:44:32 2013
;; MSG SIZE rcvd: 113Something is not right with this package.. Running on
2.1-RELEASE (i386)
built on Wed Sep 11 18:16:50 EDT 2013
FreeBSD 8.3-RELEASE-p11