\documentclass[10pt,a4paper]{article} % Packages \usepackage{fancyhdr} % For header and footer \usepackage{multicol} % Allows multicols in tables \usepackage{tabularx} % Intelligent column widths \usepackage{tabulary} % Used in header and footer \usepackage{hhline} % Border under tables \usepackage{graphicx} % For images \usepackage{xcolor} % For hex colours %\usepackage[utf8x]{inputenc} % For unicode character support \usepackage[T1]{fontenc} % Without this we get weird character replacements \usepackage{colortbl} % For coloured tables \usepackage{setspace} % For line height \usepackage{lastpage} % Needed for total page number \usepackage{seqsplit} % Splits long words. %\usepackage{opensans} % Can't make this work so far. Shame. Would be lovely. \usepackage[normalem]{ulem} % For underlining links % Most of the following are not required for the majority % of cheat sheets but are needed for some symbol support. \usepackage{amsmath} % Symbols \usepackage{MnSymbol} % Symbols \usepackage{wasysym} % Symbols %\usepackage[english,german,french,spanish,italian]{babel} % Languages % Document Info \author{Carlos99} \pdfinfo{ /Title (tutorial-vagrant-configuracion-y-tipos-de-red.pdf) /Creator (Cheatography) /Author (Carlos99) /Subject (Tutorial Vagrant (configuración y tipos de red) Cheat Sheet) } % Lengths and widths \addtolength{\textwidth}{6cm} \addtolength{\textheight}{-1cm} \addtolength{\hoffset}{-3cm} \addtolength{\voffset}{-2cm} \setlength{\tabcolsep}{0.2cm} % Space between columns \setlength{\headsep}{-12pt} % Reduce space between header and content \setlength{\headheight}{85pt} % If less, LaTeX automatically increases it \renewcommand{\footrulewidth}{0pt} % Remove footer line \renewcommand{\headrulewidth}{0pt} % Remove header line \renewcommand{\seqinsert}{\ifmmode\allowbreak\else\-\fi} % Hyphens in seqsplit % This two commands together give roughly % the right line height in the tables \renewcommand{\arraystretch}{1.3} \onehalfspacing % Commands \newcommand{\SetRowColor}[1]{\noalign{\gdef\RowColorName{#1}}\rowcolor{\RowColorName}} % Shortcut for row colour \newcommand{\mymulticolumn}[3]{\multicolumn{#1}{>{\columncolor{\RowColorName}}#2}{#3}} % For coloured multi-cols \newcolumntype{x}[1]{>{\raggedright}p{#1}} % New column types for ragged-right paragraph columns \newcommand{\tn}{\tabularnewline} % Required as custom column type in use % Font and Colours \definecolor{HeadBackground}{HTML}{333333} \definecolor{FootBackground}{HTML}{666666} \definecolor{TextColor}{HTML}{333333} \definecolor{DarkBackground}{HTML}{36C4E0} \definecolor{LightBackground}{HTML}{F2FBFD} \renewcommand{\familydefault}{\sfdefault} \color{TextColor} % Header and Footer \pagestyle{fancy} \fancyhead{} % Set header to blank \fancyfoot{} % Set footer to blank \fancyhead[L]{ \noindent \begin{multicols}{3} \begin{tabulary}{5.8cm}{C} \SetRowColor{DarkBackground} \vspace{-7pt} {\parbox{\dimexpr\textwidth-2\fboxsep\relax}{\noindent \hspace*{-6pt}\includegraphics[width=5.8cm]{/web/www.cheatography.com/public/images/cheatography_logo.pdf}} } \end{tabulary} \columnbreak \begin{tabulary}{11cm}{L} \vspace{-2pt}\large{\bf{\textcolor{DarkBackground}{\textrm{Tutorial Vagrant (configuración y tipos de red) Cheat Sheet}}}} \\ \normalsize{by \textcolor{DarkBackground}{Carlos99} via \textcolor{DarkBackground}{\uline{cheatography.com/193978/cs/40406/}}} \end{tabulary} \end{multicols}} \fancyfoot[L]{ \footnotesize \noindent \begin{multicols}{3} \begin{tabulary}{5.8cm}{LL} \SetRowColor{FootBackground} \mymulticolumn{2}{p{5.377cm}}{\bf\textcolor{white}{Cheatographer}} \\ \vspace{-2pt}Carlos99 \\ \uline{cheatography.com/carlos99} \\ \end{tabulary} \vfill \columnbreak \begin{tabulary}{5.8cm}{L} \SetRowColor{FootBackground} \mymulticolumn{1}{p{5.377cm}}{\bf\textcolor{white}{Cheat Sheet}} \\ \vspace{-2pt}Published 22nd September, 2023.\\ Updated 22nd September, 2023.\\ Page {\thepage} of \pageref{LastPage}. \end{tabulary} \vfill \columnbreak \begin{tabulary}{5.8cm}{L} \SetRowColor{FootBackground} \mymulticolumn{1}{p{5.377cm}}{\bf\textcolor{white}{Sponsor}} \\ \SetRowColor{white} \vspace{-5pt} %\includegraphics[width=48px,height=48px]{dave.jpeg} Measure your website readability!\\ www.readability-score.com \end{tabulary} \end{multicols}} \begin{document} \raggedright \raggedcolumns % Set font size to small. Switch to any value % from this page to resize cheat sheet text: % www.emerson.emory.edu/services/latex/latex_169.html \footnotesize % Small font. \begin{multicols*}{3} \begin{tabularx}{5.377cm}{p{0.4977 cm} p{0.4977 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{5.377cm}}{\bf\textcolor{white}{Vagrant}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{2}{x{5.377cm}}{Es una herramienta para la {\bf{creación y configuración de entornos de desarrollo virtualizados}}} \tn % Row Count 2 (+ 2) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{x{2.4885 cm} x{2.4885 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{5.377cm}}{\bf\textcolor{white}{Configuración mínima de Vagrantfile}} \tn % Row 0 \SetRowColor{LightBackground} Editar el fichero de configuración Vagrantfile para agregar una VM con {\emph{Centos7}} & {\bf{Vagrant.configure(}} {\emph{"2"}} {\bf{) do |config|}} \{\{nl\}\} {\bf{config.vm.box =}} {\emph{"centos/7"}} \{\{nl\}\} {\bf{config.vm.define}} {\emph{"Centos\_7"}} \{\{nl\}\} {\emph{end}} \tn % Row Count 7 (+ 7) % Row 1 \SetRowColor{white} arrancar la máquina virtual e iniciar el Vagrant & {\bf{\$ vagrant up}} \{\{nl\}\} {\bf{\$ vagrant init}} {\emph{centos/7}} \tn % Row Count 10 (+ 3) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Crear entornos múltiples MVs}} \tn \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{{\bf{Fichero Vagrantfile, instalar y arrancar Ubuntu y Debian:}} \newline % Row Count 2 (+ 2) `{\bf{Vagrant.configure(}} {\emph{"2"}} {\bf{) do |config| \{\{nl\}\} config.vm.define}} {\emph{"ubuntu"}} {\bf{do |ubuntu| \{\{nl\}\} ubuntu.vm.box =}} {\emph{"bento/ubuntu-16.04"}} \{\{nl\}\} {\bf{end}} \{\{nl\}\} {\bf{config.vm.define}} {\emph{"ubuntu"}} {\bf{do |debian| \{\{nl\}\} debian.vm.box =}} {\emph{"debian/jessie64"}} \{\{nl\}\} {\bf{end}} \{\{nl\}\}{\bf{end}}` \newline % Row Count 9 (+ 7) {\bf{Fichero Vagrantfile: instalar y arrancar dos nodos (nodo1 y nodo2) de una misma distribución}} {\emph{centos/7}}: \newline % Row Count 12 (+ 3) `{\bf{Vagrant.configure(}} {\emph{"2"}} {\bf{) do |config| \{\{nl\}\} config.vm.define}} {\emph{"nodo1"}} {\bf{do |nodo1| \{\{nl\}\} nodo1.vm.box =}} {\emph{"centos/7"}} \{\{nl\}\} {\bf{nodo1.vm.hostname =}} {\emph{'nodo1'}} \{\{nl\}\} {\bf{nodo1.vm.network}} {\emph{"public\_network"}}, \{\{nl\}\} {\bf{ip:}} {\emph{"192.168.1.24"}}\{\{nl\}\} {\bf{end}} \{\{nl\}\}{\bf{end}}`% Row Count 18 (+ 6) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Compartir carpetas entre MV y Host}} \tn \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{`{\bf{config.vm.synced\_folder}} {\emph{"." {\bf{}},}} {\emph{"/vagrant"}} {\bf{, \{\{nl\}\} type:}} {\emph{"virtualbox"}}`% Row Count 2 (+ 2) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{x{2.28942 cm} x{2.68758 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{5.377cm}}{\bf\textcolor{white}{Comandos de Administración de Mvs}} \tn % Row 0 \SetRowColor{LightBackground} {\bf{vagrant init:}} & iniciar Vagrant creando un directorio .vagrant y el archivo "Vagrantfile" (configuración) \tn % Row Count 5 (+ 5) % Row 1 \SetRowColor{white} {\bf{vagrant up:}} & arrancar una máquina virtual \tn % Row Count 7 (+ 2) % Row 2 \SetRowColor{LightBackground} {\bf{vagrant resume:}} & activar una máquina virtual suspendida previamente \tn % Row Count 10 (+ 3) % Row 3 \SetRowColor{white} {\bf{vagrant provision:}} & aprovisionar de nuevo una máquina virtual según la configuración \tn % Row Count 14 (+ 4) % Row 4 \SetRowColor{LightBackground} {\bf{vagrant reload:}} & reiniciar la máquina virtual \tn % Row Count 16 (+ 2) % Row 5 \SetRowColor{white} {\bf{vagrant ssh:}} & conectar mediante SSH a la máquina virtual \tn % Row Count 19 (+ 3) % Row 6 \SetRowColor{LightBackground} {\bf{vagrant halt:}} & apagar una máquina virtual \tn % Row Count 21 (+ 2) % Row 7 \SetRowColor{white} {\bf{vagrant suspend:}} & suspender una máquina virtual \tn % Row Count 23 (+ 2) % Row 8 \SetRowColor{LightBackground} {\bf{vagrant box list:}} & listar las máquinas virtuales gestionadas \tn % Row Count 25 (+ 2) % Row 9 \SetRowColor{white} {\bf{vagrant global-status -{}-prune:}} & listar todas las máquinas virtuales, su estado y carpeta de entorno. \tn % Row Count 29 (+ 4) % Row 10 \SetRowColor{LightBackground} {\bf{vagrant box add \textless{}name\textgreater{} \textless{}url\textgreater{}:}} & descargar e instala una máquina virtual \tn % Row Count 31 (+ 2) \end{tabularx} \par\addvspace{1.3em} \vfill \columnbreak \begin{tabularx}{5.377cm}{x{2.28942 cm} x{2.68758 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{5.377cm}}{\bf\textcolor{white}{Comandos de Administración de Mvs (cont)}} \tn % Row 11 \SetRowColor{LightBackground} {\bf{vagrant box outdated:}} & comprobar si hay actualizaciones de la máquina virtual \tn % Row Count 3 (+ 3) % Row 12 \SetRowColor{white} {\bf{vagrant box update:}} & actualizar la máquina virtual \tn % Row Count 5 (+ 2) % Row 13 \SetRowColor{LightBackground} {\bf{vagrant destroy:}} & eliminar la máquina virtual \tn % Row Count 7 (+ 2) % Row 14 \SetRowColor{white} {\bf{vagrant box remove \textless{}name\textgreater{}:}} & eliminar una máquina virtual específica \tn % Row Count 9 (+ 2) % Row 15 \SetRowColor{LightBackground} {\bf{vagrant destroy \&\& vagrant up:}} & devolver una máquina virtual a su estado original \tn % Row Count 12 (+ 3) % Row 16 \SetRowColor{white} {\bf{vagrant package:}} & empaquetar una máquina virtual en boxes \tn % Row Count 14 (+ 2) % Row 17 \SetRowColor{LightBackground} {\bf{vagrant snapshot list:}} & listar las snapshots guardadas \tn % Row Count 16 (+ 2) % Row 18 \SetRowColor{white} {\bf{vagrant snapshot push:}} & crear una snapshot de la máquina virtual \tn % Row Count 18 (+ 2) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{x{2.4885 cm} x{2.4885 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{5.377cm}}{\bf\textcolor{white}{Configuración y tipos de red}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{2}{x{5.377cm}}{{\bf{NAT:}} es la configuración predeterminadas, aísla la máquina virtual de las otras MVs.} \tn % Row Count 2 (+ 2) % Row 1 \SetRowColor{white} {\bf{Red interna:}} crea una red virtual entre las MVs & {\bf{config.vm.network}} {\emph{"private\_network", type: "dhcp"}} \{\{nl\}\} {\bf{config.vm.network}} {\emph{"private\_network", ip: "192.168.50.4"}} \tn % Row Count 9 (+ 7) % Row 2 \SetRowColor{LightBackground} {\bf{Adaptador puente:}} la MV actúa como un host más en la red interna & {\bf{config.vm.network}} {\emph{"bridged"}} \tn % Row Count 13 (+ 4) % Row 3 \SetRowColor{white} {\bf{Red pública:}} puede definir IPs fijas & {\bf{config.vm.network}} {\emph{"public\_network", type: "dhcp"}} \{\{nl\}\} {\bf{config.vm.network}} {\emph{"public\_network", ip: "192.168.1.44"}} \tn % Row Count 20 (+ 7) % Row 4 \SetRowColor{LightBackground} {\bf{Adaptador sólo-anfitrión:}} crea red privada entre MV y anfitrión & {\bf{config.vm.network}} {\emph{"hostonly", "192.168.33.10"}} \tn % Row Count 24 (+ 4) % Row 5 \SetRowColor{white} {\bf{Puerta de enlace predeterminada:}} interfaz eth0 {\bf{siempre conectada}} & {\bf{config.vm.provision}} {\emph{"shell"}}, \{\{nl\}\} {\bf{run:}} {\emph{"always"}}, \{\{nl\}\} {\bf{inline:}} {\emph{"ip route del default \&\& ip route add default via 192.168.178.1"}} \tn % Row Count 32 (+ 8) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Acceder a root directamente}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{Para acceder remotamente lo haremos mediante el SSH} \tn % Row Count 2 (+ 2) % Row 1 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{{\bf{cp -r}} {\emph{/home/vagrant/.ssh/ /root/}} \{\{nl\}\} {\bf{chown -R}} {\emph{root.root /root/.ssh/}}} \tn % Row Count 4 (+ 2) % Row 2 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{Modificar el usuario SSH en Vagrantfile: \{\{nl\}\} {\bf{config.ssh.username =}} {\emph{"root"}}} \tn % Row Count 6 (+ 2) % Row 3 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{Usar Ansible para ejecutar comandos en máquinas Vagrant habilitadas con sudo} \tn % Row Count 8 (+ 2) % Row 4 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{{\bf{ansible -vv all -m command -a "id" -u vagrant -{}-private-key}} {\emph{/ruta/a/la/clave/privada}} {\bf{-b -{}-become-method sudo -e "ansible\_become\_pass=contraseña"}}} \tn % Row Count 12 (+ 4) % Row 5 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{{\bf{ansible -vv all -m command -a "id" -u vagrant -{}-private-key}} {\emph{/ruta/a/la/clave/privada}} {\bf{-b}}} \tn % Row Count 14 (+ 2) \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} % That's all folks \end{multicols*} \end{document}