Skip to content
Snippets Groups Projects
Verified Commit bb837deb authored by iliya.saroukha's avatar iliya.saroukha :first_quarter_moon:
Browse files

feat: lab completely finished

parent afea3f75
Branches main
No related tags found
No related merge requests found
report/figs/part1_verif.png

744 KiB

report/figs/r3_r2_setup.png

483 KiB

report/figs/r3_r2_tcpdump_ns2.png

855 KiB

......@@ -17,13 +17,16 @@ format:
colorlinks: true
---
# Topologie
# Repo GitLab
Les scripts `bash` mis en place pour ce laboratoire sont tous disponibles
au lien suivant sous le répertoire `/scripts/` : <https://githepia.hesge.ch/isc3/vres/namespaces>
## Préparation du routeur
# Topologie
### Script `bash`
## Script `bash` de préparation du routeur
```{bash}
```bash
#!/usr/bin/env bash
echo "======= R1: Activating IP forwarding ======="
......@@ -55,11 +58,19 @@ ssh R1 apt update
ssh R1 apt install -y tcpdump
```
## Vérification du bon fonctionnement
L'image ci-dessous permet de vérifier via un `traceroute` que H1 arrive
correctement à pinger la destination 1.1.1.1 en passant par l'interface eth1
de R1.
![Traceroute vers 1.1.1.1 depuis H1](./figs/part1_verif.png)
# Routeur virtuel routé
### Script `bash`
## Préparation du script `bash` d'un routeur virtuel
```{bash}
```bash
#!/usr/bin/env bash
echo "======= R1: Creating ns2 namespace ======="
......@@ -107,7 +118,7 @@ scp ./r2_nat.ruleset root@R1:/root
ssh R1 ip netns exec ns2 nft -f ./r2_nat.ruleset
```
### Vérification
## Vérification du bon fonctionnement
![Exécution de `tcpdump` dans le namespace ns2 (i.e. R2)](./figs/r2_tcpdump.png)
......@@ -127,9 +138,9 @@ pas rapport à lorsqu’il n'est pas utilisé (valeur 54), expliquez pourquoi ?
# Routeur virtuel bridgé
### Script `bash`
## Préparation du script `bash` d'un routeur virtuel bridgé
```{bash}
```bash
#!/usr/bin/env bash
echo "======= R1: Creating ns2 namespace ======="
......@@ -188,7 +199,7 @@ echo "======= H1: Setting default route via R1 (i.e. 10.0.0.2) ======="
ssh H1 ip route add default via 10.0.0.2
```
## Vérification
## Vérification du bon fonctionnement
![TTL du paquet via R2](./figs/h1_ping_with_bridge.png)
......@@ -203,9 +214,18 @@ de routeurs que si le namespace n'existait pas.
# Instanciation de plusieurs routeurs virtuels sur R1
### Script `bash`
## Représentation schématique
Le schéma ci-dessous représente la manière dont le script `bash` qui suit mettra
en place les routeurs R3 et R2 via leur namespace respectif ns3 et ns2 ainsi
que la manière dont les interfaces seront adressées et bridgées aux interfaces
br0 et br1.
![Schéma de la mise en place de R3 et R2](./figs/r3_r2_setup.png)
```{bash}
## Préparation du script `bash` pour plusieurs routeurs virtuels bridgés
```bash
#!/usr/bin/env bash
echo "======= R1: Creating ns2 and ns3 namespaces ======="
......@@ -299,6 +319,15 @@ l'implémentation des deux routeurs virtuels est fonctionnelle.
![`traceroute` depuis H1 démontrant le passage via R3 et R2](./figs/r3_r2_bridge_traceroute.png)
En exécutant `tcpdump` sur l'interface ns2-veth1 du namespace ns2 et en lançant
un même `traceroute` vers 1.1.1.1 depuis H1, la figure ci-dessous illustre
clairement que les paquets ICMP passent initialement par l'interface ns3-veth0
ayant comme IP 192.168.0.1 du ns3, puis celui-ci transite vers l'interface
ns2-veth1 (IP 192.168.0.2) du ns2. De ce fait, ceci confirme que la mise en
place des routeurs R3 et R2 via les namespaces est correcte.
![`tcpdump` sur l'interace ns2-veth1 de R2](./figs/r3_r2_tcpdump_ns2.png)
Au niveau du TTL lors d'un ping, l'image ci-dessous illustre le fait que
celui-ci fut décrémenté d'une valeur en plus (53 à présent) comparé à la @fig-ping-baseline
(_baseline_ de la topologie de la partie 1 du laboratoire) du fait que le ping
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment