- Paz Lucas
- Paz Luciano
- Rodriguez Carmauta Gabriel Jesus
- Romero Garcia Juan Cruz
- Taphanel Facundo
- Escudero Mauro Joaquin
Crear una VM e instalar la imagen de Debian 11.10.
En nombre de la máquina indicar caservidor
.
En la vm caservidor
(usando el usuario root):
- Instalar el servidor SSH con
apt
:
apt install openssh-client
- Obtener la IP de la vm:
ip addr show
- Comprobar desde local o otra vm que está funcionando correctamente:
ssh usuario-caservidor@ip-vm
Reemplazar usuario-caservidor
con el nombre del usuario de la vm caservidor
y reemplazar ip-vm
con la ip obtenida en el paso anterior
En la vm caservidor
(usando el usuario root):
- Instalar el servidor DHCP y net tools con
apt
:
apt install isc-dhcp-server net-tools
- Crear el archivo
/etc/default/isc-dhcp-server
con el siguiente contenido:
INTERFACES="enp0s1"
- Agregar al archivo
/etc/dhcp/dhcpd.conf
el siguiente contenido:
(la mac address00:00:00:00:00:00
debe ser reemplazada con la de la vm decasoporte
)
subnet 192.168.10.0 netmask 255.255.255.0 {
range 192.168.10.101 192.168.10.254;
option routers 192.168.10.1;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.10.255;
option domain-name-servers 8.8.8.8;
}
Debe quedar como la siguiente imagen:
- Agregar al archivo
/etc/network/interfaces
el siguiente contenido:
iface enp0s1 inet static
address 192.168.10.1
netmask 255.255.255.0
gateway 192.168.10.1
broadcast 192.168.10.255
Debe quedar como la siguiente imagen:
- Iniciar el servidor DHCP:
systemctl start isc-dhcp-server
systemctl enable isc-dhcp-server
- Confirmar con
ifconfig
que la vm haya tomado la ip correcta:
ifconfig
Se debe visualizar como la siguiente imagen:
Crear una VM e instalar la imagen de Debian 11.10.
En nombre de la máquina indicar casoporte
.
En la vm casoporte
(usando el usuario root):
- Instalar net tools con
apt
:
apt install net-tools
- Obtener MAC address con
ifconfig
:
ifconfig
Se visualiza la siguiente información:
Se debe copiar el valor del campo ether
que es la MAC address de la VM. En este caso sería 3e:ad:29:e0:9c:d7
.
- Se debe volver a la VM
caservidor
con usuario root y editar el archivo/etc/dhcp/dhcpd.conf
dejándolo con el siguiente contenido:
(la mac address00:00:00:00:00:00
debe ser reemplazada con la de la vm decasoporte
obtenida en el paso anterior)
subnet 192.168.10.0 netmask 255.255.255.0 {
range 192.168.10.101 192.168.10.254;
option routers 192.168.10.1;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.10.255;
option domain-name-servers 8.8.8.8;
host casoporte {
hardware ethernet 00:00:00:00:00:00;
fixed-address 192.168.10.2;
}
}
Debe quedar como la siguiente imagen:
- Reiniciar el servicio DHCP en la VM
caservidor
:
systemctl restart isc-dhcp-server
- Volver a la VM de
casoporte
con el usuario root y editar el archivo/etc/network/interfaces
para utilizar el DHCP:
iface enp0s1 inet dhcp
Debe quedar como la siguiente imagen:
- Reiniciar el servicio de conexión:
systemctl restart networking
- Validar que la conexión fue establecida correctamente con
ifconfig
:
ifconfig
Se visualiza la siguiente información:
Crear una VM e instalar la imagen de Debian 11.10.
En nombre de la máquina indicar cactesoreria01
y cactesoreria02
.
En la vm cactesoreria01
y cactesoreria02
(usando el usuario root):
- Instalar net tools con
apt
:
apt install net-tools
- Editar el archivo
/etc/network/interfaces
para utilizar el DHCP:
iface enp0s1 inet dhcp
- Reiniciar el servicio de conexión:
systemctl restart networking
- Validar que la conexión fue establecida correctamente con
ifconfig
:
ifconfig
#!/bin/bash
# Funcion que devuelve la hora actual en formato UTC.
# Ejemplo: 2021-05-14_16-26-31Z
function now() {
date -u +"%Y-%m-%d_%H-%M-%S"Z
}
#Toma el directorio actual como base de ejecucion
BASEDIR=$(dirname "$0")
#Toma el nombre de este mismo script
BASENAME=$(basename -- "$0")
#Compone los paths de logs
LOGDIR=$BASEDIR/$BASENAME'.logs'
LOGFILE=$LOGDIR/$BASENAME'_'`now`.log
ORIGEN=/home
DESTINO=/media/backups
#Funcion que escribe los logs
function writelog() {
echo "$BASENAME: $(now) - $1" >&1 | tee -a $LOGFILE
}
# Se valida la existencia del directorio de logs. Se crea en
# caso de ser necesario
if [ ! -d $LOGDIR ]; then
mkdir $LOGDIR
fi
writelog "--------------------------------------"
writelog "--Iniciando script de sincronización--"
writelog "--------------------------------------"
# Se indican los argumentos obligatorios que recibira rsync
#-v: modo verbose muestra que va haciendo
#-r: lo hace recursivamente
#-z: comprime durante la transferencia
#-a: copia todo incluidos links simbolicos
ARGUMENTOSRSYNC=-vrza
# Se indican los argumentos opcionales que recibira rsync
# Aca verifico si tengo un argumento
if [ $# -eq 1 ]; then
archivo_exclusiones="$1"
writelog "Argumento de exclusiones detectado, leyendo exclusiones..."
# Verifica si el archivo existe
if [ ! -f "$archivo_exclusiones" ]; then
writelog "El archivo de exclusiones indicado '$archivo_exclusiones' no existe."
exit 1
fi
# Construir las opciones --exclude para rsync
while read -r linea; do
ARGUMENTOSRSYNC+=" --exclude '$linea'"
done < "$archivo_exclusiones"
fi
ARGUMENTOSRSYNC+="$ORIGEN/"
ARGUMENTOSRSYNC+="$DESTINO/"
writelog "Los argumentos finales para rsync son: $ARGUMENTOSRSYNC"
# Se arma la ejecucion de rsync. Se indican argumentos, origen,
# destino y se envian las salidas std y err al archivo de log
#rsync $ARGUMENTOSRSYNC
exit 0