TFC: switch to Armbian and develop deployment procedure

Signed-off-by: Nicolás Ortega Froysa <nicolas@ortegas.org>
This commit is contained in:
Nicolás A. Ortega Froysa 2023-05-06 17:22:33 +02:00
parent 8c95a52b71
commit 0185488e99
2 changed files with 79 additions and 4 deletions

Binary file not shown.

View File

@ -5,6 +5,7 @@
\usepackage{graphicx} \usepackage{graphicx}
\usepackage{subcaption} \usepackage{subcaption}
\usepackage{minted} \usepackage{minted}
\usepackage{enumerate}
\usepackage{fancyhdr} \usepackage{fancyhdr}
\usepackage[ \usepackage[
backend=biber, backend=biber,
@ -257,8 +258,11 @@ corporativas, y Ubuntu también siendo muy conocida, Debian nos trae estabilidad
pero sobre todo un soporte amplio de plataformas -- soporte oficial para diez pero sobre todo un soporte amplio de plataformas -- soporte oficial para diez
arquitecturas, y no oficial para otras diez (\cite{debian-archs}) --, además de arquitecturas, y no oficial para otras diez (\cite{debian-archs}) --, además de
ser una distribución que permite una instalación mínima (particularmente sin ser una distribución que permite una instalación mínima (particularmente sin
entorno gráfico). Por este motivo, avanzamos utilizando Debian GNU/Linux. La entorno gráfico). Por este motivo, avanzamos utilizando Debian GNU/Linux. Dicho
versión actual estable es Bullseye (11). esto, Debian en sí no tiene mucha documentación acerca de su instalación en
dispositivos ARM (como lo es nuestra placa Rock64) y por lo tanto seleccionamos
un derivado de Debian GNU/Linux que se denomina Armbian, que distribuye lo que
son básicamente imágenes de Debian especializadas para distintas placas.
En cuanto a los programas que se precisan, haría falta un programa para En cuanto a los programas que se precisan, haría falta un programa para
gestionar las peticiones DNS y redirigirlas, otro para recibir las peticiones y gestionar las peticiones DNS y redirigirlas, otro para recibir las peticiones y
@ -443,8 +447,75 @@ nuestra solución, y sin conectarnos siquiera a un servidor que provee el
contenido bloqueado. contenido bloqueado.
\subsection{Manuales Técnicos y de Usuario} \subsection{Manuales Técnicos y de Usuario}
\subsection{Plan de Despliegue} \subsection{Plan de Despliegue}
Para desplegar nuestra solución haría falta seguir los siguientes pasos:
\begin{enumerate}[i.]
\item Instalar el sistema operativo (Armbian).
\item Configurar la red.
\item Instalar y configurar el servicio DNS (Bind9).
\item Instalar y configurar el servicio web (Nginx).
\item Instalar la página PHP que enviará avisos al administrador de la red.
\end{enumerate}
\subsubsection{Instalación de Armbian}
Para la instalación de Debian GNU/Linux en nuestro servidor, como utilizamos la
placa de Rock64 es tan fácil como preparar la tarjeta SD con una imagen de
Armbian, que se puede descargar en su sitio web en la página
dedicada a la placa Rock64.\footnotemark{} Una vez descargada lo podemos descomprimir e instalar
utilizando los comandos siguientes, asumiendo que en tu ordenador el dispositivo
de la tarjeta SD corresponde al fichero especial {\tt /dev/mmcblk1}:
\footnotetext{\url{https://www.armbian.com/rock64/}}
\begin{minted}{console}
# unxz Armbian_<version>_Rock64_<codename>_current_<version>.img.xz
# dd if=Armbian_<version>_Rock64_<codename>_current_<version>.img \
of=/dev/mmcblk1 bs=1M
\end{minted}
Al acabar este paso ya podemos insertar la tarjeta SD en nuestro Rock64 y
empezar a configurar la red.
\subsubsection{Configuración de Red}
Cuando hayamos inicializado nuestro servidor y estemos dentro, lo primero que
queremos hacer es configurar la red para utilizar una dirección estática. Esto
se hace manipulando el fichero {\tt /etc/network/interfaces}. Ahí nos aparecerá
algo parecido a lo siguiente:
\begin{verbatim}
auto eth0
iface eth0 inet dhcp
\end{verbatim}
El nombre de la interfaz (en este caso, {\tt eth0}) puede ser distinto, pero se
refiere a la interfaz de {\it ethernet} (por cable). Queremos cambiarlo para
establecer explícitamente una dirección IP estática que siempre lo va a
utilizar. Para esto cambiamos estas líneas para ser de la forma siguiente:
\begin{verbatim}
iface eth0 inet static
address 192.168.1.2
netmask 255.255.255.0
gateway 192.168.1.1
\end{verbatim}
Esto hará que nuestro servidor tome la dirección IP {\tt 192.168.1.2} de forma
estática, y define el acceso a internet a través de la IP {\tt 192.168.1.1}
(Ésta es la dirección IP del {\it router}, se supone. Si en aquella red el {\it
router} tiene otra dirección, utilizar aquella).
\subsubsection{Configuración e Instalación del Servicio DNS}
% TODO:
% - Servidor DNS
% - Servidor Web
% - Script PHP
\begin{figure}[h] \begin{figure}[h]
\centering \centering
\includegraphics[width=0.75\textwidth]{imgs/router-dns.png} \includegraphics[width=0.75\textwidth]{imgs/router-dns.png}
@ -452,8 +523,12 @@ contenido bloqueado.
\label{fig:router-dns} \label{fig:router-dns}
\end{figure} \end{figure}
En el panel de control del {\it router} se puede encontrar esta configuración Una vez configurado el servicio DNS en nuestro servidor, podemos ya cambiar la
en un apartado parecido al que se ve en la figura \ref{fig:router-dns}. configuración DHCP de nuestra red para especificar el servidor DNS por defecto.
Para hacer esto, en el panel de control del {\it router} se puede encontrar esta
configuración en un apartado parecido al que se ve en la figura
\ref{fig:router-dns}. Simplemente se rellena con la dirección IP de nuestro
servidor en la red interna y ya debería de estar configurado como servidor DNS.
\section{Conclusiones y Propuestas de Mejora} \section{Conclusiones y Propuestas de Mejora}