3 – Utilisation de Pfsense pour faire office de firewall et de reverse proxy Partie 1

On attaque le gros du morceau, celui qui m’a donné le plus de mal. En premier lieu, je vous conseille de ne pas installer la dernière version de Pfsense. Ça peut paraitre étrange, mais j’expliquerais plus tard pourquoi.

Les anciennes versions sont disponibles ici :

https://atxfiles.pfsense.org/mirror/downloads/old/

Personnellement, j’ai choisi de prendre https://atxfiles.pfsense.org/mirror/downloads/old/pfSense-LiveCD-2.1.5-RELEASE-amd64.iso.gz

 

Téléchargement de l’iso :

On va ici voir une première façon de mettre une iso sur le proxmox nous verrons les autres possibilités dans d’autres tutos :

  1. On télécharge l’iso sur notre pc en local
  2. On la décompresse
  3. On va sur notre panel proxmox : https://ip.du.serveur:8006
  4. Dans “local “/ “content” on choisit « upload »  puis « iso » et on envoie l’iso décompressée

Création de la VM :

  1. On clique sur : créer VM
  2. Dans l’onglet général on indique un nom
    1.  
  3. Dans l’onglet  OS on choisit « autre type d’OS (pfsense est basé sur freebsd)
  4. Dans l’onglet CD/DVD on sélectionne l’iso téléchargée
  5. Dans l’onglet disque dur on choisit la taille (pas besoin de beaucoup de place)
  6. Dans CPU on indique le nombre de sockets/cœurs : 1 seul suffit
  7. Dans l’onglet mémoire j’ai pris pour habitude d’allouer automatiquement la taille dans une plage allant jusqu’à 4096MB
  8. Dans l’onglet réseau on sélectionne vmbr1
  9. Et on confirme.
  10. Une fois la vm créée, on clique sur son nom et on se rend sur « matériel »
  11. Et on ajoute la carte réseau vmbr2

Nb sur les ressources : je teste pas mal de choses sur mes différentes VM (une 10ène). Les maximums d’utilisation (quand toutes mes VM et tous les services sont lancés) sur la VM pfsense sont de 30% sur le core et 90% sur la RAM.

Explications sur les cartes réseau :

La première (vmbr1) sera celle qui se connectera à internet par l’intermédiaire de notre proxmox

La seconde (vmbr2) sera celle qui se connectera à notre réseau local.

Exemple :

Un visiteur souhaite se rendre sur http://domaine.com, un autre sur http://1.domaine.com et un autre sur http://2.domaine.com

Les dns faisant leur boulot, sa demande arrive sur le proxmox. Il envoie la demande sur la VM Pfsense qui la distribuera sur la VM qui gère domaine.com ou 1.domaine.com ou 2.domaine.com

1er démarage de la VM Pfsense

1ère page : Do you want to set up VLANs now : n

 

Enter the wan interface name or ‘a’ for auto-detection : em0 (n’oubliez pas, vous êtes en qwerty donc il faut taper : e,à)

 

Enter the LAN interace name or ‘a’ for auto-detection : em1 (e,& en qwerty)

 

Enter the optional 1 interface name or ‘a’ for auto-detection (or nothing if finished) : nous n’avons pas d’interface supplémentaire donc on tape sur entrée

 

Do you want to proceed : y

 

A l’apparition du menu (c’est un peu long), nous allons configurer les adresses ip de nos cartes réseau : choix 2

 

A partir de la, je ne peux plus faire de screens. Ayant déjà un pfsense configuré, lorsque je continue avec ma vm “tutopfsense” j’ai un conflit d’ip. J’essayerais d’y remédier plus tard mais vous devez pouvoir faire sans (les écrans sont toujours les mêmes).

On commence par l’interface WAN : choix 1

Configure IPv4 adresse WAN interface via DHCP : n

Enter the new WAN IPv4 adresse : 192.168.0.20 (même classe d’adresse que le vmbr1 créé sur le nœud) en qwerty le . se situe à la place du :

Enter the new WAN IPv4 subnet bit count : 24

For a wan, enter the new WAN IPv4 upstream gateway adress : 192.168.0.1 (l’adresse créée sur le vmbr1 du nœud)

Configure IPv6 : n puis enter

Do you want to revert http as the webConfigurator protocol : n puis enter

On passe à l’interface LAN : choix 2 puis choix 2

Enter the new LAN IPv4 adresse : 192.168.1.1 (ou autre classe d’adresse différente du vmbr1)

Enter the new LAN IPv4 subnet bit count : 24

For a wan … : Enter

IPv6 : enter

Enable dhcp : au choix

Si vous l’activez : Enter the start adresse of the IPv4 client address rand : 192.168.1.2 et 192.168.1.240 (par exemple) pour le end address

Do you want to revert http as the webConfigurator protocol : n puis enter

Notre Pfsense est désormais installé et prêt à l’emploi, il ne reste plus qu’à infiquer à IPTABLES ce qu’il doit envoyer dessus.

Scripts IPTABLE :

On se connecte en SSH à notre proxmox et on créé le script “firewall.sh” (n’importe ou du moment que vous le retrouvez)

nano firewall.sh

Comme toujours, on donne les droits d’exécution au script et on le lance :

 

Dans ce script, on a indiqué à notre proxmox que tous les ports indiqués seront envoyés sur notre pfsense. Ce sont des exemples qui serviront si vous suivez les tutos suivants. A adapter selon vos besoins.

Personnellement j’ai ajouté 2 script (par pure fainéantise) :

Le premier supprime toutes les règles iptables :

nano sup.sh

On le rends exécutable :

Le second liste toutes les règles iptables :

nano verif.sh

On le rends exécutable :

Pour lancer les scripts il suffit de taper :

 

Fin de cette première partie. Nous verrons dans une seconde partie l’administration sous pfsense afin de router les ports vers les bonnes VM (NAT) en fonction du nom de domaine (reverse proxy).

 

Les sources seront citées en fin de la seconde partie.

Pour marque-pages : Permaliens.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *