(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