Skip to content

n0033/kathara-training

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Logo

Kathara training

A multi-network simulation realised in Kathara framework
Explore the docs »

Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage

About The Project

diagram

Network shown above includes:

  • two client PCs which are connected to local cache DNS and are configured to use superproxy.it proxy server
  • 3 routers
  • 3 DNS servers implemented using bind9 - roma.it, .it, root DNS server
  • usage of OSPF protocol with 4 OSPF zones
  • two load balancers realised using iptables with random balancing (0.5 probability for each server)
  • 4 web servers served by Apache2
  • siemanko.it proxy server

(back to top)

Built With

(back to top)

Getting Started

Prerequisites

  • docker
  • kathara

Installation

  1. Clone the repo

    git clone https://github.com/n0033/kathara-training.git
  2. (optional) Clean existing lab data (if you used kathara before)

    sudo kathara lclean
  3. Start the lab

    sudo kathara lstart

(back to top)

Usage

After starting the lab you need to wait until OSPF propagates routing tables to all nodes. You can check current state by ip route command on any node.

Testing OSPF

After running the lab, type ip route command. The output of the command should consist of just few records. After waiting ~30 seconds, type ip route again. You should see many new records over there.

Checking connection and DNS

On any node, you can

ping <ip or domain>

Where domains can be:

  • siemanko.it
  • superproxy.it
  • roma.it
  • dnsit.it
  • dnsu3.roma.it

Accessing web servers

  1. Run links web browser (it is preinstalled on linux image used by kathara)
links
  1. Enter url - type g and insert URL - e.g. roma.it, siemanko.it or ip address of load balancer

Testing load balancers

Using links access web server by url roma.it or siemanko.it multiple times to see that response is served by both web servers (WB1 or WB2 for roma.it and WB3 or WB4 for siemanko.it)

Testing proxy

  1. On load balancer 2 (lb2) node listen for incoming connections on default http port
tcpdump -l port 80
  1. On any client node access web server using proxy with links browser: (proxy runs on 3128 port)
links -http-proxy superproxy.it:3128

Type g and insert URL - siemanko.it

Now, on load balancer terminal you should see packets incoming from ip 153.176.0.2 which is ip address of superproxy.it.

(back to top)

About

A network simulated using Kathara framework

Resources

Stars

Watchers

Forks

Contributors