Data Networking/Fall 2015/ZZTL
Group Members
editXiao TAN
Bohan ZHONG
Junjie LI
Xiyu ZHAO
Motivations
editThe project aims to establish a network and provide relative functions for a company. The key concepts used in the project are highly related to our Data Networking class. While configuring those protocols, we met several problems and had deeper understanding of DHCP, DNS, VPS and Web server. We are more familiar with Ubuntu System, which is fast, secure and stylishly simple. Ubuntu System has a lot difference between Windows System. The ultimately solution basically solve the problems we might meet in engineering practice.
Understanding the Protocol
editDHCP
editDynamic Host Configuration Protocol – a network service that enables host computers to be automatically assigned settings from a server as opposed to manually configuring each network host. DHCP Servers are very often used in enterprise networks to reduce configuration. All IP addresses of all computers are stored in a database that resides on a DHCP server machine.
DNS
editDomain Name Service – is a service that maps IP addresses and fully qualified domain names to one another. DNS alleviates the need to remember IP addresses and make people easy to remember website names. Ubuntu ships with BIND9 (Berkley Internet Naming Daemon), which is the most widely deployed DNS server.
WEB SERVER
editWeb Server is a web pages requested by clients. Clients typically request and view Web Pages using Web Browser applications, like Firefox.
FIREWALL
editFirewall is setup on web server for secure matters. If the fire wall is enabled, no one would have the accessibility to servers except some clients and some kinds of services specified by firewall rules. Firewall can divide, filter and forward the data coming in or going out the network.
BACKUP
editBackup is a very useful way to protect and recover lost data. It will copy all data of daily works in current server and send it to another server in remote. As server is a busy machine as clients increases ad it is possible for the server to crashed by heavy work. Back up is necessary to protect both server and data it generated.
VPN
editVPN- virtual private network (VPN) extend a private network that can run over the public network.
NIS
editNIS-network information service(NIS) produces a network lookup service including the service of databases and process.
NFS
editNetwork File System allows hosts to access a directory located on one networked computer in the same network. The computer be accessed by other computer is called the server and the computers or devices connecting to that server are called clients. When a client get enough, it becomes part of their own directory structure.
NTP
editNTP-network time protocol(NTP) is a kind of protocol which is used to synchronize the clocks of computers to some time reference.
MAIL SERVER
editA mail server is a server that handles and delivers e-mail over a network, usually over the Internet. A mail server can receive e-mails from client computers and deliver them to other mail servers. A mail server can also deliver e-mails to client computers.
The Requirements
editDNS
edit- Assign a set of IP addresses that have to be used for this project.
- Create any 5 DNS records.
- Use IPv4 and IPv6 addresses in your implementation of records.
- Create reverse domains in in-addr.arpa and ipv6.arpa for the addresses.
- Configure a Master DNS server as well as a Slave DNS server, the Slave DNS should automatically update with Master DNS server.
- Test plan and implementation with examples.
DHCP
edit- Assigned a set of IP addresses that have to be used for this project.
- Use IPv4 and IPv6 addresses in your implementation of DHCP.
- Dynamic allocation of network addresses.
- The Client-Server Protocol.
Web Server & Firewall
edit- Use only command line tools and packages.
- Provide all the commands that you have used and also give a brief description in one line.
- Provide the changes you have made to the files/folders for configuring the webserver as well as the firewall.
- Create a basic page to be server by this web server.
- Make this page accessible to the clients in your network using a web browser.
- Make your server the most secured one in all possible ways.
Back Up
edit- Automate the process of backing up the data.
- The backup file should be zipped and sent to a different server.
- Describe briefly about how you backup automatically and also how file transfer is made.
- Mention which protocol you are using to complete this task.
- Provide the commands and configurations for sending the zipped file to a different location.
Steps to perform the setup / installation
editDHCP Server
editIPv4
- Install:
sudo apt-get install isc-dhcp-server
- To Assign IP addresses dynamically, change the file:
/etc/dhcp3/dhcpd.conf
- Then save and exit the file, restart the dhcp-server.
sudo /etc/init.d/isc-dhcp-server restart
- Setting several fixed ip address.
Allocation ip address with specific MAC address
IPv6
- Install:
sudo apt-get install radvd
DNS Server
editIPv4
- Install DNS on local machine using Ubuntu & BIND9 package.
sudo apt-get install bind9
- Edited Forward Zone File: To map domain names to IP address.
- Used an existing zone file as a template to create the /etc/bind/db.www.wxl.com file.
- Create 5 records for the base domain, wxl.com. Then restart BIND9.
- Reverse Zone File:
Map IP addresses to domain names.
- Create the /etc/bind/db.192 file
- After creating the reverse zone file then restart BIND9
IPv6
- Install radvd.
apt-get install radvd
- Edit the file:
/etc/radvd.conf
Web Server
edit- Install:
sudo apt-get install apache2
- Setting sever name:
Choosing an ip address from ip pool
Then restart
- Then modify webpage.
Firewall
edit- Install:
sudo apt-get install ufw
- Configuration:
sudo ufw default deny
sudo ufw enable
- Checking firewall status.
sudo ufw status
- Shut down the firewall.
sudu ufw disable
Back up
editMYSQL
- Install:
sudo apt-get install mysql-server
- Configuration:
Edited the /etc/mysql/my.cnf file
change bind-addresss
- Copy the files in Web Server.
mysqldump –uroot –p1234 –h localhost –all databases > home/lijunjie/all.sql
Rsync with ssh
- Install:
sudo apt-get install openssh-server
- Exchange keys to authorize the client to visit the server:
sudo ssh-keygen
ssh-copy-id root@192.168.10.10
Cron
- Install:
sudo apt-get install gnome-schedule
- Configuration:
Edit the file crontab
crontab –e
12 00 * * * bash – x/home/lijunjie/backup.sh
Add-ons
editVPN
- Install:
sudo apt-get install pptpd
- Configuration:
Edit the file /etc/pptpd.conf
localip 192.168.10.10 remoteip 192.168.10.50-70
- Configuration:
file /etc/sysctl.conf
NFS
- Install:
sudo apt-get install nfs-kernel-server
- NFS Server
Configuration:
Edit file /etc/exports
- NFS client
Install:
sudo apt-get install nfs-common
sudo mount web.pofei.com:/ubuntu /local/ubuntu
Testing
edit- Test the network
To see if they can ping successfully.
- Test DNS Server
Use Command nslookup Type in domain name to see if it could get the IP address it mapped Type in IPv4 address to see if it could get the domain name it mapped Type in IPv6 address to see if it could get the domain name it mapped
- Test DHCP Server
Using ‘ifconfig’ to see if the client (or server) gets the IP addresses (including IPv4 and IPv6).
- Test Web Server
Open the web browser, type in localhost to see if it can access the website.
- Test MySQL
Type the command MySQL –uroot –ppassword to login the MySQL Database. Type the command show databases; to see if it can get the table of database.
Future Prospects
edit- Implementing more security functions to protect the network.
- Setting mail server in the network for better connection.
- Better to start earlier and realize more add-ons in the future.
Citations
edit- https://help.ubuntu.com/lts/serverguide/network-file-system.html
- http://www.krizna.com/ubuntu/setup-mail-server-ubuntu-14-04/
- http://ju.outofmemory.cn/entry/39235
- https://www.youtube.com/watch?v=ML2xX64z6Q8
- https://help.ubuntu.com/10.04/serverguide/index.html
- https://help.ubuntu.com/10.04/serverguide/index.html