diff --git a/cm3-archi.md b/cm3-archi.md index e802381..f8bd9b5 100644 --- a/cm3-archi.md +++ b/cm3-archi.md @@ -182,3 +182,44 @@ Pare-feu (_Firewall_) * Filtre uniquement entre des (V)LAN, lorsque le routage IP doit être fait * Exemple de règle * Ex [iptables](https://fr.wikipedia.org/wiki/Iptables)/[nftables](https://fr.wikipedia.org/wiki/Nftables) + + +NAT +--- + +* Des adresses IP privées/non routables sur Internet, des adresses IP publiques/routables sur Internet (RFC 1918). Plages privées : + * 10/8, 172.16/12, 192.168/16 + * fd00::/8 +* Router = Rediriger sur la bonne patte réseau sans modifier les sources/destinations +* Si une patte est sur une plage privée, la réponse sera non routable. NAT ! + +Le NAT/PAT (Network/Port Address Translation) s'occupe de modifier les ports/adresses à la volée au niveau du routeur : +* D'un côté des adresses privées, de l'autre des adresses publiques +* Communication initiée de public vers privé, impasse : le routeur ne peut pas savoir à qui c'est destiné +* Communication initiée de privé vers public, translation d'adresse : + * Paquet interne : IPsrc, PORTsrc, IPdst, PORTdst (avec IPsrc privée, IPdst publique) + * Au NAT : + * Substitution de IPsrc par IProuter : la réponse reviendra vers le routeur + * (Substitution du PORTsrc pour un libre) + * Enregistrement des paramètres de la communication sur le routeur NAT + * Paquet externe : IProuter, PORTrouter, IPdst, PORTdst (avec IProuter publique) + * La destination répond vers IProuter + * Le routeur avait enregistré les paramètres à l'aller et sait re-substituer au retour + +Intérêts du NAT : +* Utiliser moins d'adresses IP publiques (rares et chères en IPv4) +* Masquer l'architecture interne +* Firewall par effet de bord (puisqu'entrée impossible) + +Proxy +----- + +Proxy "classique", un relais applicatif vers l'extérieur : +* Ajout d'un point de passage +* Exemple HTTP : au lieu de se connecter au site distant, on se connecte au proxy qui fait la requête pour nous +* Intérêts : mise en cache, journalisation/surveillance + +Reverse proxy, un relais applicatif pour répartir la charge sur plusieurs serveurs : +* Ajout d'un point de passage vers l'infra interne +* Plusieurs serveurs applicatifs +* Le proxy reçoit les connexions et les répartit vers les serveurs applicatifs