Usuaris nominals per tots els membres de l’equip

👥 Com Afegir Usuaris a WordPress

Aquesta pàgina explica com pots afegir i gestionar usuaris al teu lloc web de WordPress. Afegir usuaris és essencial per gestionar equips de treball, crear perfils personalitzats i assignar permisos específics a cada persona segons les seves necessitats.

🔹 1️⃣ Afegir un Nou Usuari des del Panell d’Administrador

Per afegir un usuari nou a WordPress cal accedir a l’administrador del teu lloc web i seguir aquests passos:

  1. Inicia sessió al tauler d’administració de WordPress (normalment a www.tudomini.com/wp-admin).

  2. A la barra lateral esquerra, fes clic a Usuaris > Afegir nou. 📋

  3. Completa els camps necessaris per al nou usuari:

    • Nom d’usuari: Específica un nom únic per a l’usuari. És el que utilitzaran per iniciar sessió.
    • Correu electrònic: Indica una adreça de correu electrònic vàlida.
    • Nom i Cognoms (opcional): Pots afegir aquesta informació per personalitzar més l’usuari.
    • Contrassenya: Assigna una contrasenya segura. WordPress et mostrarà la força de la contrasenya.
    • Rol: Aquesta és una de les opcions més importants! Pots assignar diferents permisos segons el rol que vulguis donar a l’usuari:
      • Administrador: Té control total sobre el lloc web.
      • Editor: Pot gestionar i publicar articles i pàgines.
      • Autor: Pot escriure i publicar els seus propis articles.
      • Col·laborador: Pot escriure articles, però no pot publicar-los.
      • Subscriptor: Té accés al seu perfil, però no pot modificar el contingut del lloc web.
  4. Fes clic a “Afegir nou usuari” un cop hagis completat tots els camps.

Recorda: Un cop creat l’usuari, rebrà un correu electrònic amb les seves dades d’inici de sessió i el rol assignat.

🔹 2️⃣ Modificar o Eliminar Usuaris

Si necessites modificar o eliminar un usuari, segueix aquests passos:

  1. A Usuaris > Tots els usuaris, trobaràs una llista de tots els usuaris registrats al teu lloc web.
  2. Fes clic sobre el nom de l’usuari que vols modificar.
  3. Des d’aquí, pots:
    • Canviar el correu electrònic, el rol o la contrasenya.
    • Eliminar l’usuari fent clic a “Eliminar” al final de la pàgina.

⚠️ Important: Si elimines un usuari, WordPress et preguntarà si vols eliminar també el contingut creat per aquell usuari (articles, comentaris, etc.). Pots optar per transferir-los a un altre autor o eliminar-los definitivament.

🔹 3️⃣ Afegir Usuaris Mitjançant un Plugin

Si tens molts usuaris per afegir i vols fer-ho de manera més eficient, pots utilitzar un plugin de WordPress com “User Role Editor” o “WP Multisite User Management” per afegir múltiples usuaris a la vegada.

📥 Passos:

  1. Ves a Plugins > Afegir nou.
  2. Cerca “User Role Editor” o el plugin que prefereixis.
  3. Instal·la i activa el plugin.
  4. Segueix les instruccions del plugin per afegir i gestionar usuaris de manera més senzilla.

🔹 4️⃣ Assignar Permisos Avançats als Usuaris

Per a una personalització més avançada, pots utilitzar plugins que permetin assignar permisos específics a cada usuari, com per exemple:

  • User Role Editor: Et permet crear rols personalitzats i assignar permisos específics a cada rol.
  • Members: Plugin que et permet gestionar els rols i permisos de manera molt detallada.

💡 Tip: Sempre assegura’t de no assignar més permisos dels necessaris. Un usuari amb massa privilegis pot fer canvis que podrien afectar el rendiment o la seguretat del lloc.

🔹 5️⃣ Controls de Privacitat i Seguretat

Com a administrador, és important gestionar la seguretat dels usuaris. Algunes recomanacions són:

  • Utilitzar contrasenyes segures: Assegura’t que tots els usuaris utilitzin contrasenyes fortes, amb combinacions de lletres, números i caràcters especials.
  • Instal·lar un plugin de seguretat: Utilitza plugins com Wordfence o Sucuri per protegir el teu lloc web.
  • Limitació de les teves sessions d’usuari: Configura un temps de sessió limitat perquè els usuaris hagin de tornar a iniciar sessió després d’un temps de inactivitat.

🛠 6️⃣ Consells Addicionals per a Administradors de WordPress

  • Revisar periòdicament els usuaris: Realitza revisions periòdiques per comprovar si els usuaris tenen permisos excessius o no necessaris.
  • Gestionar les subscripcions de comentaris i notificacions: Si utilitzes formularis de comentaris, assegura’t que els usuaris estiguin registrats de manera adequada per evitar bots i comentaris no desitjats.
  • Activa l’autenticació en dos passos: Per afegir una capa extra de seguretat a l’inici de sessió.

🔐 Seguretat primer! Recorda que una bona gestió d’usuaris és fonamental per garantir la seguretat del teu lloc web i la protecció de les dades dels usuaris.


🎉 Conclusió: Afegir i gestionar usuaris a WordPress és un procés senzill, però és essencial entendre com configurar els rols i permisos correctament per mantenir la seguretat del teu lloc web. Des de la creació de comptes fins a la gestió de permisos avançats, pots personalitzar la configuració per adaptar-la a les necessitats del teu lloc web.

📹 Video: Al final d’aquest post trobaràs un vídeo on et mostro com afegir usuaris a WordPress pas a pas, des de la creació fins a la configuració de permisos. 🎬

Privadesa i LOPD

📜 Política de Privadesa i Compliment amb la LOPD

Aquesta pàgina explica com complim amb la LOPD (Llei Orgànica 3/2018, de 5 de desembre, de protecció de dades personals i garantia dels drets digitals), així com els punts més importants que cal conèixer com a administrador de llocs web per garantir la seguretat i privadesa de les dades dels usuaris que accedeixen a aquest lloc.

🌐 Compliment de la Llei Orgànica de Protecció de Dades (LOPD)

En complir amb la LOPD, és fonamental entendre que es protegeix la privadesa i els drets digitals dels usuaris. El compliment de la normativa implica diverses responsabilitats i mesuraments que, com a administradors de llocs web, hem de tenir en compte.

A continuació, es detallen els punts més importants que un administrador de llocs web ha de conèixer per garantir el compliment de la LOPD.

📌 1. Tipus de dades recollides

Recollim dades personals dels usuaris quan aquests interactuen amb el nostre lloc web. Aquestes dades poden incloure, però no es limiten a:

  • Nom i cognoms
  • Direcció de correu electrònic
  • Adreça IP
  • Dades de navegació (mitjançant galetes)

Com a administrador de la pàgina, he assegurat que aquestes dades es recullen de manera transparent i explícita, i només es fa quan l’usuari dóna el seu consentiment.

📌 2. Finalitat de la recollida de dades

Les dades recollides s’utilitzen amb la finalitat de:

  • Millorar l’experiència de navegació dels usuaris
  • Gestionar els comentaris i la interacció en el lloc web
  • Enviar informació rellevant per als usuaris, si escau (com butlletins, actualitzacions, etc.)

Totes les dades recollides no es fan servir per a fins diferents de les finalitats especificades al moment de la seva recollida, garantint sempre la seguretat de la informació personal de cada usuari.

📌 3. Consentiment explícit per al tractament de dades

Per complir amb la LOPD i el Reglament (UE) 2016/679, de 27 d’abril de 2016, sobre la protecció de dades personals (RGPD), he implementat un sistema de consentiment clar i explícit. Això significa que abans de recollir qualsevol dada personal, es requereix que l’usuari accepti explícitament la nostra política de privadesa i condicions d’ús.

📌 4. Drets dels usuaris

Els usuaris tenen diversos drets pel que fa a la protecció de les seves dades personals:

  • Dret d’accés: Els usuaris poden consultar quines dades personals tenim emmagatzemades.
  • Dret a la rectificació: Els usuaris poden sol·licitar la correcció de dades incorrectes o incompletes.
  • Dret a l’esborrament: Els usuaris poden sol·licitar la supressió de les seves dades personals.
  • Dret a la portabilitat: Els usuaris poden sol·licitar una còpia de les seves dades en un format estructurat per a la seva transmissió a altres serveis.
  • Dret a la limitació del tractament: Els usuaris poden sol·licitar que les seves dades no siguin processades en determinades circumstàncies.

Tots aquests drets poden ser exercits a través del nostre correu electrònic de contacte, el qual està disponible a la nostra pàgina web.

📌 5. Mesures de seguretat

Per garantir la seguretat de les dades personals dels usuaris, s’han implementat les següents mesures:

  • Xifratge de les dades sensibles durant la seva transferència.
  • Ús de contrasenyes segures i actualitzades.
  • Control de l’accés a les dades personals per part de persones autoritzades.
  • Realització de còpies de seguretat periòdiques per evitar la pèrdua de dades.

📌 6. Galetes i seguiment d’usuaris

Aquest lloc web fa ús de galetes per millorar l’experiència d’usuari i realitzar anàlisis de trànsit web. Quan un usuari accedeix al nostre lloc web, se’ls informa de la utilització de galetes i se’ls demana el seu consentiment. Les galetes utilitzades són segures i no permeten obtenir informació personal identificable sense el consentiment de l’usuari.

Els usuaris poden desactivar les galetes en qualsevol moment des de les opcions del seu navegador, tot i que això pot afectar algunes funcionalitats del lloc web.

📌 7. Conservació de dades

Les dades personals seran conservades durant el temps necessari per a les finalitats per les quals van ser recollides, d’acord amb la legislació vigent. Un cop no siguin necessàries, seran suprimides de forma segura.

📌 8. Transferència de dades a tercers

Les dades recollides en aquest lloc web no seran transferides a tercers sense el consentiment explícit dels usuaris, excepte en els casos en què sigui necessari per complir amb una obligació legal.

📝 Conclusió

Aquesta pàgina de Política de Privadesa reflecteix el nostre compromís amb el compliment de la LOPD i la protecció de les dades personals dels nostres usuaris. Com a administrador del lloc web, he seguit estrictament la normativa vigent per garantir la seguretat i la privadesa de totes les dades que tractem.

Per a qualsevol dubte o per exercir els teus drets relacionats amb la protecció de dades personals, no dubtis a contactar-nos.

Creació i configuració de les MV per treballar amb vagrant

🌐 Creació de Boxes de Vagrant a VirtualBox i Configuració del Vagrantfile

🔹 1️⃣ Crear una Màquina Virtual a VirtualBox per Utilitzar com a Box de Vagrant
El primer pas és crear una màquina virtual que utilitzarem com a “box” per a Vagrant.

🛠 Pas 1: Crear la Màquina Virtual amb VirtualBox

  1. Obre VirtualBox i fes clic a “Nova” per crear una nova màquina virtual.
  2. Dona-li un nom a la màquina (per exemple, vagrant-box).
  3. Assigna el tipus de sistema operatiu (per exemple, Ubuntu 20.04, si vols una box basada en Linux).
  4. Assigna la quantitat de memòria RAM (per exemple, 2 GB).
  5. Crea un disc dur virtual (VDI) i selecciona una mida adequada (recomanem mínim 10 GB per a una box funcional).
  6. Un cop creada la màquina, inicia-la i instal·la el sistema operatiu desitjat (Ubuntu, Debian, CentOS, etc.).

📌 Configuracions post-instal·lació:

  • Un cop el sistema operatiu està instal·lat, cal realitzar algunes configuracions bàsiques per convertir aquesta màquina en una “box” de Vagrant:
    • Instal·la les actualitzacions més recents:
      bash
       
      sudo apt update && sudo apt upgrade -y
    • Instal·la els “Guest Additions” de VirtualBox per millorar la integració entre la màquina virtual i el sistema amfitrió:
      bash
       
      sudo apt install -y virtualbox-guest-utils
    • Configura l’usuari vagrant:
      bash
       
      sudo adduser --disabled-password --gecos "" vagrant sudo usermod -aG sudo vagrant
    • Si la màquina és Linux, crea una clau SSH per a l’usuari vagrant:
      bash
      sudo -u vagrant ssh-keygen -t rsa -f /home/vagrant/.ssh/id_rsa -N ""
    • Habilita el servei SSH perquè estigui disponible per a connexions remotes:
       
       
      sudo systemctl enable ssh sudo systemctl start ssh

🔹 2️⃣ Exportar la Màquina Virtual com a Box de Vagrant
Un cop la màquina virtual està configurada, l’hem d’exportar per convertir-la en una box de Vagrant.

📌 Exportar la màquina:

  1. Tanca la màquina virtual des de VirtualBox.
  2. A la finestra de VirtualBox, selecciona la màquina creada i fes clic a Arxiu > Exportar.
  3. Segueix els passos per crear un fitxer .ovf que es pot convertir en una box de Vagrant.

📌 Convertir el fitxer .ovf en una Box de Vagrant:
Utilitza la següent comanda per convertir el fitxer .ovf en una box utilitzable per Vagrant:

bash
 
vagrant package --base nom_de_la_maquina --output /path/to/box/my-vagrant-box.box

On nom_de_la_maquina és el nom de la teva màquina virtual i /path/to/box/my-vagrant-box.box és la ubicació on vols desar la box.

🎉 Ara tens la teva box de Vagrant creada!

🔹 3️⃣ Configurar el Vagrantfile per Utilitzar la Box de Vagrant
Un cop tens la teva box, el següent pas és crear el fitxer Vagrantfile per a configurar el teu entorn Vagrant.

📌 Pas 1: Crear un directori per al teu projecte Vagrant
Crea una nova carpeta on desaràs el teu projecte de Vagrant (per exemple, mi_projecte_vagrant):

bash
 
mkdir mi_projecte_vagrant cd mi_projecte_vagrant

📌 Pas 2: Inicialitzar el projecte de Vagrant
Per inicialitzar un nou projecte de Vagrant, utilitza la comanda següent dins del directori creat:

bash
 
vagrant init

Això crearà un fitxer Vagrantfile per defecte. El proper pas és editar aquest fitxer per utilitzar la box que has creat.

📌 Pas 3: Editar el Vagrantfile
Obre el fitxer Vagrantfile amb un editor de text i actualitza’l amb la següent configuració per utilitzar la box que acabes de crear:

ruby
 
Vagrant.configure("2") do |config| # Indica la ruta de la box que acabes de crear config.vm.box = "path/to/box/my-vagrant-box.box" # Configuració de la xarxa privada (si vols una xarxa interna per a la teva VM) config.vm.network "private_network", type: "dhcp" # Configuració de la memòria i la CPU de la VM config.vm.provider "virtualbox" do |vb| vb.memory = "1024" # Assignem 1 GB de RAM a la VM vb.cpus = 1 # Assignem 1 CPU end end

📌 Pas 4: Iniciar la Màquina Virtual amb Vagrant
Ara que has configurat el teu Vagrantfile, pots iniciar la màquina virtual amb la següent comanda:

bash
 
vagrant up

Vagrant utilitzarà la box que has indicat i crearà una màquina virtual nova en VirtualBox amb la configuració especificada.

🔹 4️⃣ Comprovar la Màquina Virtual i Connectar-se
Després d’executar vagrant up, pots comprovar l’estat de la màquina virtual amb:

bash
 
vagrant status

Per accedir a la màquina virtual mitjançant SSH, utilitza:

bash
 
vagrant ssh

🎉 Enhorabona! Ara tens una màquina virtual de Vagrant funcionant amb una box personalitzada de VirtualBox.
Això et permet gestionar màquines virtuals de manera eficient utilitzant Vagrant, tant si és per a desenvolupament com per a altres entorns.

📹 Video:
Al final d’aquest post trobaràs un vídeo on mostro detalladament com crear el fitxer Vagrantfile i com configurar tota la part del procés. Tot i que em vaig quedar sense espai per afegir tot el codi en el post, el vídeo és una guia visual que et mostra tot el que he explicat pas a pas. 🎬

Pla d’adreçament

🌐 Reserva de Rangos per Xarxa

🔹 Xarxa de Servidors 🖥️ (192.168.1.0/26)

  • 📌 192.168.1.1 → Router 🛜
  • 📦 192.168.1.10-192.168.1.49 → Servidors 🏢
  • 🔄 192.168.1.50-192.168.1.62 → Dispositius addicionals / IPs dinàmiques

🔹 Xarxa de Clients 👥 (192.168.2.0/25)

  • 📌 192.168.2.1 → Router 🛜
  • 💻 192.168.2.20-192.168.2.49 → Clients (Usuaris) 🧑‍💻
  • 🔄 192.168.2.50-192.168.2.126 → Dispositius addicionals / IPs dinàmiques

🔹 Xarxa de Laboratori 🧪 (192.168.3.0/27)

  • 📌 192.168.3.1 → Router 🛜
  • 🖥️ 192.168.3.10-192.168.3.29 → Dispositius del laboratori 🔬
  • ⚙️ 192.168.3.30 → Reservat per a proves futures

🚦 Portes d’Enllaç (Gateways)

Cada xarxa té la seva pròpia porta d’enllaç per a la comunicació entre xarxes:

  • 🌐 Xarxa de servidors192.168.1.1
  • 👥 Xarxa de clients192.168.2.1
  • 🧪 Xarxa de laboratori192.168.3.1

🔄 Enrutament al Router

Perquè totes les xarxes es comuniquin entre elles, hem de configurar tres interfícies al router:

Interconnexió de Xarxes

  • Interfície 1 🌐 → 192.168.1.1/26 (Xarxa de servidors)
  • Interfície 2 👥 → 192.168.2.1/25 (Xarxa de clients)
  • Interfície 3 🧪 → 192.168.3.1/27 (Xarxa de laboratori)

Habilitar NAT per Accés a Internet 🌍

  • El NAT (Network Address Translation) permet que totes les xarxes internes puguin accedir a Internet a través d’una sola IP pública.

Configuració de Rutes Estàtiques 🚏

  • El router ha de tenir rutes que connectin les tres xarxes entre si.
  • En molts routers, això es configura automàticament perquè són xarxes directament connectades.

🎯 Objectiu Final

Amb aquesta configuració, les tres xarxes podran comunicar-se entre elles, els clients podran accedir als servidors, i el laboratori estarà separat però connectat.

🔹 Cada dispositiu tindrà una IP dins del seu rang
🔹 Les màquines tindran accés a Internet gràcies al NAT
🔹 El router gestionarà el trànsit entre xarxes i Internet

Configuració accés remot (SSH i RDP) a totes les MV

🌐 Configuració d’Accés Remot a les Màquines Virtuals

🔹 1️⃣ Accés a Windows mitjançant RDP

L’objectiu és poder connectar-nos a qualsevol màquina Windows des del nostre PC principal mitjançant Escriptori Remot (RDP).

🛠 Activar RDP a Windows

A cada màquina Windows (Windows Server, Windows 10, Windows 11), hem d’activar el protocol Remote Desktop (RDP).

📌 PowerShell (com a administrador):

powershell
 
 
Set-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\Terminal Server" -Name "fDenyTSConnections" -Value 0
Enable-NetFirewallRule -DisplayGroup "Remote Desktop"

📌 Això:
✅ Activa l’accés per RDP
✅ Permet connexions remotes
✅ Obre el port 3389 al tallafocs 🔓


🔐 Afegir l’usuari al grup d’escriptori remot

Perquè un usuari pugui accedir via RDP, ha d’estar al grup Remote Desktop Users.

📌 Executa:

powershell
 
Add-LocalGroupMember -Group "Remote Desktop Users" -Member "NomDelUsuari"

ℹ️ Nota: A Windows Server, potser caldrà ajustar la política de seguretat per permetre connexions RDP des de qualsevol dispositiu.


📡 2️⃣ Controlar totes les MVs amb TeamViewer

Ja que has configurat el teu PC principal amb TeamViewer, pots utilitzar-lo per accedir a qualsevol màquina que tingui una interfície gràfica (Windows o Linux amb GUI).

🖥️ Instal·lar TeamViewer a Windows

🔹 PowerShell (amb Chocolatey, que ja està instal·lat! 😉)

powershell
 
choco install -y teamviewer

🐧 Instal·lar TeamViewer a Linux (Debian, Rocky, Ubuntu)

🔹 Debian/Ubuntu:

bash
 
wget https://download.teamviewer.com/download/linux/teamviewer_amd64.deb
sudo dpkg -i teamviewer_amd64.deb
sudo apt-get install -f

🔹 Rocky Linux:

bash
 
sudo dnf install https://download.teamviewer.com/download/linux/teamviewer.x86_64.rpm -y

📌 Un cop instal·lat:
✅ Obre TeamViewer
✅ Configura l’accés permanent
✅ Afegeix cada màquina al teu compte TeamViewer per tenir control total 🌍


🔐 3️⃣ Accés a màquines Linux mitjançant SSH

Si treballes amb Vagrant, segurament tens màquines Linux sense interfície gràfica. Per accedir-hi ràpidament, farem servir SSH.

🛠 Activar el servei SSH

A cada màquina Linux, assegura’t que el servidor SSH estigui instal·lat i activat.

📌 Debian/Ubuntu:

bash
 
sudo apt update && sudo apt install openssh-server -y
sudo systemctl enable --now ssh

📌 Rocky Linux:

bash
 
sudo dnf install openssh-server -y
sudo systemctl enable --now sshd

✅ Això activarà el servei SSH i permetrà connexions remotes 📡


🔥 Connectar-se via Vagrant SSH

Si les màquines han estat creades amb Vagrant, pots accedir-hi fàcilment amb aquesta ordre:

bash
 
vagrant ssh nom-de-la-mv

Exemple:

bash
 
vagrant ssh ubuntu-server

Això ens permet treballar amb la màquina directament des de la terminal, sense necessitat de configurar manualment les IPs.

💡 Avantatges d’utilitzar Vagrant SSH:
✅ No cal saber l’IP de la màquina
✅ No cal configurar usuaris ni contrasenyes
✅ Connexió instantània des del teu terminal


🔥 4️⃣ Configuració del Tallafocs per Permetre Connexions Remotes

Per assegurar-nos que les connexions RDP i SSH funcionin correctament, obrirem els ports necessaris al tallafocs.

📌 A Windows:

powershell
 
New-NetFirewallRule -DisplayName "Allow RDP" -Direction Inbound -Protocol TCP -LocalPort 3389 -Action Allow
New-NetFirewallRule -DisplayName "Allow SSH" -Direction Inbound -Protocol TCP -LocalPort 22 -Action Allow

📌 A Debian/Ubuntu (amb UFW):

bash
 
sudo ufw allow 22/tcp
sudo ufw allow 3389/tcp
sudo ufw enable

📌 A Rocky Linux (amb Firewalld):

bash
 
sudo firewall-cmd --add-service=ssh --permanent
sudo firewall-cmd --add-port=3389/tcp --permanent
sudo firewall-cmd --reload

Això garantirà que totes les connexions remotes es puguin establir sense problemes. 🚀

SSH

RDP

🎯 Conclusió

Amb aquesta configuració, ara pots accedir a qualsevol màquina del teu projecte de manera remota:

🔹 Windows → Amb RDP des del teu PC principal 📡
🔹 Linux → Amb SSH (tant amb Vagrant com de manera manual) 🔐
🔹 Control total des de TeamViewer, per accedir a totes les MVs amb interfície gràfica 🖥️

Configuració Completa de les Màquines Linux i Windows

🛠️ Configuració Completa de les Màquines Linux i Windows

En aquest post veurem com configurar totes les màquines virtuals del nostre projecte. 📌

Ens centrarem en:
✅ Configuració de xarxa dinàmica (perquè totes les màquines obtinguin una IP automàticament)
✅ Optimització del rendiment (per millorar la velocitat i eficiència)
✅ Antivirus i tallafocs (per garantir la seguretat del sistema)
✅ Instal·lació de Microsoft Sysinternals en Windows (eines essencials per administradors)

💡 A més, al final del post trobaràs un vídeo on es mostra pas a pas com es fa cada configuració! 🎥


🐧 Configuració de les Màquines Linux (Debian, Rocky i Ubuntu)

🌐 1️⃣ Configuració de Xarxa Dinàmica

Per assegurar-nos que cada màquina Linux obtingui una IP automàticament mitjançant DHCP, hem d’editar el fitxer de configuració de xarxa.

🔹 Per Debian i Ubuntu
Editem el fitxer /etc/network/interfaces:

bash
 
sudo nano /etc/network/interfaces

Afegim aquesta configuració:

ini
 
auto eth0
iface eth0 inet dhcp

Desem (CTRL + X, després Y i Enter) i reiniciem la xarxa:

bash
 
sudo systemctl restart networking

🔹 Per Rocky Linux
Aquí la configuració es fa en un altre fitxer:

bash
 
sudo nano /etc/sysconfig/network-scripts/ifcfg-eth0

Ens assegurem que conté:

ini
 
BOOTPROTO=dhcp
ONBOOT=yes

I reiniciem la xarxa:

bash
 
sudo systemctl restart NetworkManager

🚀 2️⃣ Optimització del Rendiment

Per millorar la velocitat de les nostres màquines virtuals Linux, podem fer el següent:

📌 Activar el mode de rendiment de la CPU:

bash
 
sudo apt install cpufrequtils -y # (Per Debian i Ubuntu)
sudo dnf install cpufrequtils -y # (Per Rocky)
sudo cpufreq-set -g performance

📌 Desactivar serveis innecessaris (com la impressora si no la fem servir):

bash
 
sudo systemctl disable cups
sudo systemctl stop cups

📌 Optimitzar l’ús de memòria swap (per evitar que es faci servir massa si tenim RAM suficient):

bash
 
echo "vm.swappiness=10" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p

🔐 3️⃣ Instal·lació de l’Antivirus i el Tallafocs

🔹 Instal·lació de ClamAV (antivirus de codi obert)

bash
 
sudo apt update && sudo apt install clamav clamav-daemon -y # Debian i Ubuntu
sudo dnf install clamav clamav-update -y # Rocky Linux

🔹 Actualització de la base de dades de virus:

bash
 
sudo freshclam

🔹 Activació del servei ClamAV:

bash
 
sudo systemctl enable clamav-daemon --now # Debian i Ubuntu
sudo systemctl enable clamd --now # Rocky Linux

🔹 Escanejar tot el sistema:

bash
 
sudo clamscan -r /

🔹 Configuració del tallafocs (UFW per Debian/Ubuntu, Firewalld per Rocky)

✅ Debian/Ubuntu:

bash
 
sudo apt install ufw -y
sudo ufw enable
sudo ufw allow ssh
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

✅ Rocky Linux:

bash
 
sudo dnf install firewalld -y
sudo systemctl enable --now firewalld
sudo firewall-cmd --add-service=ssh --permanent
sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --add-service=https --permanent
sudo firewall-cmd --reload

🖥️ Configuració de les Màquines Windows (Windows Server 2019, Windows 10 i Windows 11)

🌐 1️⃣ Configuració de Xarxa Dinàmica

A Windows, hem de configurar la interfície de xarxa perquè obtingui una IP automàticament.

📌 Obre PowerShell com a administrador i executa:

powershell
 
Set-NetIPInterface -InterfaceAlias "Ethernet" -Dhcp Enabled

🚀 2️⃣ Optimització del Rendiment

Per millorar el rendiment de Windows, seguim aquests passos:

📌 Desactivar efectes visuals innecessaris:

powershell
 
Get-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects" | ForEach-Object { $_.VisualFXSetting = 2 }

📌 Activar mode d’alt rendiment:

powershell
 
powercfg -setactive SCHEME_MIN

📌 Desactivar aplicacions en segon pla:

powershell
 
Get-AppxPackage | Remove-AppxPackage

🔐 3️⃣ Instal·lació de l’Antivirus i el Tallafocs

📌 Activar el tallafocs de Windows:

powershell
 
Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled True

📌 Comprovar que Windows Defender està activat:

powershell
 
Get-MpPreference

📌 Escanejar el sistema en cerca de virus:

powershell
 
Start-MpScan -ScanType QuickScan

🛠️ 4️⃣ Instal·lació de Microsoft Sysinternals

✅ Microsoft Sysinternals és un conjunt d’eines essencials per administrar i diagnosticar Windows.

💡 Per sort, Chocolatey ja està instal·lat automàticament gràcies al nostre fitxer Vagrantfile!

 # Configuración del Laboratorio Windows 10
  config.vm.define “lab-win10” do |lab|
    lab.vm.box = “gusztavvargadr/windows-10”
    lab.vm.hostname = “lab-win10”
    lab.vm.network “private_network”, ip: “192.168.3.10”
    lab.vm.provision “shell”, inline: <<-SHELL
      # Instalar Chocolatey
      Set-ExecutionPolicy Bypass -Scope Process -Force
      [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072
      iex ((New-Object System.Net.WebClient).DownloadString(‘https://community.chocolatey.org/install.ps1’))
    SHELL
  end

  # Configuración del Laboratorio Windows 11
  config.vm.define “lab-win11” do |lab|
    lab.vm.box = “gusztavvargadr/windows-11”
    lab.vm.hostname = “lab-win11”
    lab.vm.network “private_network”, ip: “192.168.3.11”
    lab.vm.provision “shell”, inline: <<-SHELL
      # Instalar Chocolatey
      Set-ExecutionPolicy Bypass -Scope Process -Force
      [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072
      iex ((New-Object System.Net.WebClient).DownloadString(‘https://community.chocolatey.org/install.ps1’))
    SHELL
  end
end
 # Configuración del Servidor Windows 2019
  config.vm.define “server-w2k19” do |server|
    server.vm.box = “StefanScherer/windows_2019”
    server.vm.hostname = “server-w2k19”
    server.vm.network “private_network”, ip: “192.168.1.10”
    server.vm.provision “shell”, inline: <<-SHELL
      # Instalar Chocolatey y herramientas necesarias
      Set-ExecutionPolicy Bypass -Scope Process -Force
      [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072
      iex ((New-Object System.Net.WebClient).DownloadString(‘https://community.chocolatey.org/install.ps1’))
      choco install -y sysinternals
    SHELL
  end

🎉
Això vol dir que només cal executar una ordre per instal·lar Sysinternals:

powershell
 
choco install -y sysinternals

Això ens permetrà accedir a eines com Process Explorer, Autoruns, TCPView i més per analitzar el rendiment del sistema i detectar possibles problemes.


🎥 Vídeo Explicatiu

A continuació, pots veure el vídeo tutorial on es mostra detalladament com es realitza cada configuració en cada sistema operatiu.

 

🔹 Si tens dubtes o problemes durant la configuració, deixa un comentari i t’ajudaré! 😊

CISCO

🌐 Configuración de Red en Packet Tracer

🔧 Configuración del Switch (Cisco 2960-24TT)

📌 Objetivo: Configurar el switch para conectar clientes y servidores correctamente.

💻 Configuración aplicada en el puerto FastEthernet0/3:

plaintext
interface FastEthernet0/3 speed auto duplex auto switchport mode access switchport access vlan 1 no shutdown

📢 Explicación:
✅ Se configura la velocidad (speed auto) y el modo dúplex (duplex auto).
✅ Se establece el puerto como acceso (switchport mode access), asegurando que solo se conecten dispositivos finales y no otros switches.
✅ Se asigna el puerto a la VLAN 1 (switchport access vlan 1).
no shutdown activa el puerto.

📝 Nota: VLAN 1 es la predeterminada, pero si la red necesita segmentación, se pueden definir otras VLANs.


🛜 Configuración del Router (Cisco ISR 4331)

📌 Objetivo: Configurar la interfaz del router para permitir la comunicación entre dispositivos y acceso a la red.

🌍 Configuración aplicada en la interfaz GigabitEthernet0/1:

plaintext
interface GigabitEthernet0/1 ip address 192.168.1.1 255.255.255.0 speed auto duplex auto no shutdown

📢 Explicación:
✅ Se asigna la IP 192.168.1.1/24, que funcionará como puerta de enlace de la red.
✅ Se configuran los parámetros de velocidad y dúplex automáticamente.
no shutdown activa la interfaz para que empiece a funcionar.

📝 Nota: Este router conecta la red a Internet y permite la comunicación entre los dispositivos conectados al switch.


📊 Topología de Red

📡 Componentes:

  • 🌍 Router (ISR 4331) → Gestiona el tráfico de la red.
  • 📌 Switch (2960-24TT) → Interconecta todos los dispositivos.
  • 🖥️ PCs y servidores → Dispositivos finales que acceden a la red.

🖼️ Esquema:
🔌 Todos los dispositivos están conectados al switch.
🔗 El switch se comunica con el router a través de GigabitEthernet0/1.
🌎 El router maneja la IP 192.168.1.1, sirviendo de puerta de enlace para la red.


Conclusión

✔️ Se ha configurado correctamente el switch y el router para permitir la conectividad en la red.
✔️ La IP 192.168.1.1 en el router facilita la comunicación entre dispositivos.
✔️ Se pueden agregar VLANs en el futuro para una mejor segmentación.

🚀 ¡Red operativa y lista para pruebas de conectividad! 🎉

Creació de màquines

🏗️ Desplegament de la infraestructura amb Vagrant

🌍 Estructura General del Desplegament

Per desplegar la infraestructura, s’ha fet servir Vagrant en la majoria de màquines virtuals per automatitzar la creació i configuració. Això permet una gestió més ràpida, escalable i professional.

Avantatges d’usar Vagrant:

  • Creació de màquines de manera automàtica i sense errors humans.
  • Configuració prèvia de xarxes, serveis i programari necessari.
  • Facilitat per reproduir el mateix entorn en diferents sistemes.

📌 EXCEPCIÓ:

  • Windows 10 i Ubuntu Mate s’han creat manualment per poder documentar el procés en detall. Això és important per demostrar el desplegament manual i veure les diferències amb l’automatització de Vagrant.

🏠 Estructura de les Màquines Virtuals

📌 Xarxa de servidors (192.168.1.0/26)

  • 🖥️ Windows Server 2019 (192.168.1.10) → Active Directory i proves d’entorn corporatiu.
  • 🐧 Debian 12 (Servidor DHCP) (192.168.1.20) → Assignació d’IP estàtiques a la xarxa de servidors.

📌 Xarxa de clients (192.168.2.0/25)

  • 💻 Rocky Linux 9 (192.168.2.20) → Simulació d’un client empresarial Linux.
  • 🖥️ Ubuntu Mate (192.168.2.30) → Creat manualment per documentació.

📌 Xarxa de laboratori (192.168.3.0/27)

  • 🏗️ Windows 11 (192.168.3.15) → Creat manualment per documentació.
  • 💻 Windows 10 (192.168.3.10) → Proves amb sistemes Windows en un entorn aïllat.

📌 Router (Debian 12) (192.168.1.1, 192.168.2.1, 192.168.3.1)

  • 📡 Gestió del trànsit entre xarxes.
  • 🌍 Configuració de NAT per accés a Internet.
  • 🚦 Assignació de rutes per garantir la connectivitat entre màquines.

⚙️ Configuració Automàtica amb Vagrant

Per totes les màquines creades amb Vagrant, s’ha utilitzat un Vagrantfile que defineix:

Assignació de recursos (RAM, CPU).
Configuració de xarxes privades per tenir IPs fixes.
Provisionament → Instal·lació de programari i configuracions automàtiques.

👀 Exemple de configuració d’una màquina en Vagrantfile:

Vagrant.configure("2") do |config|
config.vm.box = "generic/debian12"
config.vm.network "private_network", ip: "192.168.1.20"
config.vm.provider "virtualbox" do |vb|
vb.memory = "1024"
vb.cpus = 2
end
config.vm.provision "shell", inline: <<-SHELL
apt update && apt install -y isc-dhcp-server
SHELL

end
 

📌 Cada màquina creada amb Vagrant segueix aquesta estructura, ajustant-se segons les necessitats.


🔗 Connexió entre màquines

Per garantir que totes les màquines es puguin comunicar correctament, s’ha configurat:

🔹 Xarxes privades estàtiques perquè cada màquina tingui una IP fixa.
🔹 Rutes internes al router perquè cada xarxa pugui veure les altres.
🔹 Firewall i regles d’accés perquè el trànsit sigui segur.

🚀 Totes les màquines poden connectar-se per SSH i RDP per a una gestió remota fàcil.


🏆 Conclusió

Amb aquest desplegament:
✅ S’ha creat una xarxa estructurada i separada per funcionalitats.
Les màquines principals s’han creat amb Vagrant per un desplegament eficient.
Windows 11 i Ubuntu Mate s’han creat manualment per documentació i proves detallades.
Els clients poden comunicar-se amb els servidors i viceversa.
Totes les màquines són accessibles per SSH o RDP, facilitant la gestió remota.

🔥 Això ens proporciona un entorn de proves totalment funcional, professional i escalable! 🚀

Instalació Ubuntu Mate

Instalació Windows 10

📜 Anàlisi del Vagrantfile

El Vagrantfile conté la configuració de totes les màquines virtuals del nostre entorn. A continuació, es detallen les parts principals del codi i el seu propòsit.

📌 Estructura General

El fitxer segueix aquesta estructura:

1️⃣ Definició de la versió de Vagrant

ruby
 
Vagrant.configure("2") do |config|

Això indica que estem fent servir la versió 2 del Vagrantfile.

2️⃣ Definició de les màquines virtuals
Cada màquina es defineix amb config.vm.define "nom" i conté la seva configuració específica.

3️⃣ Configuració del provisionament
Mitjançant config.vm.provision "shell" s’executen ordres durant la creació de la màquina, com la instal·lació de programari o configuracions de xarxa.


🏠 Explicació de les Màquines Virtuals

🌍 Router (Debian 12)

📌 Funció: Actua com a distribuïdor de xarxa i servidor DHCP per assignar IPs automàticament.

ruby
 
config.vm.define "router" do |router|
router.vm.box = "debian/bookworm64"
router.vm.hostname = "router"
  • Sistema Operatiu: Debian 12 (Bookworm).
  • Hostname: router.
  • Xarxes configurades:
    • 192.168.1.1/26 → Xarxa de servidors.
    • 192.168.2.1/25 → Xarxa de clients.
    • 192.168.3.1/27 → Xarxa de laboratori.

📌 Configuració de NAT i DHCP

ruby
 
echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
sysctl -p
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
  • Activa el reenvio d’IP per permetre la comunicació entre xarxes.
  • Configura iptables per gestionar el trànsit de xarxa.
  • Configura ISC DHCP Server perquè la xarxa de servidors tingui IPs dinàmiques.

🏢 Servidor Windows 2019

📌 Funció: Servidor empresarial amb Active Directory i eines d’administració.

ruby
 
config.vm.define "server-w2k19" do |server|
server.vm.box = "StefanScherer/windows_2019"
server.vm.hostname = "server-w2k19"
server.vm.network "private_network", ip: "192.168.1.10"
  • Sistema Operatiu: Windows Server 2019.
  • Assigna IP 192.168.1.10 a la xarxa de servidors.

📌 Instal·lació d’eines amb Chocolatey

ruby
 
Set-ExecutionPolicy Bypass -Scope Process -Force
iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
choco install -y sysinternals
  • Instal·la Chocolatey, un gestor de paquets per Windows.
  • Afegeix eines d’administració amb Sysinternals.

🐧 Servidor Debian 12

📌 Funció: Servidor bàsic amb accés SSH i eines d’administració.

ruby
 
config.vm.define "server-debian" do |server|
server.vm.box = "debian/bookworm64"
server.vm.hostname = "server-debian"
server.vm.network "private_network", ip: "192.168.1.11"

📌 Instal·lació d’eines bàsiques

ruby
 
apt update && apt install -y nano net-tools openssh-server ufw
systemctl enable --now ssh
ufw allow OpenSSH
  • Instal·la nano, net-tools, i SSH Server.
  • Habilita el firewall UFW i permet connexions SSH.

💻 Client Rocky Linux 9

📌 Funció: Simulació d’un client Linux empresarial.

ruby
 
config.vm.define "client-rocky9" do |client|
client.vm.box = "generic/rocky9"
client.vm.hostname = "client-rocky9"
client.vm.network "private_network", ip: "192.168.2.20"

📌 Instal·lació de paquets bàsics

ruby
 
sudo dnf install -y epel-release
sudo dnf install -y nano net-tools openssh-server
  • Afegeix repositoris EPEL i instal·la eines bàsiques.

🖥️ Client Ubuntu Mate

📌 Funció: Client Linux gràfic per proves i documentació.

ruby
config.vm.define "client-ubuntu-mate" do |client|
client.vm.box = "cxtlabs/vagrant-ubuntu-16.04-mate"
client.vm.hostname = "client-ubuntu-mate"
client.vm.network "private_network", ip: "192.168.2.21"

📌 Instal·lació de paquets

ruby
sudo apt update && sudo apt install -y nano net-tools openssh-server
  • Instal·la eines bàsiques i permet connexió remota per SSH.

🎯 Conclusió

🔹 Aquest Vagrantfile permet crear una infraestructura totalment automatitzada amb servidors i clients interconnectats.
🔹 Cada màquina té un propòsit específic, i la seva configuració està ben definida.
🔹 L’ús de Vagrant redueix temps de desplegament, facilita la gestió i evita errors.
🔹 Windows 10 i Ubuntu Mate es van crear manualment per documentació i comparació amb l’automatització.

📜Vagrantfile FInal.

Vagrant.configure(“2”) do |config|
  # Configuración del Router
  config.vm.define “router” do |router|
    router.vm.box = “debian/bookworm64”
    router.vm.hostname = “router”

 

    router.vm.network “private_network”, ip: “192.168.1.1”, netmask: “255.255.255.192”
    router.vm.network “private_network”, ip: “192.168.2.1”, netmask: “255.255.255.128”
    router.vm.network “private_network”, ip: “192.168.3.1”, netmask: “255.255.255.224”

 

    router.vm.provision “shell”, inline: <<-SHELL
      # Habilitar reenvío de paquetes IP
      echo “net.ipv4.ip_forward=1” >> /etc/sysctl.conf
      sysctl -p
     
      # Configurar NAT con iptables
      iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
     
      # Instalar y configurar DHCP para la red de servidores
      apt update && apt install -y isc-dhcp-server
      echo ‘INTERFACESv4=”eth1″‘ > /etc/default/isc-dhcp-server

 

      cat > /etc/dhcp/dhcpd.conf <<EOL
      default-lease-time 600;
      max-lease-time 7200;
      subnet 192.168.1.0 netmask 255.255.255.192 {
        range 192.168.1.10 192.168.1.49;
        option routers 192.168.1.1;
        option domain-name-servers 8.8.8.8, 8.8.4.4;
      }
    SHELL
  end

 

  # Configuración del Servidor Windows 2019
  config.vm.define “server-w2k19” do |server|
    server.vm.box = “StefanScherer/windows_2019”
    server.vm.hostname = “server-w2k19”
    server.vm.network “private_network”, ip: “192.168.1.10”
    server.vm.provision “shell”, inline: <<-SHELL
      # Instalar Chocolatey y herramientas necesarias
      Set-ExecutionPolicy Bypass -Scope Process -Force
      [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072
      iex ((New-Object System.Net.WebClient).DownloadString(‘https://community.chocolatey.org/install.ps1’))
      choco install -y sysinternals
    SHELL
  end

 

  # Configuración del Servidor Debian 12
  config.vm.define “server-debian” do |server|
    server.vm.box = “debian/bookworm64”
    server.vm.hostname = “server-debian”
    server.vm.network “private_network”, ip: “192.168.1.11”
    server.vm.provision “shell”, inline: <<-SHELL
      # Instalar herramientas básicas
      apt update && apt install -y nano net-tools openssh-server ufw
      systemctl enable –now ssh
      ufw allow OpenSSH
    SHELL
  end

 

  # Configuración del Cliente Rocky 9
  config.vm.define “client-rocky9” do |client|
    client.vm.box = “generic/rocky9”
    client.vm.hostname = “client-rocky9”
    client.vm.network “private_network”, ip: “192.168.2.20”
    client.vm.provision “shell”, inline: <<-SHELL
      # Instalar herramientas básicas
      sudo dnf install -y epel-release
      sudo dnf install -y nano net-tools openssh-server
      systemctl enable –now sshd
    SHELL
  end

 

  # Configuración del Cliente Ubuntu Mate
  config.vm.define “client-ubuntu-mate” do |client|
    client.vm.box = “cxtlabs/vagrant-ubuntu-16.04-mate”
    client.vm.hostname = “client-ubuntu-mate”
    client.vm.network “private_network”, ip: “192.168.2.21”
    client.vm.provision “shell”, inline: <<-SHELL
      # Instalar herramientas básicas
      sudo apt update && sudo apt install -y nano net-tools openssh-server
      systemctl enable –now ssh
    SHELL
  end

 

  # Configuración del Laboratorio Windows 10
  config.vm.define “lab-win10” do |lab|
    lab.vm.box = “gusztavvargadr/windows-10”
    lab.vm.hostname = “lab-win10”
    lab.vm.network “private_network”, ip: “192.168.3.10”
    lab.vm.provision “shell”, inline: <<-SHELL
      # Instalar Chocolatey
      Set-ExecutionPolicy Bypass -Scope Process -Force
      [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072
      iex ((New-Object System.Net.WebClient).DownloadString(‘https://community.chocolatey.org/install.ps1’))
    SHELL
  end

 

  # Configuración del Laboratorio Windows 11
  config.vm.define “lab-win11” do |lab|
    lab.vm.box = “gusztavvargadr/windows-11”
    lab.vm.hostname = “lab-win11”
    lab.vm.network “private_network”, ip: “192.168.3.11”
    lab.vm.provision “shell”, inline: <<-SHELL
      # Instalar Chocolatey
      Set-ExecutionPolicy Bypass -Scope Process -Force
      [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072
      iex ((New-Object System.Net.WebClient).DownloadString(‘https://community.chocolatey.org/install.ps1’))
    SHELL
  end
end

Vagrant

📌 Introducción a Vagrant

Vagrant es una herramienta de software de código abierto que permite la creación y configuración de entornos virtuales de desarrollo de manera rápida y eficiente.

Con Vagrant, los desarrolladores pueden definir una infraestructura en un solo archivo (Vagrantfile) y compartirlo con otros, asegurando que todos trabajen en el mismo entorno sin importar su sistema operativo.

Beneficios principales:

  • Automatiza la creación de máquinas virtuales.
  • Permite compartir entornos de desarrollo fácilmente.
  • Asegura consistencia entre equipos de trabajo.
  • Compatible con múltiples proveedores de virtualización (VirtualBox, VMware, Docker, etc.).

📌 ¿Cómo funciona Vagrant?

Vagrant utiliza un Vagrantfile, que es un archivo de configuración donde se definen las máquinas virtuales y sus características.

🔹 Proceso básico de uso:
1️⃣ Instalar Vagrant y un proveedor de virtualización (ej. VirtualBox).
2️⃣ Crear un directorio de proyecto y un Vagrantfile:

3️⃣ Configurar la máquina en el Vagrantfile (ejemplo básico):

ruby
Vagrant.configure(“2”) do |config|
config.vm.box = “debian”
config.vm.network “private_network”, ip: “192.168.56.10”
end 

4️⃣ Levantar la máquina virtual con:

sh

vagrant up

5️⃣ Acceder a la máquina virtual:

shvagrant ssh

6️⃣ Apagar o destruir la máquina virtual cuando no se necesite:

shvagrant halt # Apagar
vagrant destroy # Eliminar completamente

Resultado: Se crea un entorno virtualizado con las configuraciones establecidas, listo para usarse en desarrollo o pruebas.


📌 Componentes clave de Vagrant

🔹 Vagrantfile → Archivo de configuración donde se define la máquina virtual.
🔹 Boxes → Imágenes preconfiguradas de sistemas operativos.
🔹 Proveedores → Software que ejecuta las máquinas virtuales (VirtualBox, VMware, Docker, etc.).
🔹 Provisioners → Scripts de automatización para configurar la VM al iniciarse.


📌 Ejemplo avanzado: Configurar múltiples máquinas

Si queremos definir varias máquinas virtuales en un solo Vagrantfile, podemos hacerlo de la siguiente manera:

ruby

Vagrant.configure("2") do |config|
config.vm.define "servidor1" do |servidor1|
servidor1.vm.box = "ubuntu/bionic64"
servidor1.vm.network "private_network", ip: "192.168.56.101"
end

config.vm.define “servidor2” do |servidor2|
servidor2.vm.box = “ubuntu/bionic64”
servidor2.vm.network “private_network”, ip: “192.168.56.102”
end
end

Resultado:

  • Se crean dos máquinas virtuales con Ubuntu y direcciones IP fijas.
  • Permiten comunicación en red privada entre ellas.

📌 Comparación entre VirtualBox y Vagrant

Característica VirtualBox Vagrant
Creación manual de VMs ✅ Sí ❌ No, automatiza el proceso
Configuración con código ❌ No ✅ Sí, con Vagrantfile
Facilidad para compartir entornos ❌ Difícil ✅ Muy fácil
Automatización de red y servicios ❌ Limitado ✅ Completo
Compatible con múltiples hipervisores ❌ Solo VirtualBox ✅ VirtualBox, VMware, Docker, etc.

¿Cuál elegir?

  • Usa VirtualBox si solo necesitas ejecutar una VM manualmente.
  • Usa Vagrant si necesitas automatizar y compartir entornos fácilmente.

 

📌 Vagrantfile Lady UP.

 

# -*- mode: ruby -*-
# vi: set ft=ruby :
#Lady UP
#Routers

#Router Ivan

Vagrant.configure (2) do |config|

config.vm.define “RouterI” do |routeri|
routeri.vm.box = “rocky”
routeri.vm.network “private_network”,
ip: “192.168.202.16”,
netmask: “255.255.255.240”,
virtualbox__intnet: “intdmz”
routeri.vm.network “public_network”,
ip: “172.25.210.4”,
netmask: “255.255.0.0”,
bridge: “eth0”
routeri.vm.provision “shell”, inline: <<-SHELL
echo “1” > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -s 192.168.4.248/29 -o enp0s9 -j MASQUERADE
ip route del default
ip route add default via 172.25.130.254
ip route add 192.168.202.10/28 via 172.25.213.11 #IP CRIS
ip route add 192.168.202.10/28 via 172.25.211.11 #IP NICO
ip route add 192.168.202.10/28 via 172.25.214.11 #IP MARC
SHELL
end

#Router Nico

config.vm.define “RouterN” do |routern|
routern.vm.box = “rocky”
routern.vm.network “private_network”,
ip: “192.168.202.15”,
netmask: “255.255.255.240”,
virtualbox__intnet: “intdmz”
routern.vm.network “public_network”,
ip: “172.25.210.3”,
netmask: “255.255.0.0”,
bridge: “eth0”
routern.vm.provision “shell”, inline: <<-SHELL
echo “1” > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -s 192.168.4.248/29 -o enp0s9 -j MASQUERADE
ip route del default
ip route add default via 172.25.130.254
ip route add 192.168.202.10/28 via 172.25.214.11 #IP CRIS
ip route add 192.168.202.10/28 via 172.25.217.11 #IP IVAN
ip route add 192.168.202.10/28 via 172.25.214.11 #IP MARC
SHELL
end

#Router Cris

config.vm.define “RouterC” do |routerc|
routerc.vm.box = “rocky”
routerc.vm.network “private_network”,
ip: “192.168.202.14”,
netmask: “255.255.255.240”,
virtualbox__intnet: “intdmz”
routerc.vm.network “public_network”,
ip: “172.25.210.2”,
netmask: “255.255.0.0”,
bridge: “eth0”
routerc.vm.provision “shell”, inline: <<-SHELL
echo “1” > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -s 192.168.4.248/29 -o enp0s9 -j MASQUERADE
ip route del default
ip route add default via 172.25.130.254
ip route add 192.168.202.10/28 via 172.25.211.11 #IP Nico
ip route add 192.168.202.10/28 via 172.25.217.11 #IP Ivan
ip route add 192.168.202.10/28 via 172.25.114.11 #IP Marc
SHELL
end

#Router Marc

config.vm.define “Router” do |router|
router.vm.box = “rocky”
router.vm.network “private_network”,
ip: “192.168.202.10”,
netmask: “255.255.255.240”,
virtualbox__intnet: “intdmz”
router.vm.network “public_network”,
ip: “172.25.210.1”,
netmask: “255.255.0.0”,
bridge: “eth0”
router.vm.provision “shell”, inline: <<-SHELL
echo “1” > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -s 192.168.4.248/29 -o enp0s9 -j MASQUERADE
ip route del default
ip route add default via 172.25.130.254
ip route add 192.168.4.192/28 via 172.25.210.2
ip route add 192.168.202.10/28 via 172.25.213.11 #IP Cris
ip route add 192.168.202.10/28 via 172.25.217.11 #IP Ivan
ip route add 192.168.202.10/28 via 172.25.211.11 #IP Nico
SHELL
end

#Red Servidores(LDAP , NFS , FTP)

#LDAP

config.vm.define “ldap” do |ldap|
ldap.vm.box = “debian”
ldap.vm.network “private_network”,
ip: “192.168.202.11”,
netmask: “255.255.255.240”,
gateway: “192.168.202.10”,
virtualbox__intnet: “intdmz”
ldap.vm.provision “shell”, inline: <<-SHELL
ip route del default
ip route add default via 192.168.202.10
SHELL
ldap.vm.provider “virtualbox” do |vb|
vb.gui = false
end
end

#NFS

config.vm.define “nfs” do |nfs|
nfs.vm.box = “debian”
nfs.vm.network “private_network”,
ip: “192.168.202.12”,
netmask: “255.255.255.240”,
gateway: “192.168.202.10”,
virtualbox__intnet: “intdmz”
nfs.vm.provision “shell”, inline: <<-SHELL
ip route del default
ip route add default via 192.168.202.10
SHELL
nfs.vm.provider “virtualbox” do |vb|
vb.gui = false
end
end

#FTP

config.vm.define “ftp” do |ftp|
ftp.vm.box = “debian”
ftp.vm.network “private_network”,
ip: “192.168.202.13”,
netmask: “255.255.255.240”,
virtualbox__intnet: “FTP”
ftp.vm.network “public_network”,
ip: “172.25.210.2”,
netmask: “255.255.0.0”,
bridge: “eth0”
ftp.vm.provision “shell”, inline: <<-SHELL
apt install -y iptables
echo “1” > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -s 192.168.4.192/27 -o eth2 -j MASQUERADE
ip route del default
ip route add default via 172.25.130.254
ip route add 192.168.4.248/29 via 172.25.210.2
SHELL
ftp.vm.provider “virtualbox” do |vb|
vb.gui = false
end
end

#CLIENTES

#Linux
config.vm.define “Cliente1” do |linux|
linux.vm.box = “debian”
linux.vm.network “private_network”,
ip: “192.168.202.19”,
netmask: “255.255.255.224”,
gateway: “192.168.202.10”,
virtualbox__intnet: “FTP”
linux.vm.provision “shell”, inline: <<-SHELL
ip route del default
ip route add default via 192.168.202.10
SHELL
linux.vm.provider “virtualbox” do |vb|
vb.gui = false
end
end

#Windows
config.vm.define “Windows10” do |windows|
windows.vm.box = “w10”
windows.vm.boot_timeout = 300
windows.vm.communicator = “winrm”
windows.vm.network “private_network”,
ip: “192.168.202.220”,
netmask: “255.255.255.224”,
gateway: “192.168.202.10”,
virtualbox__intnet: “FTP”
windows.vm.network :forwarded_port,
guest: 3389,
host: 33810
windows.vm.provider “virtualbox” do |vb|
vb.memory = “4096”
end
end
end