Grace à @MattProd j'ai pu bien avancer et résoudre une grande partie de mes problèmes. Je vous fais un recap ici, histoire de garder une trace pour que ça intéresse.
Mon cas est un peu particulier, je ne pouvais pas fixer une IP du subnet /29 pris avec Hetzner sur la patte WAN du pfsense et y affecter comme GW l'ip du proxmox, même en rajoutant /1 sur le masque, je serai très loins du compte. IP Proxmox 195.x.x.x et le subnet est en 88.x.x.x
Voici mon /etc/network/interfaces
afin de pouvoir suivre
auto lo
iface lo inet loopback
iface lo inet6 loopback
auto eno1
iface eno1 inet static
address 195.201.xx/26
gateway 195.201.xx
up route add -net 195.201.xx netmask 255.255.255.192 gw 195.201.xx dev eno1
# route 195.201.xx/26 via 195.201.xx
iface eno1 inet6 static
address 2a01:4f8:xx::2
netmask 128
gateway fe80::1
auto vmbr0
iface vmbr0 inet static
address 195.201.xx
netmask 255.255.255.255
bridge-ports none
bridge-stp off
bridge-fd 0
bridge_maxwait 0
pre-up brctl addbr vmbr0
up route add 88.198.xx/32 dev vmbr0
up route add 88.198.xx/32 dev vmbr0
up route add 88.198.xx/32 dev vmbr0
up route add 88.198.xx/32 dev vmbr0
up route add 88.198.xx/32 dev vmbr0
up route add 88.198.xx/32 dev vmbr0
up route add 88.198.xx/32 dev vmbr0
up route add 88.198.xx/32 dev vmbr0
#WAN pfSense
iface vmbr0 inet6 static
address 2a01:4f8:xx::2/64
auto vmbr1
iface vmbr1 inet static
address 10.0.0.1/24
bridge-ports none
bridge-stp off
bridge-fd 0
post-up iptables -t nat -A POSTROUTING -s '10.0.0.1/24' -o eno1 -j MASQUERADE
post-down iptables -t nat -A POSTROUTING -s '10.0.0.1/24' -o eno1 -j MASQUERADE
#LAN pfSense
vmbr0: bridge vers mon IP principale et il porte avec lui toutes les IP de mon subnet, c'est ce dernier que je vais coller sur l'interface WAN du pfsense
vmbr1: bridge pour un LAN privée, avec la plage 10.0.0.1/24, il sera branché sur la patte LAN du pfsense, toutes mes VM vont venir se brancher la dessus, je peux avoir deux scénarios:
- Une VM qui reste dans le réseau privée, elle a aussi accès a internet mais personne ne peut venir du net vers elle, un peu comme ton pc chez toi, d'où la présence de la règle post-up dans la config du bridge
- Une VM qui reste aussi dans le réseau privée, mais que je veux aussi exposer en entier, avec un NAT 1:1 et une IP de mon subnet, la je bypass le firewall de pfsense, mais je peux avoir ma machine sur le net, je dois gérer la sécu dans la vm avec UFW par exemple
Phase 1: Comment brancher le WAN sur pfSense?
Une fois que votre interface ressemble un peu a ce qu'il y a en haut, on installe pfsense, on lui affecte les deux bridge et on ouvre la console, dans le menu, on fait le choix 2 pour assigner une IP uniquement sur le carte LAN, pour mon cas, j'ai pris l'ip 10.0.0.254, pas de GW et un masque /24, on touche plus à rien et on continue sur le GUI de pfsense, mais comment y accéder? deux choix:
- Créer une VM desktop (un live ubuntu par exp) lui affecter le vmbr1, configurer le network sur une ip dans 10.0.0.1/24, ouvrir un navigateur et taper l'ip du GUI pfsense (pour rappel, la 10.0.0.254 dans mon cas)
- Créer un tunnel proxy socks sur ta machine
ssh -i KEY user@ip_proxmox -L 443:10.0.0.254:443
puis tu vas sur ton navigateur local et tu y accède avec https://localhost:443
Une fois dans la VM, skip le wizard de config, puis on doit config le WAN:
- Interfaces > WAN, la on rajoute une IPv4 de notre subnet, dans mon cas 88.x.x.x on rajoute un /32 et on ne met pas de GW
- Systeme > routing > Add > interface WAN, nom GW1, Gateway: on pose l'ip du proxmox on save et on sors
- De retour sur la config interfaces > WAN, on affecte la GW1 a la patte WAN
- Puis on active une rules FW pour autoriser le traffic
Firewall > rules > add
Action : Pass
Interface : WAN
Address Family : IPv4
Protocol : TCP
Source : Any
Destination : WAN address
Destination Port Range : any
Save
Bingo, depuis notre machine, on peut taper sur pfsense en utilisant l'ip du Subnet
C'est dangereux de laisser le pfsense ainsi, a minima changer le pass admin et rajouter dans la règle une source ip safe, comme votre ip de maison par exemple
Phase 2: Configurer le LAN
pfSense est OK, on attaque la next step, activer le DHCP dans services > dhcp server > enable, on verra qu'on a deja le network 10.0.0.0/24, on attribue un range d'ip utilisable et c'est bon
Maintenant toutes VM déployé aura automatiquement son IP et un accès internet pour un apt update fonctionnel.
L'étape suivante est pour ceux qui veulent attribuer une IP du subnet a une VM derrière le LAN
Firewall > Virtual IPS > Add
Type : Proxy ARP
Interface : WAN
Address Type : Single
Address : 88.198.xx.2 / 32 ( par exemple)
Description : VM1
Save
Ensuite Firewall > NAT > 1:1 > Add
Interface : WAN
External subnet IP : 88.198.xx.2
Internal IP : Single Host / adresse ip interne par exemple 10.0.0.10
Destination : Any
Description : VM1
Save
Ensuite Firewall > Rules > WAN > Add
( On va dire qu'on veut ouvrir le port 80 pour un service web )
Action : Pass
Interface : WAN
Address Family : IPv4
Protocol : TCP
Source : Any
Destination : Single Host or Alias / 10.0.0.10 (exemple repris du haut)
Destination Port Range : http 80 to http 80
Description : VM1-Http
Save
et voilà, depuis une machine locale, on peut taper sur l'ip du subnet pour voir le serveur web dans la VM derrière pfSense
Normalement tout est ok de mon coté, si vous voyez un problème de sécu que je n'arrive pas à voir, n'hésitez pas à me le remonter, pour moi toute machine derrière le LAN est safe maintenant, vu que pfsense bloque tout par defaut.
Merci encore à @MattProd pour son aide ^^