Activer le relais des paquets
Dans notre prochain exemple, le serveur est muni de deux cartes
réseau et joue un rôle de passerelle. Voici les détails de la
configuration réseau.
Par: Dr RIAHLA Med Amine
MCA, UMBB
Par Dr RIAHLA Mohamed Amine
Les cibles
Par Dr RIAHLA Mohamed Amine
Activer le relais des paquets
●
Routage
–Rappel
–Routage statique vs dynamique
●
Translation d’adresse
●
Translation de port
Par Dr RIAHLA Mohamed Amine
Rappel sur le routage
●
Fonctionnalité implémentée dans la couche réseau du
modèle OSI.
●
Routeur → Un ordinateur qui implémente la
fonctionnalité de routage.
Rappel sur le routage
Routage statique
●
Les route sont définit statiquement
●
Inconvénients :
–Le réseau peut devenir inopérant en cas de défaillance d’un
lien
–Nécessite
une reconfiguration manuelle en cas de
changement de topologie.
Routage statique dans Linux
●
Le routage statique est pris en charge nativment par le
noyau Linux
●
Désactivé par défault
●
Activation du routage
–echo 1 > /proc/sys/net/ipv4/ip_forward
–sysctl net.ipv4.ip_forward=1
Routage statique dans Linux
●
Affichage de la table de routes → route -n
Rajout d’une nouvelle route
●
Route pour un sous-réseau
route add -net <adresse réseau> netmask <masque> gw
<adresse de la passerelle>
●
Route pour un ordinateur
route add -host <adresse ordinateur> gw <adresse de la
passerelle>
●
Route par défaut
–route add default gw <adresse de la passerelle>
Routage dynamique
●
Supporte l’échange dynamique des informations de
routage entre les routeurs.
–Rajout/suppression de nouvelle route
–Défaillance d’un route
Routage dynamique
●
Système autonome
–est un ensemble de réseaux informatiques IP intégrés à
Internet et dont la politique de routage interne est cohérente.
–Un système autonome est généralement sous le contrôle
d'une entité ou organisation unique
Fournisseur d'accès à Internet.
●
Université
●
Grande entreprise
●
… etc
●
Protocoles de routage
●
Deux type de protocoles de routage
dynamiques
–Interne → à l’intérieure d’un système autonome
–RIP: vecteur de distance
–OSPF: etat des liens
–Externe → Entre systèmes autonomes
–BGP
Bird
●
Implémentation open source de plusieurs protocole de
routage
●
Très utilisé dans le réseau Internet
●
Installation :
–sudo apt-get install bird
Bird (Configuration)
●
Configuration → /etc/bird/bird.conf
●
Deux directive de configuration importante
●
protocol kernel {
scan time 10;
import all;
export all;
}
protocol device {
scan time 10;
}
Bird (Configuration)
●
Directive spécifique à chaque protocole de routage
●
Exemple RIP : Configuration basique
●
protocol rip {
export all;
import all;
interface "*";
●
}
Bird (Configuration)
●
Configuration avancée
●
protocol rip {
export all;
import all;
port 1520;
authentication plaintext;
password “text”;
interface “eth*”{ mode broadcast; };
}
Translation d’adresses
●
Deux types de translation d’adresses:
–Source → utilisée pour accéder à Internet sans disposer
d’adresse publique
–Destination
Translation d’adresses
• La traduction d'adresse est gérée avec les chaînes PREROUTING,
POSTROUTING et OUTPUT.
• Dans la chaîne POSTROUTING, (après routage) on ne peut modifier
que l'adresse source. L'adresse de destination est conservée. On fait
donc du SNAT. On dit qu'on fait du "NAT source".
• Dans la chaîne PREROUTING (avant routage), on ne peut modifier que
l'adresse de destination. L'adresse source est conservée. On fait donc
du DNAT. On dit qu'on fait du "NAT destination".
Translation d’adresse source
●
La traduction d’adresse source est utilisée le plus
fréquemment lorsqu’on ne dispose pas d’une adresse IP
publique pour chacun
●
La machine disposant d’une adresse publique sera
transformée en passerelle possédant deux interfaces
réseau :
–l’une d’adresse réseau privée reliée au réseau local
–l’autre d’adresse réseau publique, reliée à Internet.
●
La passerelle jouera le rôle de serveur SNAT, traduisant
toutes les adresses privé vers l’adresse publique
●
l’IP publique sera partagée.
Translation d’adresse source
• Le SNAT consiste à substituer une adresse source dans
un paquet sortant à son adresse source d'origine.
• On substitue ici, aux requêtes provenant du réseau
192.168.0.0/24, une des 10 adresses publiques.
Translation d’adresse source
●
Pour changer l’adresse source en 1.2.3.4 :
–iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to 1.2.3.4
●
Pour changer l’adresse source en 1.2.3.4, 1.2.3.5 ou
1.2.3.6
–iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to 1.2.3.4-1.2.3.6
●
Pour changer l’adresse source en 1.2.3.4, port 1-1023 :
–iptables -t nat -A POSTROUTING -p tcp -o eth0 -j SNAT --to 1.2.3.4 :
1-1023
Translation d’adresse
destination
●
La traduction d’adresse de destination est utile lorsque,
on veut qu’un serveur visible de l’extérieur une adresse
publique alors qu’il est physiquement sur une machine
du réseau local qui n’est pas la passerelle.
●
Exemple → Exécuter un serveur web et smtp sur deux
serveurs locaux alors qu’on ne dispose que d’une seule
adresse publique.
Translation d’adresse
destination
• On substitue à l'adresse de destination des paquets
provenant du réseau public, une adresse du réseau local
privé.
• Dans l'exemple, les paquets à destination de la machine
195.x sont redirigés vers la machine 172.y. On ne tient
pas compte du port.
Translation d’adresse
destination
●
Exemple :
●
$ iptables -t nat -A PREROUTING -p tcp --dport 80 -i
eth0 -j DNAT --to 192.168.1.1
●
$ iptables -t nat -A PREROUTING -p tcp --dport 25 -i
eth0 -j DNAT --to 192.168.1.2
MASQUARADING
(Camouflage)
●
Cas particulier de translation d’adresse source
●
Dans ce cas, les adresses privées, utilisent toutes la
même adresse publique.
●
Ou bien :
–$ iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
Partager internet sur votre machine linux