Creació de mvs + Vagrantfile+ rutes+ boxes

(w2k19, serveix per tots els windows) creació y configuracions  manuals per els windows:

per començar configurarem la instal·lació:

posem l’idioma i cliquem a “install now”

ara tindrem que posar la segona opció en la dues eleccions :

tindrem que afegir un disc dur clicant a “new”

“next” i seguim

una vegada hem arribat al escritori sortim per posar la xarxa per bridge adapter i tornem a entrar

per optimizar-lo les eines que farem servir seran el “performance monitor” i el “task manager”

 per el antivirus farem servir:

  • windows defender
  • tambe podem utilitzar programas externs com mcafee

per el firewall (tallafocs) entrarem al powershell i posarem aquesta comanda:

per instalar el microsoft sysinternals simplement tindrem que entrar a explorer i descarregar la versió suite

(debian, serveix per tots els linuxs) creacio y configuracions manuals per els linux:

per començar posarem xarxa dinamica amb bridge adapter:

començem per el antivirus:

ara fem un scan de la home per probar-ho

ara pasem al tallafocs, instalem el tallafocs:

l’activem

permetrem conexions ssh, altres serveis i verifiquem

i per terminar fem les seguents comandes per netejar-lo i d’aquesta manera optimitzarlo:

Linux (Ubuntu / Debian)

1. Creació de l’usuari vagrant

Executar les comandes següents dins de la màquina virtual:

bash

CopyEdit

sudo useradd -m -s /bin/bash vagrant echo "vagrant:vagrant" | sudo chpasswd sudo usermod -aG sudo vagrant echo "vagrant ALL=(ALL) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/vagrant

Aquestes ordres creen un usuari anomenat vagrant, li assignen la contrasenya per defecte (vagrant), l’afegeixen al grup d’administradors i configuren l’ús de sudo sense necessitat de contrasenya.

2. Configuració del servei SSH

Per permetre la connexió remota via SSH:

bash

CopyEdit

sudo apt update sudo apt install -y openssh-server sudo systemctl enable ssh sudo systemctl start ssh

Afegir la clau pública per defecte de Vagrant:

bash

CopyEdit

mkdir -p /home/vagrant/.ssh curl -fsSL https://raw.githubusercontent.com/hashicorp/vagrant/master/keys/vagrant.pub \ -o /home/vagrant/.ssh/authorized_keys chmod 600 /home/vagrant/.ssh/authorized_keys chown -R vagrant:vagrant /home/vagrant/.ssh

3. Instal·lació de paquets addicionals

Tot i que no són estrictament necessaris per Vagrant, és recomanable instal·lar eines bàsiques de desenvolupament per compatibilitat amb plugins o altres eines:

bash

CopyEdit

sudo apt install -y build-essential dkms linux-headers-$(uname -r)


Windows (Windows 10 / Windows Server 2019)

1. Creació de l’usuari vagrant

Obrir PowerShell amb permisos d’administrador i executar:

powershell

CopyEdit

net user vagrant vagrant /add net localgroup Administrators vagrant /add

Això crea l’usuari vagrant amb contrasenya vagrant i li dona permisos d’administrador.

2. Instal·lació i configuració del servidor OpenSSH

A PowerShell:

powershell

CopyEdit

Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0 Start-Service sshd Set-Service -Name sshd -StartupType Automatic

Configurar el tallafoc per permetre connexions SSH:

powershell

CopyEdit

New-NetFirewallRule -Name sshd -DisplayName "OpenSSH Server" -Enabled True ` -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22

3. Clau pública de Vagrant

Crear el directori .ssh dins C:\Users\vagrant\, si no existeix:

powershell

CopyEdit

mkdir C:\Users\vagrant\.ssh

Crear el fitxer authorized_keys i enganxar-hi la clau pública estàndard de Vagrant:

text

CopyEdit

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEArD1N...

Assegurar-se que els permisos són correctes.


Neteja final (opcional)

Abans d’empaquetar la màquina, es recomana fer una neteja per reduir la mida de la box:

A Linux:

bash

CopyEdit

sudo apt clean sudo rm -rf /tmp/*

A Windows, eliminar arxius temporals, snapshots i fitxers d’usuari innecessaris.

Crear el directori per les boxes

powershell

CopyEdit

mkdir C:\Users\abusquets\Documents\Boxes

cd C:\Users\abusquets\Documents\Boxes

Empaquetar màquines com a Boxes

Configuració Linux (Ubuntu/Debian)

bash

CopyEdit

# Crear usuari vagrant

sudo useradd -m -s /bin/bash vagrant

echo “vagrant:vagrant” | sudo chpasswd

sudo usermod -aG sudo vagrant

echo “vagrant ALL=(ALL) NOPASSWD:ALL” | sudo tee /etc/sudoers.d/vagrant

# Instal·lar i configurar SSH

sudo apt update

sudo apt install -y openssh-server

sudo systemctl enable ssh

sudo systemctl start ssh

mkdir -p /home/vagrant/.ssh

curl -fsSL https://raw.githubusercontent.com/hashicorp/vagrant/master/keys/vagrant.pub -o /home/vagrant/.ssh/authorized_keys

chmod 600 /home/vagrant/.ssh/authorized_keys

chown -R vagrant:vagrant /home/vagrant/.ssh

# Paquets útils

sudo apt install -y build-essential dkms linux-headers-$(uname -r)

# Neteja

sudo apt clean

sudo rm -rf /tmp/*

Configuració Windows (WIN / Win2019)

A PowerShell (amb permisos d’administrador):

powershell

CopyEdit

net user vagrant vagrant /add

net localgroup Administrators vagrant /add

Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

Start-Service sshd

Set-Service -Name sshd -StartupType Automatic

New-NetFirewallRule -Name sshd -DisplayName “OpenSSH Server” -Enabled True `

  -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22

mkdir C:\Users\vagrant\.ssh

notepad C:\Users\vagrant\.ssh\authorized_keys

# Enganxa la clau pública de Vagrant (ssh-rsa …)

Empaquetar com a .box

powershell

CopyEdit

vagrant package –base Debian –output Debian.box

vagrant package –base Rocky –output Rocky.box

vagrant package –base Router1 –output Router1.box

vagrant package –base Router2 –output Router2.box

vagrant package –base Router3 –output Router3.box

vagrant package –base Ubuntu –output Ubuntu.box

vagrant package –base WIN –output WIN.box

vagrant package –base Win2019 –output Win2019.box

Crear projecte i Vagrantfile

powershell

CopyEdit

mkdir C:\Users\abusquets\Documents\Repte2.1

cd C:\Users\abusquets\Documents\Repte2.1

Arrencar màquines:

bash

CopyEdit

vagrant up

Comprovar estat:

bash

CopyEdit

vagrant status

Enrutament entre màquines

Exemple amb una màquina router1 que fa d’enrutador:

ruby

CopyEdit

config.vm.define “router1” do |router1|

  router1.vm.box = “Router1”

  router1.vm.network “private_network”, ip: “192.168.56.21”

  router1.vm.network “private_network”, ip: “192.168.57.21”

  router1.vm.provider “virtualbox” do |vb|

    vb.memory = “1024”

  end

end

Dins de router1, activa l’enrutament:

bash

CopyEdit

sudo sysctl -w net.ipv4.ip_forward=1

Vagrantfile complet

Vagrant.configure(“2”) do |config|

  # Debian

  config.vm.define “debian” do |debian|

debian.vm.box = “Debian”

debian.vm.network “private_network”, ip: “192.168.56.10”

debian.vm.provider “virtualbox” do |vb|

   vb.memory = “1024”

end

  end

  # Rocky Linux

  config.vm.define “rocky” do |rocky|

rocky.vm.box = “Rocky”

rocky.vm.network “private_network”, ip: “192.168.56.11”

rocky.vm.provider “virtualbox” do |vb|

   vb.memory = “1024”

end

  end

  # Router1

  config.vm.define “router1” do |router1|

router1.vm.box = “Router1”

router1.vm.network “private_network”, ip: “192.168.56.21”

router1.vm.network “private_network”, ip: “192.168.57.21”

router1.vm.provider “virtualbox” do |vb|

   vb.memory = “1024”

end

  end

  # Router2

  config.vm.define “router2” do |router2|

router2.vm.box = “Router2”

router2.vm.network “private_network”, ip: “192.168.56.22”

router2.vm.network “private_network”, ip: “192.168.57.22”

router2.vm.provider “virtualbox” do |vb|

   vb.memory = “1024”

end

  end

  # Router3

  config.vm.define “router3” do |router3|

router3.vm.box = “Router3”

router3.vm.network “private_network”, ip: “192.168.56.23”

router3.vm.network “private_network”, ip: “192.168.57.23”

router3.vm.provider “virtualbox” do |vb|

   vb.memory = “1024”

end

  end

  # Ubuntu

  config.vm.define “ubuntu” do |ubuntu|

ubuntu.vm.box = “Ubuntu”

ubuntu.vm.network “private_network”, ip: “192.168.56.12”

ubuntu.vm.provider “virtualbox” do |vb|

   vb.memory = “1024”

end

  end

  # Windows 10

  config.vm.define “win” do |win|

win.vm.box = “WIN”

win.vm.network “private_network”, ip: “192.168.56.13”

win.vm.provider “virtualbox” do |vb|

   vb.memory = “2048”

end

  end

  # Windows Server 2019

  config.vm.define “win2019” do |win2019|

win2019.vm.box = “Win2019”

win2019.vm.network “private_network”, ip: “192.168.56.14”

win2019.vm.provider “virtualbox” do |vb|

   vb.memory = “2048”

end

  end

end

Leave a comment

Your email address will not be published. Required fields are marked *