Systems Administration and Maintenance
IT31023
Configuring Web Server and DNS Servers
1
Configuring Web Server
2
Web Server Basics
What is a web server?
– Program that responds to requests for documents
• "http daemon"
– Uses the Hypertext Transfer Protocol (HTTP) to
communicate
– Physical machine which runs the program
HTTP is…
– Designed for document transfer
– Generic
• not tied to web browsers exclusively
• can serve any data type
– Stateless
• no persistent client/server connection
3
Serving a Page
User of client machine types in a URL
Server name is translated to an IP address via DNS
Client connects to server using IP address and port
number
Client determines path and file to request
Client sends HTTP request to server
Server determines which file to send
Server sends response code and the document
Connection is broken
4
Apache History
NCSA (National Centre for Supercomputing Applications, Uni
of Illinois) webserver was the popular public domain HTTP
daemon.
Developped by Rob McCool.
Killer Application of the Linux.
Rob McCool left NCSA in mid 1994.
Many webmasters developed their own extensions and bug
fixes that were in need of a common distribution.
[Link]
[Link]
[Link]
Server continued to grow in popularity but
incompatibilities between versions began to develop.
Eventually – a small group of administrators began
working together to regain control.
Brian Behlendorf and Cliff Skolnick put together a
mailing list and logins for core developers. 8 core
contributors formed the foundation of the original
Apahe Group.
Single path developed project came to be know as “ a
patchy server “ or Apache server.
Today – Apache posseses a level of complexity that
easily surpasses some OS’s.
29
ncsa ?
patches Apache 0.9 Apache 1.2 Apache 1.3.29 ?
shambala
Apache 2.0 httpd-2.x.x
APR Utils APR
New Proxy Apache 2.0 mmoodduuless
Java PHP Perl ….
30
Apache
The Apache HTTP server is the most widely-
used web server in the world. It provides many
powerful features, including dynamically
loadable modules, robust media support, and
extensive integration with other popular
software.
Installing Apache
[Link]
ubuntu-18-04
[Link]
apache-web-server-on-ubuntu-18-04-quickstart
Step 1 — Installing Apache
Apache is available within Ubuntu’s default software
repositories, so you can install it using conventional package
management tools.
Update your local package index:
$sudo apt update
Install the apache2 package:
9
$sudo apt install apache2
Installing Apache
Step 2 — Adjusting the Firewall
Check the available ufw application profiles:
$sudo ufw app list
Output
Available applications:
Apache
Apache Full
Apache Secure
OpenSSH
Let’s enable the most restrictive profile that will still allow the
traffic you’ve configured, permitting traffic on port 80 (normal,
unencrypted web traffic): 10
$sudo ufw allow 'Apache’
Installing Apache
Verify the change:
sudo ufw status
Step 3 - Checking your Web Server
Check with the systemd init system to make sure the
service is running by typing:
$sudo systemctl status apache2
Access the default Apache landing page to confirm that the
software is running properly through your IP address:
[Link]
11
Apache Configuration
Stop Apache:
sudo systemctl stop [Link]
Start Apache:
sudo systemctl start [Link]
Restart Apache:
sudo systemctl restart [Link]
Reload Apache:
12
sudo systemctl reload [Link]
Apache Configuration Files, Directories
and Modules
After installing, Apache by default creates a document root
directory at /var/www/html.
Apache creates log files for any errors it generates in the file
/var/log/apache2/[Link].
It also creates access logs for its interactions with clients in the
file /var/log/apache2/[Link].
Like many Linux-based applications, Apache functions through
the use of configuration files.
They are all located in the /etc/apache2/ directory.
13
Apache Configuration Files, Directories
and Modules
/etc/apache2/[Link] – This is the main Apache
configuration file and controls everything Apache does on your
system. Changes here affect all the websites hosted on this
machine.
/etc/apache2/[Link] – The port configuration file. You can
customize the ports Apache monitors using this file. By default,
Port 80 is configured for http traffic.
/etc/apache2/sites-available – Storage for Apache virtual host
files. A virtual host is a record of one of the websites hosted on
the server.
/etc/apache2/sites-enabled – This directory holds websites
that are ready to serve clients. The a2ensite command is used
on a virtual host file in the sites-available directory to add sites
14
to this location.
Apache Configuration Files, Directories
and Modules
Modules
If you intend to work with software modules – applications that
expand or enhance the functionality of Apache – you can
enable them by using:
sudo a2enmod name_of_module
To disable the module:
sudo a2dismod name_of_module
15
Error Responses
Apache can respond to an error by
– Sending a simple default error page
– Sending a customized error page
– Redirecting to a local URL
– Redirecting to an external URL
Configured using the ErrorDocument directive in the config file
Syntax
ErrorDocument [HTTP code] [URL]
Examples
– A nicer “404 Not Found” message
ErrorDocument 404 [Link]
– Static access denied message
ErrorDocument 403 “Sorry, Dave : note single quote at start of string”
16
Error Responses
Examples
– Redirect server errors to an error logging CGI program:
ErrorDocument 500 /cgi-bin/log-error
– Log strange incoming requests, like DELETE
ErrorDocument 400 /cgi-bin/log-hacks
Some HTTP Error Codes
– 400 Bad Request
– 401 Unauthorized
– 403 Forbidden
– 404 Not Found
– 500 Internal Server Error
– 503 Service Unavailable
Notes
– Any error response page starting with “[Link] will cause the
server to send a redirect to the client
#ErrorDocument 402 [Link]
17
Log Files
First line of troubleshooting when setting up a server
Provided flexible logging
Logs are written in a Customizable format
Logs can be written directly to a file or to an external program.
Conditional logging can be made based on the characteristics of the
request.
Directives provided for this,
TransferLog – To create log file
LogFormat - To set a custom format
CustomLog - To define a log file and format
TransferLog & CustomLog directives can be used multiple times in each
server to cause each request to be logged to multiple files.
Important to remember log file rotation as well.
18
Log Formats
Define the log locations in [Link]:
– ErrorLog - logs server errors
ErrorLog "/var/log/apache/error_log“
(/etc/httpd/logs/errors)
– TransferLog - logs user requests and results
TransferLog “/var/log/apache/access_log”
(/etc/httpd/logs/access)
TransferLog Format (Common Log Format – CLF)
[Link] - - [06/Oct/[Link] -0700] "GET /
HTTP/1.0" 200 1945
– IP address of client
– The clients’s identity & the remote user name if using HTTP
authentication (missing in example “- -”)
– Date, Time and Time Zone of the request
19
Log Formats
– Content HTTP request
– Server Response code
– Content length in bytes
The default CLF can be altered to store more
information using the LogFormat directive.
20
Log Formats
ErrorLog Format
[Wed Oct 6 [Link] 1999] [error] [client [Link]]
File does not exist: /home/httpd/html/foobar
• Date
• Error, Information, Security, etc.
• Client IP address
• Message
Current state of our config file
• User apache
• Group apache
• ServerName localhost
• DocumentRoot /var/www/html
• TransferLog /var/logs/apche2/access_log
• ErrorLog /var/logs/apache/errors_log
21
Log Formats
• LogFormat “%H %m %t %U” simple
• CustomLog logs/[Link] simple
This willlogs Protocol,Date,Time and URL requested
Exercise:
Try these with your configured apache server.
• LogFormat “%h” ip
• LogFormat %h %l %u %t \”%r\” %>s %b” detailed
• CustomLog logs/[Link] detailed
• CustomLog logs/[Link] ip
22
Virtual Hosts
More than one apparent server on one machine
– One instance of Apache can serve multiple web sites
– ISPs do this all the time
– Can also be used for intranets to separate departmental
sites, for example
Virtual Host types
– IP-based virtual hosts
– Most common method
– Requires different IP address for each virtual host
– Requires configuration of network interface card
– Supported under HTTP/1.0
61
Virtual Hosts
Virtual Host types
– Name-based virtual hosts
– many host names pointing to same IP address
– practically unlimited number of servers
– easy to configure
– no additional hardware or software
– BUT client must support HTTP/1.1
– old browsers may lack support
<VirtualHost> can include:
<Directory>, <Files>, and <Location> inside a <VirtualHost>
These inclusions are processed after the ones outside the
<VirtualHost>
62
Setting Up Virtual Hosts (Recommended)
When using the Apache web server, you can use virtual
hosts (similar to server blocks in Nginx) to encapsulate
configuration details and host more than one domain from a
single server. We will set up a domain called your_domain,
but you should replace this with your own domain name.
Create the directory for your_domain:
sudo mkdir /var/www/your_domain
Assign ownership of the directory:
sudo chown -R $USER:$USER /var/www/your_domain
62
Setting Up Virtual Hosts (Recommended)
The permissions of your web roots should be correct if you
haven’t modified your unmask value, but you can make
sure by typing:
sudo chmod -R 755 /var/www/your_domain
Create a sample [Link] page
/var/www/your_domain/[Link]
62
Setting Up Virtual Hosts (Recommended)
Make a new virtual host file at
/etc/apache2/sites-available/your_domain.conf
$sudo nano/etc/apache2/sites- available/your_domain.conf
Paste in the following configuration block, updated for our new
directory and domain name
/etc/apache2/sites-available/your_domain.conf
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName your_domain
ServerAlias your_domain
DocumentRoot /var/www/your_domain
ErrorLog ${APACHE_LOG_DIR}/[Link]
CustomLog ${APACHE_LOG_DIR}/[Link] combined
</VirtualHost>
62
Save and close the file when you are finished.
Setting Up Virtual Hosts (Recommended)
Enable the file with a2ensite:
$sudo a2ensite your_domain.conf
Disable the default site defined in [Link]:
$sudo a2dissite [Link]
Test for configuration errors:
$sudo apache2ctl configtest
Restart Apache to implement your changes:
$sudo systemctl restart apache2
62
Apache should now be serving your domain name. You can test
this by navigating to [Link]
Virtual Hosts Example
Example Scenario
– We are [Link], an service provider running
Apache on Linux
– We have two clients, Smallco and Bigco, Inc.
– We want to set up web sites for these companies at:
– [Link]
– [Link]
30
Virtual Hosts Example
Setup
– We’re going to create the following directories on our
server:
– /home/www server root
– /home/www/conf server config files
– /home/www/logs default log file dir
– /home/www/htdocs default doc dir
– /clients/smallco Smallco’s area
– /clients/bigco Bigco’s area
– under each client’s directory, create logs and
htdocs/html
© 2012, University of Colombo School of Computing 31
IP-Based Virtual Hosts
Adding an IP address under Linux
– Not needed for name-based hosting
– Assumptions
– there is already one network card (eth0) up and running with an IP
address
– you have been assigned additional IP addresses for the machine
– you are logged in as root
Adding an IP address under Linux
– Add two more IP addresses to eth0:
– ifconfig eth0:0 [Link]
– route add -host [Link]
– ifconfig eth0:1 [Link]
– route add -host [Link]
– Check by running ifconfig
– To make this permanent, add these lines to /etc/rc.d/[Link]
32
IP-Based Virtual Hosts
Need to associate virtual host names with new IP addresses
– If you were assigned IP addresses by network admin, this may already be
set up
– If not, add the following to /etc/hosts to associate names with IP numbers
– [Link] [Link]
– [Link] [Link]
The <VirtualHost> directive
– contains directives we’ve already seen, like
– ServerName
– DocumentRoot
– ErrorLog
– TransferLog
– ServerAdmin
– applies these settings to requests that come in for the specified host
33
IP-Based Virtual Hosts
Example Scenario
<VirtualHost [Link]>
ServerName [Link]
ServerAdmin webmaster@[Link]
DocumentRoot /clients/smallco/htdocs
ErrorLog /clients/smallco/logs/errors
TransferLog /clients/smallco/logs/access
</VirtualHost>
<VirtualHost [Link]>
ServerName [Link]
ServerAdmin root@[Link]
DocumentRoot /clients/bigco/htdocs
ErrorLog /clients/bigco/logs/errors
TransferLog /clients/bigco/logs/access
</VirtualHost>
34
IP-Based Virtual Hosts
The <VirtualHost> directive
– The hostname can be either a name or an IP address
– if a name is used, the IP address is looked up via DNS
– Pro: easy to administer
– Con: if DNS is down when Apache is started, so is the
virtual server
The <VirtualHost> directive
– if an IP address is used and ServerName is not specified, a
reverse DNS lookup will be performed to get the name
– Con: DNS down, name-based requests to the server are
down
– Solution: use IP address in <VirtualHost> with
ServerName directive
35
IP-Based Virtual Hosts
Revised example:
<VirtualHost [Link]>
ServerName [Link]
ServerAdmin webmaster@[Link]
DocumentRoot /clients/smallco/htdocs
ErrorLog /clients/smallco/logs/errors
TransferLog /clients/smallco/logs/access
</VirtualHost>
– similar revision for [Link]
36
Name-Based Virtual Hosts
Example Scenario #2
– Smallco and Bigco Inc. have arranged for [Link]
and [Link] to point to our IP address, [Link]
– BigISP was assigned the primary name server for those
names
– This is a network administrator task
– Our server is [Link]
– Our /etc/hosts may look like
[Link] [Link]
– Need to add additional hostnames after “[Link]”
– [Link] [Link] [Link]
[Link]
37
Name-Based Virtual Hosts
Config file
NameVirtualHost [Link]
<VirtualHost [Link]>
ServerName [Link]
ServerAdmin webmaster@[Link]
DocumentRoot /clients/smallco/htdocs
ErrorLog /clients/smallco/logs/errors
TransferLog /clients/smallco/logs/access
</VirtualHost>
<VirtualHost [Link]>
ServerName [Link]
ServerAdmin root@[Link]
DocumentRoot /clients/bigco/htdocs
ErrorLog /clients/bigco/logs/errors
TransferLog /clients/bigco/logs/access
</VirtualHost>
38
Name-Based Virtual Hosts
Notes
– Main server at /home/www no longer available
– can get around that by adding a new <VirtualHost>
entry for [Link]
– Older browsers will not work
– first virtual host in config file always used
– possible workaround with the ServerPath directive
Older browser workaround
NameVirtualHost [Link]
<VirtualHost [Link]>
ServerName [Link]
ServerPath /smallco
DocumentRoot /clients/smallco/htdocs
</VirtualHost>
39
Name-Based Virtual Hosts
ServerPath workaround
– Any request starting with /smallco will be served by
this virtual host
– Pages must be accessed as
[Link]/smallco
– Requires that any pages in the site use only relative
links or /smallco/…
– Newer browsers unaffected
40
Virtual Hosts
Two ways of running Apache for virtual hosts
– Multiple httpd daemons
– secure – vhost1 cannot read vhost2’s data
– host machine has enough system resources
– Single httpd daemon
– some shared configuration is acceptable
– host machine will service a high volume of requests
Setting up multiple daemons
– requires multiple httpd installations
Setting up a single daemon
– One site home and config file
– Config file contains the <VirtualHost> directive
41
Virtual Hosts
Almost any configuration directive can be put inside
<VirtualHost>
– Exceptions are mainly directives that control the httpd
daemon, like
– User, Group
– ServerRoot
– BindAddress
– MinSpareServers, MaxSpareServers,
MaxRequestsPerChild
42
Virtual Hosts
Example Scenario #3
• Bigco Inc merges with Medium Corp
• Web sites are consolidated, so requests to
[Link] should now go to
[Link]
• Medium Corp has designated BigISP as their primary
nameserver
• Add [Link] to /etc/hosts
• Use ServerAlias directive
43
Virtual Hosts
Example Scenario #3
<VirtualHost [Link]>
ServerName [Link]
ServerAlias [Link]
ServerAdmin root@[Link]
DocumentRoot /clients/gizmos/htdocs
ErrorLog /clients/gizmos/logs/errors
TransferLog /clients/gizmos/logs/access
</VirtualHost>
© 2012, University of Colombo School of Computing 44
Virtual Hosts – Example 1
Serving the same content on different IP addresses
(such as an internal and external address)
NameVirtualHost [Link]
NameVirtualHost [Link]
<VirtualHost [Link] [Link]>
DocumentRoot /www/server1
ServerName [Link]
ServerAlias server
</VirtualHost>
45
Virtual Hosts – Example 2
Mixed name-based and IP-
based vhosts
Listen 80
NameVirtualHost [Link] # IP-based
<VirtualHost [Link]>
<VirtualHost [Link]> DocumentRoot /www/example4
DocumentRoot /www/example1 ServerName [Link]
ServerName [Link] </VirtualHost>
</VirtualHost>
<VirtualHost [Link]>
<VirtualHost [Link]> DocumentRoot /www/example5
DocumentRoot /www/example2 ServerName [Link]
ServerName [Link] </VirtualHost>
</VirtualHost>
<VirtualHost [Link]>
DocumentRoot /www/example3
ServerName [Link]
</VirtualHost>
46
Configuring DNS Server
80
What is DNS?
DNS (Domain Name System)
– A database that is used by TCP/IP applications to map
between hostnames and IP addresses
– Characteristics of DNS
• A hierarchical namespace for hosts and IP addresses
• A host table implemented as a distributed database
• A Client/Server system
– Components of DNS
• Namespace and Resource Record
• Name Server
• Resolver (Client)
48
Domain name resolution
User program issues a request
for the IP address of a hostname
Local resolver formulates a DNS
query to the name server of the
host
Name server checks if it is
authorized to answer the query.
– If yes, it responds.
– Otherwise, it will query other
name servers
When the name server has the
answer it sends it to the resolver.
49
Recursive and Iterative Queries
There are two types of queries:
– Recursive queries
– Iterative (non-recursive) queries
The type of query is determined by a bit in the DNS query
Recursive query: When the name server of a host cannot
resolve a query, the server issues a query to resolve the
query
Iterative queries: When the name server of a host cannot
resolve a query, it sends a referral to another server to
the resolver
50
What is DNS? Cont.…
Query for add. A
“.”
Local
“.”
Name Server
Name Referral to lk NS
Server
Query for add. A
“lk” “lk” “jp” “com”
Name Server
Referral to [Link] NS
Query for add. A
“[Link]” “ac” “gov”
Name Server
Referral to [Link] NS
Answe
Query for add. A
“[Link]”
Resolve
r Query
“cmb” “mrt”
r
Name Server
Answer to [Link]
Resolver
add. A [Link]
51
Root Servers [Link]
85 © 2012, University of Colombo School of Computing
What is DNS? Cont.…
Top Level Domains
53 © 2012, University of Colombo School of Computing
What is DNS? Cont.…
Reverse lookup
54
What is DNS? Cont.…
Namespace
– DNS namespace is a tree of “domains”
– Refers to the actual database of IP addresses and
their associated names
– At the highest level of the hierarchy sit the root servers
Zone
– A DNS zone refers to a certain portion or administrative
space within the global Domain Name System. Each
DNS zone represents a boundary of authority subject
to management by certain entities and is administered
as a single separate entity. The total of all DNS zones,
which are organized in a hierarchical tree-like order of
cascading lower-level domains, form the DNS
namespace.
55
What is DNS? Cont.…
Resource Records (RR)
– Resource records are the data elements that define
the structure and content of the domain name
space. All DNS operations are ultimately formulated
in terms of resource records.
Name Server
– The server programs that store information
about the domain name space
Resolver (Client)
– The programs that extract information from name
servers in response to client requests
56
Zones and Delegations
Zones are “administrative spaces”
Zone administrators are responsible for portion of a domain’s
name space
Authority is delegated from a parent and to a child
•
lk zone
lk domain
lk edu com
•
• • google
[Link] zone ucsc isi sun tislabs
• moon •
www msc
[Link] zone www
ftp •
mcs mit
57
What is BIND?
58 © 2012, University of Colombo School of Computing
What is BIND?
BIND (Berkeley Internet Name Domain system)
– A open source software package that implements the DNS protocol
and provides name service on systems (UNIX & NT)
– Characteristics of BIND
• Same as DNS, a Client/Server system
• Client side : resolver & Server side : named
– Components of BIND
• DNS Server (named)
Answers queries about hostname and IP addresses
Asks other servers and caches their responses
zone transfers
• DNS Resolver library
Contains the routines that you need to write your application
May use the generate query or the name server library routines
• Tools for verifying the proper operation of the DNS server
nslookup & dig
59
Where do I Start? - Client
Client Configuration
– /etc/[Link]
• Format
search domainname // define your resolver’s default domain and search
list
domain domainname … // define your resolver’s default domain
nameserver ipaddr // tells your resolver to query a particular name
server
• Example
% more / etc/[Link]
nameserver [Link]
nameserver [Link]
domain [Link]
• Check : /etc/[Link] – which to be used first? DNS or /etc/hosts file?
# / etc/ [Link]:
hosts: files dns
……………………………..
60
Where do I Start? - Server
Type of Server
– Primary
– Secondary
– Cache only
– Stub Server
Install of BIND
– Distribution : ISC (Internet Software Consortium)
Configure Name Server
– Network configuration
– BIND boot file configuration
• BIND-4 boot file : [Link] : script like code
• BIND-8 boot file : [Link] : C like code
– Resource Record configuration
61
/etc/[Link] file
/etc/[Link]
options {
directory "/var/named";
};
zone "." IN { // root servers file
type hint;
file "[Link]";
};
zone “[Link]" IN { // for forward zone
type master;
file "zone/[Link]";
};
zone "[Link]" IN { // for localhost
type master;
file "zone/127.0.0";
};
zone “[Link]" IN { // for reverse zone
type master;
file "zone/192.168.20";
};
62
Resource Records (RRs)
Type Value meaning
A 1 a host address
NS 2 an authoritative name server
MD 3 a mail destination (Obsolete - use MX)
MF 4 a mail forwarder (Obsolete - use MX)
CNAME 5 the canonical name for an alias
SOA 6 marks the start of a zone of authority
MB 7 a mailbox domain name (EXPERIMENTAL)
MG 8 a mail group member (EXPERIMENTAL)
MR 9 a mail rename domain name (EXPERIMENTAL)
NULL 10 a null RR (EXPERIMENTAL)
WKS 11 a well known service description
PTR 12 a domain name pointer
HINFO 13 host information
MINFO 14 mailbox or mail list information
MX 15 mail exchange
TXT 16 text strings
63
Resource Record: SOA
(Start Of Authority)
Master name server
Contact address
[Link]. 3600 IN SOA [Link]. [Link]. (
2002021301 ; serial
30M ; refresh
15M ; retry
1W ; expiry
Version number 1D ) ; negative ttl
Timing parameter
64
Resource Records (RRs) cont…
Example
– SOA Record
[Link]. IN SOA [Link]. [Link]. (
2003081001 ; Serial (2003-08-10 #01)
86400 ; Refresh (daily)
1800 ; Retry (30 minute)
1209600 ; Expire (2 weeks)
86400 ) ; Minimum TTL (1 day)
; end of SOA
:
NS (Name Server) Record
[Link]. IN NS [Link].
NS [Link].
or NS [Link].
replace
with @
65 © 2012, University of Colombo School of Computing
Resource Records (RRs) cont…
– A (Address) and CNAME (Canonical Name) Record
; Host Address
[Link]. IN A [Link]
ns2 IN A [Link]
localhost IN A [Link]
; Aliases
www IN CNAME namal
ftp IN CNAME www
100
Install BIND for DNS server
[Link]
1 Install BIND
Install bind9 with apt.
sudo apt-get install -y bind9
2 Configuration
• Private network address is [Link]/24.
• Private network name is [Link].
• IP address of DNS server for private network is
[Link]. This DNS server uses recursive query.
• IP address of client is [Link].
• 100
IP address of DNS server for internet is [Link].
Install BIND for DNS server
2.1 /etc/bind/[Link]
This is the configuration file for BIND option.
• Allow query from private network.
• Allow recursive query.
• Open 53/udp and 53/tcp if you running ufw.
options {
directory "/var/cache/bind";
listen-on port 53 { localhost; [Link]/24; };
allow-query { localhost; [Link]/24; };
forwarders { [Link]; };
recursion yes;
}
100
Install BIND for DNS server
2.2 /etc/bind/[Link]
This configuration file for private network is included by
/etc/bind/[Link].
zone "[Link]" IN {
type master;
file "[Link]";
};
100
Install BIND for DNS server
2.3 /var/cache/bind/[Link]
This is a zone file for private network.
• DNS server hostname is server.
• Client hostname is client.
• If you need more, append A record.
$TTL 86400
@ IN SOA [Link] [Link] (
2018050600
3600
900
604800
86400
)
@ IN NS server
100
server IN A [Link]
client IN A [Link]
Install BIND for DNS server
3. Validation
named-checkconf validates /etc/bind/[Link] and included
files.
$named-checkconf
named-checkzone validates zone file.
$/usr/sbin/named-checkzone [Link]
/var/cache/bind/[Link]
zone [Link]/IN: loaded serial 2018050600
OK
100
Install BIND for DNS server
4 Run BIND
Run BIND with systemd.
sudo systemctl enable bind9
sudo systemctl restart bind9
100
Install BIND for DNS server
5 Excution result
Run nslookup on server.
$ nslookup [Link] [Link]
Server: [Link]
Address: ::1#53
Name: [Link]
Address: [Link]
Run nslookup on client.
$ nslookup [Link] [Link]
Server: [Link]
Address: [Link]#53
Name: [Link]
100
Address: [Link]