Data Networking/Spring 2015/Group6
THE TEAM
editINTRODUCTION
editRequirements
editFlowcharts
editBackground
editSETTINGS
editDNS Server
editOne identifier for an Internet host is its hostname (such as www.google.com) and IP address (such as 192.168.100.1/24). For humans, it is easy to identify and remember hostnames. However, networks identify IP addresses. As a result, we need a function for network to transfer hostnames and IP addresses. It is DNS—The Internet’s Directory Service. In this project, one of the tasks is to build a DNS server in a local area network. Our DNS server (BIND 9.9.5-3ubuntu0.2-Ubuntu) works on Ubuntu 14.04.2 LTS.
Configurations
editIn the main configuration file (named.conf), we included all of the files, which are necessary for DNS. In the configuration options file (named.conf.options), we set options, which influence the work methods of DNS. In the local DNS server configuration file (named.conf.local) In the RR for name reso file (db.gp6.dn), we included RRs (Resource Records). Those RRs are remembered by our DNS server. In the RR for inverse name resol file (db.192.168.100), we included inverse RRs. We set TSIG Signature. With this signature, the DHCP server cannot update the gp6.dn domain if it loses this key.
Testing
editWe started DNS server. Then we showed out the its information, and check the ports listening and syslog file. Everything is all set.
Here we started to check the performances of DNS server. Command: dig www.gp6.dn We could get the IP address of host www.gp6.dn --- 192.168.100.254.
Command: dig www.xwy.gp6.dn We could get the IP address of host www.xwy.gp6.dn --- 192.168.100.90.
Command: dig –x 192.168.100.254 We could get the hostname of IP address 192.168.100.254 --- www.gp6.dn.
Command: dig –x 192.168.100.90 We could get the hostname of IP address 192.168.100.90 --- www.xwy.gp6.dn.
DHCP Server
editThe Dynamic Host Configuration Protocol (DHCP) is a network service that enables host computers to be automatically assigned settings from a server as opposed to manually configuring each network host. Computers configured to be DHCP clients have no control over the settings they receive from the DHCP server, and the configuration is transparent to the computer's user. And in out group, we assign the IP range from 192.168.100.101 to 192.168.100.200, 255.255.255.0 as subnet mask, 192.168.100.1 as the default gateway and assign the static IP address 192.168.100.50 as DHCP server' IP address. In addition, we also assign permanent IP address for Web server, DNS server and other servers.
Web Server & Firewall
editApache is the most commonly used Web Server on Linux systems. Web Servers are used to serve Web Pages requested by client computers. Clients typically request and view Web Pages using Web Browser applications such as Firefox, Opera, Chromium, or Mozilla. Users can enter a URL to point to a web server by means of its Fully Qualified Domain Name (FQDN) and a path to the required resource. So we choose apache2 to set the web server To set firewall in this case, we use ufw to set firewall, Ubuntu default firewall configuration tool is ufw. To make iptables firewall configuration easily developed ufw provides users a friendly way to create a firewall based on IPv4 or IPv6 host. We need to enable ufw to set firewall because ufw is utilized, we do not need to install. In our group, 192.168.100.90 is the server
Add-ons
editBack-up
editThere are several parts in backup, such as MYSQL, php5, phpmyadmin, ssh, rsync and cron.
MYSQL Database
editMySQL is a fast, multi-threaded, multi-user, and robust SQL database server. It is intended for mission-critical, heavy-load production systems as well as for embedding into mass-deployed software.
PHP5
editPHP is a general-purpose scripting language suited for Web development. PHP scripts can be emss-bedded into HTML. This section explains how to install and configure Apache2 and MySQL existing Ubuntu system PHP5.
phpmyadmin
editphpMyAdmin is a LAMP application specifically written for administering MySQL servers. Written in PHP, and accessed through a web browser, phpMyAdmin provides a graphical interface for database administration tasks.
SSH
editThis section of the Ubuntu Server Guide introduces a powerful collection of tools for the remote control of, and transfer of data between, networked computers called OpenSSH. You will also learn about some of the configuration settings possible with the OpenSSH server application and how to change them on your Ubuntu system. OpenSSH is a freely available version of the Secure Shell (SSH) protocol family of tools for remotely controlling, or transferring files between, computers.
Rsync
editRsync is a tool for efficiently copying and backing up data from one location (the source) to another (the destination). It is efficient because it only transfers files which are different between the source and destination directories.
1. --dry-run This tells rsync to not actually do anything. It will just write a log of what it would do to the screen. Once you've made sure everything will work as you expect, you have to remove this option, and run the command again to perform the actual backup. 2. --delete deletes files that don't exist on the system being backed up.(Optional) 3. -a preserves the date and times, and permissions of the files (same as -rlptgoD). 4. With this option rsync will: 1. Descend recursively into all directories (-r), 2. copy symlinks as symlinks (-l), 3. preserve file permissions (-p), 4. preserve modification times (-t), 5. preserve groups (-g), 6. preserve file ownership (-o), and 7. preserve devices as devices (-D). 5. -z compresses the data 6. -vv increases the verbosity of the reporting process 7. -e specifies remote shell to use
Cron
editCron make the automatically backup comes true. A crontab is a simple text file with a list of commands meant to be run at specified times.
VPN
editVPN is short for Virtual Private Network) which allows users to set up a connection over networks. Like a local workstation connect to a remote server. For running VPN on Ubuntu, we need to install the required VPN protocol which requires general knowledge on networks. In this case, our group implement the PPTP protocol to run in the Linux to achieve the VPN function.
NFS
editshort for Network File System which is a distributed file system protocol that allows you to mount remote directories and files on your server. It can let users balance the storage space in difference places and store in the same space from multiple servers.
NIS
editThe NIS Client abd Server module handles the use of NIS, Network Information Service which is a protocol for sharing users, groups and other information between multiple systems. This project explains how NIS works, and how to set your system up as either a client or server using Webmin.