I've been struggling for a few days to configure bind9 to resolve my local domain so I can access it from inside my LAN.
Details:
DNS SERVER: 192.168.178.46
WEBSERVER (apache2): (A virtualbox machine, bridged) 192.168.178.36
VM HOST MACHINE: 192.168.178.26
LOCAL DOMAIN: acme.local
I can successfully access all the machines by IP. All the clients are configured with my internal DNS. I can access my local website by IP address.
The bind daemon is succesfully running without errors. Also the webserver is running and the virtualhost is configured and enabled.
Goal: access my local webserver by domain name (acme.local) without changing my /etc/hosts
file.
On my DNS server (192.168.178.46)
Content of /etc/bind/named.conf.options
:
options {
directory "/var/cache/bind";
// If your ISP provided one or more IP addresses for stable
// nameservers, you probably want to use them as forwarders.
// Uncomment the following block, and insert the addresses replacing
// the all-0's placeholder.
// I dont need to forward to other name server. so dont use this.
// forwarders {
// 0.0.0.0;
// };
dnssec-validation auto;
auth-nxdomain no; # conform to RFC1035
listen-on-v6 { any; };
};
Content of /etc/bind/named.conf.local
:
// Just to be sure, internal network only.
acl internals {
192.168.178.0/24;
127.0.0.0/8;
};
// Create a view for the internal ACL.
view "internals" {
// Match the ACL
match-clients { internals; };
// Configure the domain:
zone "acme.local" {
type master;
// point out to the zone file.
file "/etc/bind/zones/db.acme.local";
};
};
/etc/bind/zones/db.acme.local:
@ IN SOA ns1.acme.local. admin.acme.local. (
5 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
; Name servers
; create a name for the DNS.
acme.local. IN NS ns1.acme.local.
; A records for name servers
; Point the created name for the DNS to the machine itself.
ns1 IN A 127.0.0.1
; Other A records
; Point to the web-server:
@ IN A 192.168.178.36
www IN A 192.168.178.36
DiG information (done on one of the internal clients)
This is what dig
tells me, I am new to this DNS thing, but it seems to me it finds acme.local
on 192.168.178.36
. but still Chrome tells me:
acme.local’s server DNS address could not be found.
ERR_NAME_NOT_RESOLVED
Dig info:
; <<>> DiG 9.9.5-9+deb8u9-Debian <<>> acme.local
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 44847
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;; acme.local. IN A
;; ANSWER SECTION:
acme.local. 604800 IN A 192.168.178.36
;; AUTHORITY SECTION:
acme.local. 604800 IN NS ns1.acme.local.
;; ADDITIONAL SECTION:
ns1.acme.local. 604800 IN A 192.168.178.46
;; Query time: 3 msec
;; SERVER: 192.168.178.46#53(192.168.178.46)
;; WHEN: Fri Jan 20 23:14:04 CET 2017
;; MSG SIZE rcvd: 91
Question:
Can you see what I am doing wrong or give me some advice on how to achieve my goal by using bind9?
Thanks anyway!
EDIT / UPDATE:
One part is solved, thanks to @Barmar I was pointed out it the right direction. DNS seemed fine. for my debian laptop I had the change the order of values in /etc/nsswitch.conf
from hosts: files myhostname mdns4_minimal [NOTFOUND=return] dns
to hosts: dns files myhostname mdns4_minimal [NOTFOUND=return]
. I am not sure why this worked but it worked. But...
I would also like to access my local domain with my mobile devices (android) connected to my WiFi. And that still doesn't work. However I configured the wifi connection with the DNS on each device...
Comments
Post a Comment