Configuring the Server
The default install of Solaris 11 does not come with a DNS server, but this can be added easily through IPS like so:
[paulie@griff ~]$ sudo pkg install service/network/dns/bindBefore enabling this service, the named.conf file needs to be modified to support the DNS structure. Here's what mine looks like:
[paulie@griff ~]$ cat /etc/named.conf options { directory "/etc/namedb/working"; pid-file "/var/run/named/pid"; dump-file "/var/dump/named_dump.db"; statistics-file "/var/stats/named.stats"; forwarders { 208.67.222.222; 208.67.220.220; }; }; zone "hillvalley" { type master; file "/etc/namedb/master/hillvalley.db"; }; zone "1.168.192.in-addr.arpa" { type master; file "/etc/namedb/master/1.168.192.db"; };My forwarders use the OpenDNS servers, so any request that the local DNS server can't process goes through there. I've also setup two zones: hillvalley.db for my forward zone and 1.168.192.db for my reverse zone. We need both for a proper configuration. We also need to create some directories to support this file:
[paulie@griff ~]$ sudo mkdir /var/dump [paulie@griff ~]$ sudo mkdir /var/stats [paulie@griff ~]$ sudo mkdir -p /var/run/namedb [paulie@griff ~]$ sudo mkdir -p /etc/namedb/master [paulie@griff ~]$ sudo mkdir -p /etc/namedb/workingNow, let's populate the DNS server with a forward and reverse file.
Forward file
[paulie@griff ~]$ cat /etc/namedb/master/hillvalley.db $TTL 3h @ IN SOA griff.hillvalley. paulie.griff.hillvalley. ( 2013022744 28800 3600 604800 38400 ) hillvalley. IN NS griff.hillvalley. delorean IN A 192.168.1.1 ; Router biff IN A 192.168.1.101 ; NFS Server griff IN A 192.168.1.102 ; DNS Server buford IN A 192.168.1.103 ; LDAP Server marty IN A 192.168.1.104 ; Workstation doc IN A 192.168.1.105 ; Laptop jennifer IN A 192.168.1.106 ; Boxee lorraine IN A 192.168.1.107 ; BoxeeReverse File
[paulie@griff ~]$ cat /etc/namedb/master/1.168.192.db $TTL 3h @ IN SOA griff.hillvalley. paulie.griff.hillvalley. ( 2013022744 28800 3600 604800 38400 ) IN NS griff.hillvalley. 1 IN PTR delorean.hillvalley. ; Router 101 IN PTR biff.hillvalley. ; NFS Server 102 IN PTR griff.hillvalley. ; DNS Server 103 IN PTR buford.hillvalley. ; LDAP Server 104 IN PTR marty.hillvalley. ; Workstation 105 IN PTR doc.hillvalley. ; Laptop 106 IN PTR jennifer.hillvalley. ; Boxee 107 IN PTR lorraine.hillvalley. ; BoxeeFor referencing how these files works:
- paulie is the admin user account name
- griff is the hostname of the DNS server
- hillvalley is the domain name of the network
- I love BTTF
[paulie@griff ~]$ sudo svcadm enable dns/server [paulie@griff ~]$ sudo svcs | grep dns/server online 22:32:20 svc:/network/dns/server:defaultConfiguring the Client
We will need the IP address (192.168.1.102), hostname (griff), and domain name (hillvalley) to configure DNS with these commands:
[paulie@buford ~]$ sudo svccfg -s network/dns/client setprop config/nameserver = net_address: 192.168.1.102 [paulie@buford ~]$ sudo svccfg -s network/dns/client setprop config/domain = astring: hillvalley [paulie@buford ~]$ sudo svccfg -s network/dns/client setprop config/search = astring: hillvalley [paulie@buford ~]$ sudo svccfg -s name-service/switch setprop config/ipnodes = astring: '"files dns"' [paulie@buford ~]$ sudo svccfg -s name-service/switch setprop config/host = astring: '"files dns"'Verify the configuration is correct:
[paulie@buford ~]$ svccfg -s network/dns/client listprop config config application config/value_authorization astring solaris.smf.value.name-service.dns.client config/nameserver net_address 192.168.1.102 config/domain astring hillvalley config/search astring hillvalleyAnd enable:
[paulie@buford ~]$ sudo svcadm enable dns/clientNow we need to test that the DNS server is working using both forward and reverse DNS lookups:
[paulie@buford ~]$ nslookup lorraine Server: 192.168.1.102 Address: 192.168.1.102#53 Name: lorraine.hillvalley Address: 192.168.1.107 [paulie@buford ~]$ nslookup 192.168.1.1 Server: 192.168.1.102 Address: 192.168.1.102#53 1.1.168.192.in-addr.arpa name = delorean.hillvalley.
9:24 PST - March 4, 2013