Académique Documents
Professionnel Documents
Culture Documents
Infrastructure Rseaux
Projet
Tunnel L2TPv3 scuris par IPsec pour la mise en uvre de trunking de VLANs
Prsentation du projet
Le projet a pour but dtudier le protocole L2TPv3, RFC 3931, pour faire des tunnels de niveau 2.
On sen servira pour faire du trunking de VLANs et de la mutualisation de service comme le DHCP.
Enfin, laide dune configuration intelligente, on limitera lutilisation du tunnel lorsque les htes voudront se connecter Internet en leur permettant de le faire directement de leur ct dInternet.
bridge_internal
10.10.1.0/24
Internet
bridge_lan1
172.16.100.0/24
VM Ishtar2
VM Ishtar1
Hte
Hte
bridge_lan1
172.16.100.0/24
Routeur 1
Hote1
Routeur 2
Hote1
bridge_lan2
172.16.200.0/24
bridge_lan2
172.16.200.0/24
Hote2
Hote2
VM Ishtar2
VM Ishtar1
bridge_internal
10.10.2.0/24
Hte
Hte
Routeur 1
Hote1
Hote1
Hote2
Routeur 2
Internet
TUNNEL
bridge_vlan
VLAN 100 : 172.16.100.0/24
VLAN 200 : 172.16.200.0/24
bridge_vlan
VLAN 100 : 172.16.100.0/24
VLAN 200 : 172.16.200.0/24
Hote2
Un serveur DHCP sera mis en uvre sur Routeur1 afin de configurer les diffrents htes des deux
VLANs (quils soient ou non spars par Internet).
Resp. UE : P-F. Bonnefoi, http://libpfb.so/, Infrastructure RseauxProjet version du 30 avril 2015, rdig avec ConTEXt Dont Panic !
1/8
Description de la mise en uvre avec deux VMs, Virtual Machine, et les containers LXC :
deux VMs, Ishtar1 et Ishtar2 ;
dans la VM Ishtar1 :
deux rseaux locaux : bridge_vlan et bridge_internal ;
deux containers Hote1 et Hote2 ;
un container Routeur1 charg de faire le lien entre les trois rseaux, il est connect lhte (la
VM) par lintermdiaire du rseau bridge_internal ;
dans la VM Ishtar2 : la mme configuration, mais avec le rseau bridge_internal recevant une adresse diffrente (on pourra conomiser le container Hote1).
propos de la VM
Ce sujet va vous obliger de tlcharger une nouvelle version de la machine virtuelle mise disposition
en dbut danne.
En effet, la technologie L2TPv3 qui est une technologie trs performante pour la mise en place de
tunnel de niveau 2 (transport de niveau 2 dans du niveau 3), est intgre uniquement dans les dernires
versions du noyau Linux.
Une nouvelle VM a t construite avec Ubuntu 14.10.
http://libpfb.so/fileadmin/ubuntu-vmserver-new.zip
Personnalisation de la VM
Dans le cadre de ce projet, vous pouvez utiliser deux ordinateurs physiques faisant chacun tourner une VM,
ou bien un seul ordinateur faisant tourner les deux VMs. Dans les deux cas vous pouvez vouloir changer le
nom de la VM pour faciliter leur exploitation simultane.
Si vous voulez changer le nom de la VM ishtar, vous devez modifier le contenu des fichiers
/etc/hostname et /etc/hosts et remplacer ishtar par le nom que vous aurez choisi.
Linux, LXC & VLANs
Dans ce projet, nous allons utiliser des VLANs afin de :
crer deux rseaux locaux diffrents regroupant des machines connectes au travers des mmes lments actifs du rseaux (bridge/switch) avec des adresses de niveau 3 diffrentes (adresse IP) ;
isoler les trafics de niveau 2 de ces rseaux pour quils ninterfrent pas entre eux : ARP, DHCP, Neighbor Discovery Protocol, etc.
multiplexer le trafic des deux rseaux au sein dun mme switch/bridge la manire du VLAN trunking :
la trame est tiquette, VLAN Tagging, pour indiquer quel VLAN elle appartient (suivant le
format 802.1Q) ;
la mise en place de ltiquette ou sa suppression est ralise soit par :
llment actif du rseau (bridge/switch) et on parle de VLAN de port (sur un switch matriel le
rglage est untagged) : la connexion ne permet datteindre quun seul VLAN et les trames
ne contiennent pas dtiquette leur arrive sur le port ;
la machine connecte au rseau et on parle de rglage tagged : cette configuration est utile,
par exemple, lorsque lon connecte sur le mme port un ordinateur et un tlphone IP, utilisant
le protocole Voice Over IP, dont le trafic nira pas dans le mme VLAN et sera prioritis
suivant de la QoS.
Nous choissirons de faire du VLAN de port, qui offre la scurit maximale tout en gardant la flexibilit du
VLAN :
la connexion nappartient qu un seul VLAN ;
les trames sont tiquettes dans le bridge/switch pour permettre le trunking ;
les trames VLANs peuvent tre multiplexes sur un lien pouvant tre un tunnel de niveau 2 ;
les VLANs peuvent tre rpartis entre des sites, en employant le rseau IP pour assurer cette interconnexion.
Mise en place de VLAN de port sous Linux & LXC
Ce que lon veut faire :
ajouter ltiquette VLAN sur les trames en sortie du container ;
intgrer ce trafic dans un bridge pour :
les changes avec les autres containers appartenant au mme VLAN et sexcutant sur la mme
VM ;
Resp. UE : P-F. Bonnefoi, http://libpfb.so/, Infrastructure RseauxProjet version du 30 avril 2015, rdig avec ConTEXt Dont Panic !
2/8
le passage dans le tunnel de niveau 2 pour relayer le trafic au travers du rseau IP vers les
lorsquune trame est reue avec une tiquette VLAN sur linterface existante, elle apparait sur
parait avec une tiquette VLAN sur linterface existante ;
il est possible daccrocher plusieurs interfaces VLANs sur la mme interface, seulement si elles
la nouvelle interface cre sans ltiquette.
1. crer pour chaque container une interface de type veth, virtual ethernet, qui se prsente
comme deux interfaces rseaux relies par un cble : toute trame se prsentant sur linterface dune
extrmit se retrouve sur linterface de lautre extrmit ;
2. accrocher le container en mode VLAN sur une extrmit, c--d que le trafic en sortie du contanier
sera tiquett (fonctionnement en VLAN de port) ;
3. ajouter lautre extrmit dans un bridge.
En conclusion :
tous les containers pourront communiquer entre eux sils sont connects au mme bridge et appartiennent au mme VLAN ;
le trafic tiquet peut tre tunnelis au travers dun tunnel de niveau 2.
Configuration dinterface virtuelle sous Linux
Pour la cration de veth :
xterm
$ sudo ip link add name veth_filtre type veth peer name veth_tunnel
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN mode DEFAULT qlen 1000
link/ether 00:0c:29:0f:31:a1 brd ff:ff:ff:ff:ff:ff
pef@cerberus:~$ sudo ip link add link eth0 name eth0.100 type vlan id 100 loose_binding on
pef@cerberus:~$ ip link
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN mode DEFAULT qlen 1000
link/ether 00:0c:29:0f:31:a1 brd ff:ff:ff:ff:ff:ff
4: eth0.100@eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT
link/ether 00:0c:29:0f:31:a1 brd ff:ff:ff:ff:ff:ff
Les trames qui passeront par cette interface possderont un tag de VLAN avec lid 100.
Loption loose_binding permet de dcorrler ltat up/down de linterface VLAN de celle de
linterface laquelle elle est accroche.
xterm
pef@cerberus:~$ sudo ip addr add 192.168.1.1/24 brd 192.168.1.255 dev eth0.100
pef@cerberus:~$ sudo ip link set dev eth0.100 up
pef@cerberus:~$ ip address
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
link/ether 00:0c:29:0f:31:a1 brd ff:ff:ff:ff:ff:ff
inet 192.168.127.213/24 brd 192.168.127.255 scope global eth0
inet6 fe80::20c:29ff:fe0f:31a1/64 scope link
valid_lft forever preferred_lft forever
4: eth0.100@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP
link/ether 00:0c:29:0f:31:a1 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.1/24 brd 192.168.1.255 scope global eth0.100
inet6 fe80::20c:29ff:fe0f:31a1/64 scope link
valid_lft forever preferred_lft forever
Resp. UE : P-F. Bonnefoi, http://libpfb.so/, Infrastructure RseauxProjet version du 30 avril 2015, rdig avec ConTEXt Dont Panic !
3/8
xterm
sudo ip link add name hote1_vlan1 type veth peer name veth_hote1
sudo ip link set dev hote1_vlan1 up
sudo ip link set dev veth_hote1 up
bridge id
STP enabled
interfaces
bridge_vlan
8000.2ae43b4d2b70
no
veth_hote1
Il faut configurer lautre poste de la mme faon mais en symtrique (hellhound cerberus) :
Peer tunnel 4000
xterm
pef@hellhound:~$ sudo ip l2tp add tunnel local 192.168.127.161 remote 192.168.127.213
encap ip tunnel_id 4000 peer_tunnel_id 3000
pef@hellhound:~$ sudo ip l2tp show tunnel
Tunnel 4000, encap IP
From 192.168.127.161 to 192.168.127.213
Peer tunnel 3000
Resp. UE : P-F. Bonnefoi, http://libpfb.so/, Infrastructure RseauxProjet version du 30 avril 2015, rdig avec ConTEXt Dont Panic !
4/8
Maintenant, toute trame prsente sur une extrmit du tunnel est relaye vers lautre extrmit.
Rappels et commandes utiles
Pour la configuration de dnsmasq :
xterm
# sudo dnsmasq -d -C fichier_config
Resp. UE : P-F. Bonnefoi, http://libpfb.so/, Infrastructure RseauxProjet version du 30 avril 2015, rdig avec ConTEXt Dont Panic !
5/8
Travail raliser
Vous rdigerez un rapport au format PDF contenant des explications, des commandes, des configurations,
des captures dcran et des analyses de trames.
1 Vous mettrez en uvre le rseau conformment au schma propos et en vous servant des fichiers de
configuration suivants pour raliser la configuration complte :
Le fichier config_network_hardware
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
ajoute deux
brctl addbr
brctl setfd
ip link set
ponts
bridge_internal
bridge_internal 0
bridge_internal up
sudo ip link add name hote2_vlan2 type veth peer name veth_hote2
sudo ip link set dev hote2_vlan2 up
sudo ip link set dev veth_hote2 up
sudo ip link add name routeur1_vlan1 type veth peer name veth_routeur11
sudo ip link set dev routeur1_vlan1 up
sudo ip link set dev veth_routeur11 up
sudo ip link add name routeur1_vlan2 type veth peer name veth_routeur12
sudo ip link set dev routeur1_vlan2 up
sudo ip link set dev veth_routeur12 up
# on
sudo
sudo
sudo
sudo
Le fichier config_network_routing
1 # on fixe les adresses des interfaces de l'hote
2 sudo ip addr add 10.10.1.254/24 dev bridge_internal
Le fichier routeur1.cfg
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
lxc.utsname = ROUTEUR1
# interface vers l'hote
lxc.network.type = veth
lxc.network.flags = up
lxc.network.link = bridge_internal
lxc.network.name = eth0
lxc.network.ipv4 = 10.10.1.253/24
lxc.network.hwaddr = 00:FF:AA:00:00:01
# interface vers le VLAN 100
lxc.network.type = vlan
lxc.network.vlan.id = 100
lxc.network.flags = up
lxc.network.link = routeur1_vlan1
lxc.network.name = eth1
lxc.network.ipv4 = 172.16.100.254/24
Le fichier hote2.cfg
1
2
3
4
5
6
7
lxc.utsname = HOST2
lxc.network.type = vlan
lxc.network.vlan.id = 200
lxc.network.flags = up
lxc.network.link = hote2_vlan2
lxc.network.name = eth0
lxc.network.hwaddr = 00:FF:BB:00:02:02
Le fichier dnsmasq_config
1 dhcp-range=172.16.100.10,172.16.100.100,168h
2 dhcp-range=172.16.200.10,172.16.200.100,168h
Vous testerez le bon fonctionnement de lencapsulation VLAN en sniffant le rseau laide de tcpdump.
Resp. UE : P-F. Bonnefoi, http://libpfb.so/, Infrastructure RseauxProjet version du 30 avril 2015, rdig avec ConTEXt Dont Panic !
6/8
Vous incorporerez dans votre rapport une capture commente de trafic VLAN entre un hte et un routeur
(qui sont les interlocuteurs, o le trafic est-il sniff, qui appartient les adresses MAC, quelle est la nature
du trafic, son sens dchange et le protocole observ).
2 Vous rdigerez une description/prsentation rapide du protocole L2TPv3 :
a. en indiquant ses avantages ;
b. en relevant les diffrences avec les versions prcdentes du protocole ;
c. en expliquant les notions didentifiants et de sessions ;
d. en commentant pourquoi on le compare MPLS.
3 Vous tablirez le tunnel L2TPv3 en mode encapsulation IP.
Vous vrifierez que :
a. le protocole ARP fonctionne normalement pour la dcouverte des machines quelle que soit leur ct
de connexion par rapport Internet (sur la VM 1 ou la VM 2) ;
b. le service DHCP que vous nexcuterez que sur Routeur1 peut tre utilis par lhte 2 de la deuxime
VM ;
c. une connexion TCP laide de socat entre Routeur1 et Hte2 est possible travers le tunnel.
Pour chaque vrification vous ajouterez dans votre rapport des captures de trafic et de configuration dinterfaces permettant de justifier du bon fonctionnement de ces observations.
4 Vous comparerez :
a. la mise en uvre de l2TPv3 :
en mode encapsulation IP ;
en mode encapsulation UDP.
Vous ferez une capture dun paquet L2TPv3 dans chaque mode pour le protocole que vous vous voudrez
(tcp, arp, icmp, etc.) et vous le dtaillerez jusqu identifier prcisment son contenu pour chacun de
ses modes.
b. Vous comparerez un tunnel ralis avec GRE en mode GRETAP (tunnel de niveau 2) :
xterm
$ sudo ip link add eoip1 type gretap remote 192.168.127.161 local 192.168.127.213 nopmtudisc
$ sudo brctl addif bridge_internal eoip1
$ sudo ip link set dev l2tpeth0 down
$ sudo ip link set dev eoip1 up
Pour passez dun tunnel lautre, il suffit de mettre linterface du tunnel dsactiv down et
lautre activer up.
Quelles diffrences ? La MTU est-elle la mme ? etc.
5 En vous servant des fiches de TP, vous mettrez en place un chiffrement IPsec sur votre tunnel l2TPv3 en
encapsulation IP.
laide de la commande iperf vous comparerez la vitesse de transfert entre Routeur1 et lhte 2
sur la VM n2 avec et sans chiffrement.
Vous ajouterez dans votre rapport votre configuration, une capture commente de trafic l2tpv3 avec protection IPSec et les rapports fournis par iperf.
6 Accs Internet intelligent :
a. vous ajouterez laccs Internet sur Routeur1 pour les postes des deux VLANs, laide de rgles
iptables ;
b. vous vrifierez que le trafic de lhte2 de la VM n2 passe bien par Routeur1 ;
c. vous regarderez comment en utilisant dnsmasq, vous pouvez rediriger les postes de la VM 2, lors
de leur configuration par DHCP, vers Routeur 2 au lieu de Routeur 1 pour optimiser laccs Internet.
Vous ajouterez dans votre rapport la configuration de dnsmasq ainsi que des captures montrant que le
trafic de Hote2 vers Internet, passe bien par Routeur2 au lieu de Routeur1.
7 Vous interdirez le trafic entre VLAN 100 et VLAN 200 :
a. laide de rgles iptables ;
b. laide de la Policy Routing.
Vous ajouterez dans votre rapport les configurations utilises.
Resp. UE : P-F. Bonnefoi, http://libpfb.so/, Infrastructure RseauxProjet version du 30 avril 2015, rdig avec ConTEXt Dont Panic !
7/8
Remise du travail
Le travail devra tre remis sous forme dune archive bonnefoi@unilim.fr.
Cette archive contiendra :
tous les fichiers de configuration utiliss qui permettent de dployer le rseau sur la VM n1 et la
VM n2 ;
le rapport au format PDF contenant les captures dcran demandes.
Resp. UE : P-F. Bonnefoi, http://libpfb.so/, Infrastructure RseauxProjet version du 30 avril 2015, rdig avec ConTEXt Dont Panic !
8/8