Outils pour utilisateurs

Outils du site


fr:infra:documentation_infra_pfsense

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
fr:infra:documentation_infra_pfsense [2021/04/25 18:25] – [Divers et maintenance] celofr:infra:documentation_infra_pfsense [2022/07/22 13:15] (Version actuelle) – modification externe 127.0.0.1
Ligne 168: Ligne 168:
 NB : Entre l'installation de pfsense et le moment où on a configuré le NAT pour le réseau patata, le réseau a un peu changé. On a ajouté le réseau routing qui contient les edge, les pfsense, et la vm vpn. Voir : https://wiki.neutrinet.be/fr/infra/network/vlan NB : Entre l'installation de pfsense et le moment où on a configuré le NAT pour le réseau patata, le réseau a un peu changé. On a ajouté le réseau routing qui contient les edge, les pfsense, et la vm vpn. Voir : https://wiki.neutrinet.be/fr/infra/network/vlan
  
-interco = CPT3 ou routing ?? je suis plus sûre ??+Voir aussi ce shéma du réseau : 
 + 
 +{{ :fr:infra:schema-reseau-nat-vlan-patatae.jpg?600 |}} 
 + 
 +interco = OPT3 ou routing ?? je suis plus sûre ??
  
 Le NAT est le procédé par lequel on peut convertir une IP privée en une IP publique pour accéder à internet. La machine envoie des paquets à Pfsense à destination de l'internet avec son IP privée. Pfsense attribue un port à la machine et transmet le paquet plus loin en lui attribuant son IP publique. Quand un paquet lui revient à destination de ce port, il sait qu'il doit l'envoyer à la machine. Le NAT est le procédé par lequel on peut convertir une IP privée en une IP publique pour accéder à internet. La machine envoie des paquets à Pfsense à destination de l'internet avec son IP privée. Pfsense attribue un port à la machine et transmet le paquet plus loin en lui attribuant son IP publique. Quand un paquet lui revient à destination de ce port, il sait qu'il doit l'envoyer à la machine.
  
-Le réseau patata sera le réseau sur lequel seront les différentes VM qui seront crées dans le cadre de la refonte de l'infra. Ces VM disposeront d'IPv4 privées pour éviter d'utiliser des IPv4 publiques de Neutrinet comme c'est le cas actuellement (et donc économiser des IPv4). Pour pouvoir accéder à internet, ces machines donc devront être nattées derrière une IP publique de Neutrinet. Pour l'IPv6, comme n'importe quel adresse peut être routée, ce mécanisme n'existe pas. Néanmoins, on va utiliser des règles de Foward pour éviter que nos machines ne soient joignables directement sur internet.+Le réseau patata sera le réseau sur lequel seront les différentes VM qui seront créées dans le cadre de la refonte de l'infra. Ces VM disposeront d'IPv4 privées pour éviter d'utiliser des IPv4 publiques de Neutrinet — comme c'est le cas actuellement —, et donc économiser des IPv4. Pour pouvoir accéder à internet, ces machines devront donc être nattées derrière une IP publique de Neutrinet. Pour l'IPv6, comme n'importe quelle adresse peut être routée, ce mécanisme n'existe pas. Néanmoins, on va utiliser des règles de Forward pour éviter que nos machines ne soient joignables directement sur internet.
  
 Préalablement, pour mettre en place le réseau patata, on a configuré des règles Firewall : Préalablement, pour mettre en place le réseau patata, on a configuré des règles Firewall :
  
-* Des règles IPv4 et IPv6)vers les IP de l'interface de pfsense et l'IP flottante (CARP) qui permettront aux machines de patata d'accéder à Pfsense pour bénéficier d'un résolveur DNS (protocole TCP/UDP) et de faire un ping de la Gateway (protocole ICMP) +* Des règles IPv4 et IPv6 vers les IP de l'interface de pfsense et l'IP flottante (CARP) qui permettront aux machines de patata d'accéder à Pfsense pour bénéficier d'un résolveur DNS (protocole TCP/UDP) et de faire un ping de la Gateway (protocole ICMP) 
-* Des règles OUT en Ipv4 et IPv6 pour sortir vers l'internet (tout l'internet sauf les bogons, exprimé !bogon_v4 et !bogon_v6)+ 
 +{{ :fr:infra:patata-gateway-ping-dns.jpeg?600 |}} 
 + 
 +* Des règles OUT en Ipv4 et IPv6 pour sortir vers l'internet (tout l'internet sauf les bogons, exprimés par `!bogon_v4et `!bogon_v6`) 
 + 
 +{{ :fr:infra:patata.png?600 |}}
  
 Avec ces règles, les paquets sont autorisés à sortir sur internet, mais sans autre manipulation, seule la partie IPv6 fonctionnera. Pour la partie IPv4, le NAT intervient. Avec ces règles, les paquets sont autorisés à sortir sur internet, mais sans autre manipulation, seule la partie IPv6 fonctionnera. Pour la partie IPv4, le NAT intervient.
Ligne 183: Ligne 192:
 Il y a plusieurs manières de faire du NAT.  Il y a plusieurs manières de faire du NAT. 
  
-* Le Port fowarding permet de dire que l'IP des Pfsense va correspondre au port d'une VM et lui fowarder les paquets. Typiquement, le port 80 sera redirigé vers le proxy http ou le port 25 sur le serveur mail.+* Le Port forwarding permet de dire que l'IP des Pfsense va correspondre au port d'une VM et lui forwarder les paquets. Typiquement, le port 80 sera redirigé vers le proxy http ou le port 25 sur le serveur mail.
 * Le 1 à 1 fait correspondre l'IP a une machine (tous ports confondus). C'est alors à la machine de jouer le rôle du Firewall. * Le 1 à 1 fait correspondre l'IP a une machine (tous ports confondus). C'est alors à la machine de jouer le rôle du Firewall.
 * Le Outbound NAT permet aux machines disposant d'adresses privées d'un réseau du Pfsense de sortir en utilisant son adresse IP publique. * Le Outbound NAT permet aux machines disposant d'adresses privées d'un réseau du Pfsense de sortir en utilisant son adresse IP publique.
Ligne 189: Ligne 198:
 ### Outbound NAT ### Outbound NAT
  
-Dans le cas de notre réseau patata, pour faire du Outbound NAT, on choisit l'interface "Routingcar c'est celle-ci qui va permettre de sortir. Dans le cas de l'architecture de Neutrinet, il y a une subtilité car les IP publique sont dans le Vlan Neutrinet et non dans le Vlan Routing. En ajoutant la règle NAT, il faut donc modifier dans la rubrique "Translation" le champ "Interface Adress" pour spécifier l'IP publique du Pfsense au lieu de l'adresse de l'interface qui est une adresse privée. Pour cela, on choisit "Autre"+Dans le cas de notre réseau patata, pour faire du Outbound NAT, on choisit l'interface `Routingcar c'est celle-ci qui va permettre de sortir. Dans le cas de l'architecture de Neutrinet, il y a une subtilité car les IP publiques sont dans le Vlan Neutrinet et non dans le Vlan Routing. En ajoutant la règle NAT, il faut donc modifier dans la rubrique "Translation" le champ "Interface Address" pour spécifier l'IP publique du Pfsense au lieu de l'adresse de l'interface qui est une adresse privée. Pour cela, on choisit  Autre. 
  
 + On a aussi mis une règle NAT pour que le Pfsense puisse lui-même se connecter à internet (adresse source 127.0.0.0/8). ?? pas bien compris si c'était pour la démo où si c'était vraiment à faire pour le réseau patata ?? + On a aussi mis une règle NAT pour que le Pfsense puisse lui-même se connecter à internet (adresse source 127.0.0.0/8). ?? pas bien compris si c'était pour la démo où si c'était vraiment à faire pour le réseau patata ??
  
-### Port Fowarding+### Port Forwarding
  
-Notre réseau patata contiendra les machines virtuelles de différents services de Neutrinet (site web, wiki, pad...). Pour que ceux-ci soit accessible, il faut que les requêtes qui arrivent de l'internet parviennent aux machines qui sont sur le réseau privé. Les machines ne sont pas encore installée mais on a fait un exemple avec une machine de test.+Notre réseau patata contiendra les machines virtuelles de différents services de Neutrinet (site web, wiki, pad...). Pour que ceux-ci soient accessibles, il faut que les requêtes qui arrivent de l'internet parviennent aux machines qui sont sur le réseau privé. Les machines ne sont pas encore installées mais on a fait un exemple avec une machine de test.
  
-Le port fowarding se fait sur l'interface de Routing, avec comme source toutes les adresses qui ne sont pas des bogons, vers un "single host" (on donne l'IP de notre machine de test). La redirection se fait entre l'adresse CARP sur son port 80 et le port 80 de notre machine de test. De cette manière, on autorise les paquets provenant de l'internet à accéder à la machine de test par http (vérification avec une installation de nginx). +Le port fowarding se fait sur l'interface de `Routing`, avec comme source toutes les adresses qui ne sont pas des bogons, vers un "single host" (on donne l'IP de notre machine de test). La redirection se fait entre l'adresse CARP sur son port 80 et le port 80 de notre machine de test. De cette manière, on autorise les paquets provenant de l'internet à accéder à la machine de test par http (vérification avec une installation de nginx). 
  
 Pour chaque règle NAT ajoutée dans Pfsense, une règle Firewall correspondante est automatiquement ajoutée pour laisser passer les paquets. Pour chaque règle NAT ajoutée dans Pfsense, une règle Firewall correspondante est automatiquement ajoutée pour laisser passer les paquets.
Ligne 205: Ligne 214:
 Pour l'IPv6, une redirection de port n'est pas nécessaire mais pour protéger nos machines et qu'elles ne soient pas directement joignables depuis l'internet, il est nécessaire d'ajouter des règles Firewall pour bloquer les requêtes qui leur sont destinées. Pour l'IPv6, une redirection de port n'est pas nécessaire mais pour protéger nos machines et qu'elles ne soient pas directement joignables depuis l'internet, il est nécessaire d'ajouter des règles Firewall pour bloquer les requêtes qui leur sont destinées.
  
-Par exemple, sans règle supplémentaire, on peut constater que la machine web du réseau Neutrinet parvient à pinguer la machine test qu'on a créé dans patata. Or, le réseau de Neutrinet, c'est déjà de l'internet puisque ce sont les IP publiques de Neutrinet. +Par exemple, sans règle supplémentaire, on peut constater que la machine web du réseau `Neutrinetparvient à pinguer la machine test qu'on a créé dans patata. Or, le réseau `Neutrinet`, c'est déjà de l'internet puisque ce sont les IP publiques de Neutrinet. 
  
-Pour éviter cela, on doit placer une règle sur l'interface Neutrinet qui bloque les paquets en direction de Patata avant de laisser sortir tous les paquets vers l'internet sauf les bogons. Pour chaque réseau qu'on gère, on doit faire cette opération. On fait donc la même chose dans management et routing.+Pour éviter cela, on doit placer une règle sur l'interface `Neutrinetqui bloque les paquets en direction de Patata avant de laisser sortir tous les paquets vers l'internet sauf les bogons. Pour chaque réseau qu'on gère, on doit faire cette opération. On fait donc la même chose pour `Management` et `Routing`.
  
 Une autre manière de faire est d'ajouter les adresses des réseaux qu'on gère aux bogons, mais c'est moins visuel dans Pfsense, on préfère donc la première méthode. Une autre manière de faire est d'ajouter les adresses des réseaux qu'on gère aux bogons, mais c'est moins visuel dans Pfsense, on préfère donc la première méthode.
Ligne 215: Ligne 224:
 ### Ajouter un hôte dans le DNS resolver ### Ajouter un hôte dans le DNS resolver
  
-Pour chaque VM installée dans Proxmox, on va créer une entrée dans les services du DNS Resolver et donner à cet endroit l'IP et le nom d'hôte de la machine (Services > DNS resolver > General Setting > Add host). Cela permet qu'à l'installation la machine reçoive automatiquement son nom d'hôte lorsqu'on installe Debian (par une requête reverse IP). Cela permet de vérifier qu'on ne s'est pas trompé et que pfsense connaisse la machine sous son nom d'hôte. C'est un nom d'hôte qui n'est connu que de Pfsense, pas de l'internet.+Pour chaque VM installée dans Proxmox, on va créer une entrée dans les services du DNS Resolver et donner à cet endroit l'IP et le nom d'hôte de la machine (Services > DNS resolver > General Setting > Add host). Cela permet qu'à l'installation la machine reçoive automatiquement son nom d'hôte lorsqu'on installe Debian (par une requête reverse IP). Cela permet de vérifier qu'on ne s'est pas trompé et que Pfsense connaisse la machine sous son nom d'hôte. C'est un nom d'hôte qui n'est connu que de Pfsense, pas de l'internet.
  
 On a choisit une convention pour les noms d'hôtes des machines :  machine.cluster.dc.neutri.net.  On a choisit une convention pour les noms d'hôtes des machines :  machine.cluster.dc.neutri.net. 
- +
 ### Mises à jour et réinstallation avec l'option recover config.xml ### Mises à jour et réinstallation avec l'option recover config.xml
    
Ligne 252: Ligne 261:
  
 Le changement se fait dans les paramètres de la VM dans "Display" et dans l'interface web de pfSense : en cochant "enable serial terminal" et en cochant "disable hardware cheksum ofload" et les autres options hardware dans la rubrique hardware (sinon les performances réseau sont réduites). Le changement se fait dans les paramètres de la VM dans "Display" et dans l'interface web de pfSense : en cochant "enable serial terminal" et en cochant "disable hardware cheksum ofload" et les autres options hardware dans la rubrique hardware (sinon les performances réseau sont réduites).
- + 
 + 
 + 
 +### Troubleshooting divers 
 + 
 +Pas d'accès à internet après avoir configuré un nouveau réseau dans Pfsense, et pas de réponse ping ?  
 + 
 +* Vérifier que le réseau est bien annoncé par Pfsense aux machines Edge au niveau du BGP. Si ça n'est pas le cas, le paquet part bien vers internet mais quand il revient, les machines edge ne savent pas où l'envoyer. 
 + 
 +Ca ne marche pas et on ne comprend vraiment pas pourquoi ? 
 + 
 +* Pfsense ne se met pas toujours complètement à jour immédiatement et il faut parfois recharger les filtres manuellement par un filter reload.
fr/infra/documentation_infra_pfsense.1619367959.txt.gz · Dernière modification : 2021/04/25 18:25 de celo