bytes.cat

La wiki d'FP d'informàtica

Eines de l'usuari

Eines del lloc


Barra lateral

ASIX Administració de Sistemes Informàtics i Xarxes
Tots els mòduls del cicle
MP01 Implantació de sistemes operatius
Totes les UFs del modul
MP02 Gestió de bases de dades
Totes les UFs del modul
MP03 Programació bàsica
Totes les UFs del modul
MP04 Llenguatges de marques i sistemes de gestió d'informació
Totes les UFs del modul
MP05 Fonaments de maquinari
Totes les UFs del modul
MP06 Administració de sistemes operatius
Totes les UFs del modul
MP07 Planificació i administració de xarxes
Totes les UFs del modul
MP08 Serveis de xarxa i Internet
Totes les UFs del modul
MP09 Implantació d'aplicacions web
Totes les UFs del modul
MP10 Administració de sistemes gestors de bases de dades
Totes les UFs del modul
MP11 Seguretat i alta disponibilitat
Totes les UFs del modul
MP12 Formació i orientació laboral
Totes les UFs del modul
MP13 Empresa i iniciativa emprenedora
Totes les UFs del modul
MP14 Projecte
Totes les UFs del modul
DAM Desenvolupament d’aplicacions multiplataforma
Tots els mòduls del cicle
MP01 Sistemes informàtics
Totes les UFs del modul
MP02 Bases de dades
Totes les UFs del modul
MP03 Programació bàsica
Totes les UFs del modul
MP04 Llenguatges de marques i sistemes de gestió d'informació
Totes les UFs del modul
MP05 Entorns de desenvolupament
Totes les UFs del modul
MP06 Accés a dades
Totes les UFs del modul
MP07 Desenvolupament d’interfícies
Totes les UFs del modul
MP08 Programació multimèdia i dispositius mòbils
Totes les UFs del modul
MP09 Programació de serveis i processos
Totes les UFs del modul
MP10 Sistemes de gestió empresarial
Totes les UFs del modul
MP11 Formació i orientació laboral
Totes les UFs del modul
MP12 Empresa i iniciativa emprenedora
Totes les UFs del modul
MP13 Projecte de síntesi
Totes les UFs del modul
MPDual Mòdul Dual / Projecte
DAW Desenvolupament d’aplicacions web
Tots els mòduls del cicle
MP01 Sistemes informàtics
Totes les UFs del modul
MP02 Bases de dades
Totes les UFs del modul
MP03 Programació
Totes les UFs del modul
MP04 Llenguatge de marques i sistemes de gestió d’informació
Totes les UFs del modul
MP05 Entorns de desenvolupament
Totes les UFs del modul
MP06 Desenvolupament web en entorn client
Totes les UFs del modul
MP07 Desenvolupament web en entorn servidor
Totes les UFs del modul
MP08 Desplegament d'aplicacions web
Totes les UFs del modul
MP09 Disseny d'interfícies web
Totes les UFs del modul
MP10 Formació i Orientació Laboral
Totes les UFs del modul
MP11 Empresa i iniciativa emprenedora
Totes les UFs del modul
MP12 Projecte de síntesi
Totes les UFs del modul
SMX Sistemes Microinformàtics i Xarxes
Tots els mòduls del cicle
MP01 Muntatge i manteniment d’equips
Totes les UFs del modul
MP02 Sistemes Operatius Monolloc
Totes les UFs del modul
MP03 Aplicacions ofimàtiques
Totes les UFs del modul
MP04 Sistemes operatius en xarxa
Totes les UFs del modul
MP05 Xarxes locals
Totes les UFs del modul
MP06 Seguretat informàtica
Totes les UFs del modul
MP07 Serveis de xarxa
Totes les UFs del modul
MP08 Aplicacions Web
Totes les UFs del modul
MP09 Formació i Orientació Laboral
Totes les UFs del modul
MP10 Empresa i iniciativa emprenedora
Totes les UFs del modul
MP11 Anglès
Totes les UFs del modul
MP12 Síntesi
Totes les UFs del modul
CETI Ciberseguretat en Entorns de les Tecnologies de la Informació
Tots els mòduls del cicle
CiberOT Ciberseguretat en Entorns d'Operació
Tots els mòduls del cicle
pfsense_vagrant

Aquesta és una revisió antiga del document


pfSense amb Vagrant

Propòsit de la pràctica: conèixer el software pfSense i la configuració bàsica per a gestió d'una xarxa petita amb clients i servidors, amb gestió dels serveis amb HAProxy (que ve embarcat com a plugin a pfSense).

pfsense.jpeg

Per a la pràctica necessitem Vagrant instal·lat amb el provider libvirt/KVM com s'explica a Vagrant Ubuntu libvirt. A les plantilles d'IsardVDI ho tindreu disponible.


Introducció

pfSense és un software de gestió de routing i firewall, basat en FreeBSD (el kernel de GNU, alternatiu a Linux). Té una gestió molt còmoda via web (webConfigurator). Acostuma a trobar-se embarcat en appliances i hardware de firewall, en particular les de Netgate.

A més de les funcions bàsiques de routing i firewall també pot gestionar VPN, QoS, NAT, load balancing, reverse proxy i, via, plugins, moltes altres funcions afegides.

Hi ha 2 versions de pfSense: la CE (Community Edition, actualment en la v2.9.x) i la pfSense+ (actualment la 26.x) que és la que es sol proporcionar embarcada en el hardware.

La principal funció serà aïllar les xarxes internes de la WAN (Wide Area Network) fent-nos de tallafocs. Els noms interns de les xarxes son: WAN, LAN, OPT1, OPT2, etc. (on «OPT» son LANs opcionals). Cadascuna es pot assignar a una interfície diferent del dispositiu i reanomenar-se, facilitant la seva gestió. La WAN és la que ens dona accés a internet, o sigui, la que connectariem a la fibra òptica del nostre proveïdor d’internet, i on hem de ser mes restrictius amb les regles del firewall.

La WAN hauria de tenir tots els ports tancats per defecte, i només obrir el 80 i 443 d’accés web quan tinguem els serveis ben configurats. En aquest cas, però, la WAN (vtnet0) coincideix amb la xarxa default de Vagrant, i necessita tenir el port 22 d’accés SSH obert, raó per la qual hem posat una regla predefinida al firewall i el servei SSH engegat perquè no doni errors poc amigables de gestionar.

HAProxy respon a les sigles «High Availability Proxy» i és un software molt emprat com a proxy invers. A la pràctica el farem servir en 2 llocs: (1) a l’escriptori Isard l’instal·larem per fer un port forwarding dels ports 80 i 443 i redirigir-los al pfSense; i (2) dins de pfSense l’importarem com un mòdul afegit a mode de plugin per gestionar l’accés als serveis HTTP i HTTPS que posarem al Server 1 i Server 2.


Vagrantfile

Partiu del següent Vagrantfile per a crear la VM pfSense.

Afegiu un servidor amb Apache2 a cada xarxa aïllada, amb IP: 192.168.xx.20 (on xx és 31, 32, 33, 34). Apache haurà de mostrar un missatge tipus «<h1>Servidor Y</h1>» on Y serà el número de xarxa (1, 2, 3 o 4).

Vagrantfile
# -*- mode: ruby -*-
# vi: set ft=ruby :
 
Vagrant.configure("2") do |config|
 
  # appliance pfsense
 
  config.vm.define :pfsense , primary:true do |pfsense|
    pfsense.vm.box = "emieza/pfsense"
    pfsense.vm.provider "libvirt" do |vm|
      vm.memory = "2048"
    end
    # credencials
    pfsense.ssh.insert_key = false
    pfsense.ssh.username = "admin"
    pfsense.ssh.password = "vagrant"
    pfsense.ssh.shell = "/bin/sh"
    # deshabilitem carpeta compartida per defecte, no ens cal i no funciona
    pfsense.vm.synced_folder ".", "/vagrant", disabled: true
    # creem interfícies però sense auto_config (no funciona)
    pfsense.vm.network "private_network", ip: "192.168.31.10", name: "net1", auto_config: false
    pfsense.vm.network "private_network", ip: "192.168.32.10", name: "net2", auto_config: false
    pfsense.vm.network "private_network", ip: "192.168.33.10", name: "net3", auto_config: false
    pfsense.vm.network "private_network", ip: "192.168.34.10", name: "net4", auto_config: false
  end
 
  # servers
  # crea aquí els servers Apache
 
end

Configurar pfSense

Comencem els ajustos bàsics de interfícies del pfSense:

  1. Accedirem a la consola de la VM pfsense per poder configurar-lo. Accedeix mitjançant l’aplicació de l’escriptori «virt-manager» → Doble click sobre la VM
  2. Mirem la IP que ha estat assignada a la WAN
  3. Ens demanarà l’assignació d’interfícies, anem assignant:
    1. WAN → vtnet0
    2. LAN → vtnet1
    3. OPT1 → vtnet2
    4. Després introduïm enter sense res mes per indicar que ja hem acabat de configurar.
  4. Ens apareixerà de nou el menú principal, amb les interfícies vtnet0, vtnet2 i vtnet2 amb una certa configuració.
  5. Ara configurarem les IPs de la LAN i OPT1. Segons el Vagrantfile (que no ha funcionat en l’assignació d’IPs) hauríem d’assignar (opció 2 del menú de la terminal):
    • LAN : static 192.168.31.10 /24
    • OPT1: static 192.168.32.10 /24
    • No revertim a HTTP. Mantindrem el webConfigurator en HTTPS (port 443) a https://192.168.31.10
    • NOTA 1: no activeu DHCP en cap d’aquestes interfícies. Tampoc hem d’assignar cap gateway ja que per ser el mes real possible aquesta funció només l’ha de fer la WAN. Tampoc configurarem cap IPv6.
    • NOTA 2: el més habitual seria que fossin adreces acabades en .1 ja que pfSense sol fer de DHCP intern i gateway. En el nostre cas no podem fer-ho ja que aquestes xarxes les ha configurat Vagrant com a xarxa interna i les adreces .1 estan ja assignades a l’escriptori Isard (que ja ens anirà bé per poder accedir a aquestes xarxes).
  6. Accedim a la interfície web a través de la LAN (interfície per defecte on el webConfigurator és accessible) amb el navegador de l’escriptori IsardVDI apuntant a l’adreça 192.168.31.10 i usuari admin/pfsense (son els defaults de fàbrica).
  7. Assegureu que les interfícies LAN i OPT tenen les IPs adequades. Si no estan OK, modifiqueu-les amb el webConfigurator o el terminal (opció 2). Testegeu que des del terminal del pfSense podeu fer ping a les VMs (Servidor 1 i Servidor 2) i que funciona l’accés a la web al port 80 (amb curl, per exemple).
  8. Canvieu el port del webConfigurator al 11111 per evitar conflictes amb els serveis web que configurarem seguidament.
    • System → Advanced
    • Port: 11111
    • WebGUI redirect : Disable webConfigurator redirect rule : ACTIVAT
  9. Habilitem la connexió SSH amb SSH-keys. S’ha de fer a la interfície web de pfSense, si ho féssim directament amb l’habitual ssh-copy-id (o escrivint sobre /root/.ssh/authorized_keys) s’esborraria al reiniciar la VM (és el comportament natural de pfSense):
    • Creem claus al host (escriptori Isard). Responem a tot amb <Enter>:
      $ ssh-keygen
    • Copiem la clau pública al pfSense (copiar contingut de l’arxiu ~/.ssh/id_rsa.pub
      System → User Manager → Users→ admin → Edit → Keys → Authorized SSH Keys
pfsense_vagrant.1794312313.txt.gz · Darrera modificació: 2026/11/10 12:05 per enric_mieza_sanchez