Manual_de_Implementacion_de_Beakos_GNU2

download Manual_de_Implementacion_de_Beakos_GNU2

of 255

Transcript of Manual_de_Implementacion_de_Beakos_GNU2

Manual de Implementacion de Beakos GNU/LinuxVersion 203/03/2011

Fondo de Informacin y documentacin para la Industria InfotecAutor: Francisco Sosa Romero

Beakos GNU/Linux: Manual de Implementacin de Beakos GNU/Linux 1.0

Este manual de implementacin documenta toda la informacin relacionada a la configuracin y administracin de Beakos GNU/Linux en ambientes de produccin.

Fondo de Informacin y Documentacin para la Industria

Av. San Fernando #37 Col. Toriello Guerra Del. Tlalpan Mxico D. F.

ColaboradoresFrancisco Sosa Romero Jess Arriola Villarreal Antonio Moreno Herrera Carlos Torres Arcega ngel Ruiz Rosas

Informacin sobre los derechos reservados relacionados a esta publicacin.Reconocimiento-No comercial-Compartir bajo la misma licencia 3.0Usted es libre de:

Copiar, distribuir y comunicar pblicamente la obra. Hacer obras derivadas.

Bajo las condiciones siguientes:

Reconocimiento Debe reconocer y citar al autor original de esta obra. No comercial No puede utilizar esta obra para fines comerciales. Compartir bajo la misma licencia Si altera o transforma esta obra, o genera una obra derivada, slo puede distribuir la obra generada bajo una licencia idntica a sta.

Tabla de contenidoReconocimiento-No comercial-Compartir bajo la misma licencia 3.0 .................................. 4 Usted es libre de:............................................................................................................... 4 Bajo las condiciones siguientes: ........................................................................................ 4

Introduccin .......................................................................................... 15Convenciones para este documento....................................................................................... 15

Captulo 1 Instalacin de Beakos GNU/Linux ......................................... 17Instalacin guiada de Beakos GNU/Linux ............................................................................... 17 1.2 Instalacin personalizada .................................................................................................. 25 1.3 Arranque del sistema operativo Beakos GNU/Linux ......................................................... 39 1.3.1 Cargador de inicializacin GRUB ................................................................................ 39 1.3.2 Proceso INIT ............................................................................................................... 40 1.3.3 Secuencia de arranque en Beakos GNU/Linux ........................................................... 40

Captulo 2 Configuracin de la red ......................................................... 412.1 Archivos de configuracin de la red .................................................................................. 41 2.2 Asistente de la configuracin de la red ............................................................................. 42 2.2.1 Asignacin de direccin IP esttica ............................................................................ 43 2.2.2 Asignacin de la direccin IP a travs de DHCP ......................................................... 46 2.2.3 Parmetros de DNS ................................................................................................... 47 2.2.4 Configuracin del nombre del sistema ...................................................................... 49 2.3 Administracin de hosts .................................................................................................... 50

Captulo 3 Control de servicios de Beakos GNU/Linux ........................... 513.1 Niveles de ejecucin.......................................................................................................... 51 3.2 Administracin de servicios con chkconfig ....................................................................... 53 3.3 Administracin de servicios a travs de Webmin ............................................................. 54

Captulo 4 Lnea de comandos ............................................................... 574.1 Intrprete de comandos BASH ......................................................................................... 57 4.1.1 Control de tareas ........................................................................................................ 60 4.1.2 Variables de entorno .................................................................................................. 60 4.1.3 Redireccin ................................................................................................................. 61 4.1.4 Pginas del manual..................................................................................................... 62 4.1.5 Textinfo ...................................................................................................................... 62 4.1.7 Listar archivos............................................................................................................. 62

4.2 Manipulacin de archivos y directorios ............................................................................ 64 4.2.1 Tipos de ficheros y directorios ................................................................................... 64 4.2.3 Archivos, propiedades y permisos ............................................................................. 64 4.2.2 Cambio de un usuario a un archivo o directorio ........................................................ 65 4.2.3 Copiar archivos ........................................................................................................... 66 4.2.4 Mover archivos directorios ....................................................................................... 66 4.2.5 Crear enlaces simblicos ............................................................................................ 67 4.2.6 Buscar archivos y directorios...................................................................................... 67 4.2.7 Compresin de archivos y directorios con GZIP y BZIP2 ............................................ 68 4.2.8 Crear y eliminar directorios ....................................................................................... 68 4.2.9 Concatenar archivos ................................................................................................... 69 4.2.10 Uso de espacio en disco ........................................................................................... 69 4.2.11 Localizar comandos .................................................................................................. 70 4.3 Edicin de textos ............................................................................................................... 70 4.4 Lectura de archivos ........................................................................................................... 71 4.5 Utileras del sistema .......................................................................................................... 71 4.5.1 Mostrar el directorio de ubicacin actual .................................................................. 71 4.5.2 Espacio libre del disco ................................................................................................ 71 4.5.3 Mostrar un archivo mientras crece ............................................................................ 72 4.5.4 Sincronizacin de archivos y copias de respaldo con RSYNC ..................................... 72 4.5.5 Listar procesos............................................................................................................ 73 4.5.6 Matar procesos .......................................................................................................... 73

Captulo 5 Administracin de usuarios y grupos .................................... 745.1 Qu constituye a un usuario?.......................................................................................... 74 5.2 El archivo /etc/passwd ...................................................................................................... 74 5.2.1 Campo del nombre de usuario ................................................................................... 74 5.2.2 Campo de la contrasea ............................................................................................. 75 5.2.3 Campo del ID del usuario (UID) .................................................................................. 75 5.2.4 Campo de la ID del grupo (GID) .................................................................................. 75 5.2.5 Campo del nombre completo .................................................................................... 75 5.2.6 Campo del directorio .................................................................................................. 75 5.2.7 Campo del intrprete de comandos .......................................................................... 75 5.4 El archivo /etc/shadow ..................................................................................................... 76 5.4.1 Polticas de expiracin de contraseas ...................................................................... 76

5.5 El archivo /etc/group......................................................................................................... 77 5.6 Administrando usuarios .................................................................................................... 78 4.6.1 Agregar usuarios......................................................................................................... 78 5.6.2 Borrar usuarios ........................................................................................................... 79 5.6.3 Modificar usuarios...................................................................................................... 79 5.6.4 Agregar grupos .......................................................................................................... 79 5.6.5 Borrar grupos ............................................................................................................. 79 5.6.6 Modificar grupos ........................................................................................................ 79 5.7 Administracin de usuarios a travs de Webmin ............................................................ 80 5.8 Usuarios y permisos de acceso ......................................................................................... 80 4.9 Comprensin de SetUID, SetGID y Sticky bit ..................................................................... 80 5.10 Listas de accesos (ACL) .................................................................................................... 82 5.10.1 Activacin del uso de listas de acceso sobre sistemas de archivos. ........................ 82 5.10.2 Implementacin de listas de acceso en archivos y directorios. ............................... 83 5.11 Configuracin y administracin de cuotas ...................................................................... 85 5.11.1 Activacin del uso de cuotas sobre sistemas de archivos........................................ 85 5.11.2 Administracin de cuotas de disco. ......................................................................... 86

Captulo 6 Planificacin de tareas con Cron ........................................... 886.1 Configuracin de una tarea con cron ............................................................................ 88 6.2 Control de acceso a cron ............................................................................................... 91 6.3 Administracin de tareas planificadas a travs de Webmin ......................................... 91 6.3.1 Editar una tarea programada ..................................................................................... 92 6.3.2 Control de acceso de los usuarios a cron ................................................................... 92

Captulo 7 Administracin de sistemas de archivos ............................... 937.1 Administracin de particiones .......................................................................................... 93 7.1.2 ext3 y ReiserFS ........................................................................................................... 93 7.1.3 Creacin de una particin .......................................................................................... 93 7.2 Utilizacin de etiquetas en sistemas de archivos.............................................................. 97 7.3 Montando y desmontando sistemas de archivos ............................................................. 98 7.4 Puntos de montaje y el archivo /etc/fstab........................................................................ 99 7.5 Software RAID ................................................................................................................. 100 7.5.1 Niveles de RAID ms comunes ................................................................................. 100 7.5.1 Configuracin de software RAID .............................................................................. 101 7.5.2 Pruebas y recuperacin ............................................................................................ 103

7.6 Administracin de volmenes lgicos............................................................................. 104 7.6.1 Creacin de Grupos de volmenes y volmenes lgicos ........................................ 106 7.6.2 Redimensionando volmenes lgicos ...................................................................... 109 7.7 Crear un rea de intercambio (SWAP) utilizando un archivo ......................................... 110

Captulo 8 Configuracin del firewall de Beakos GNU/Linux ................ 1129.1 Netfilter ........................................................................................................................... 112 8.2 Funcionamiento de IPtables ............................................................................................ 112 8.3 Manejo de IPtables.......................................................................................................... 114 8.4 Opciones de comandos de IPtables ................................................................................ 116 8.4.1 Destinos de las reglas (target) .................................................................................. 118 8.4.2 Especificaciones de las reglas ................................................................................... 118 8.4.3 Seguimiento de conexiones ..................................................................................... 119 8.4.4 Persistencia de las reglas.......................................................................................... 120 8.5 Network Address Translation (NAT) ................................................................................ 121 8.5.1 Compartir Internet en una red LAN ......................................................................... 124 8.5.2 Configuracin de un firewall simple......................................................................... 125 8.6 Configuracin del firewall con Webmin .......................................................................... 127

Captulo 9 Sistema de archivos /proc................................................... 12910.1 Archivos dentro del directorio /proc............................................................................. 129 9.1.1 buddyinfo ................................................................................................................. 130 9.1.2 cmdiline .................................................................................................................... 130 9.1.3 cpuinfo...................................................................................................................... 130 9.1.4 crypto ....................................................................................................................... 131 9.1.5 devices ...................................................................................................................... 131 9.1.6 dma........................................................................................................................... 132 9.1.7 filesystems ................................................................................................................ 132 9.1.8 interrupts.................................................................................................................. 132 9.1.9 loadavg ..................................................................................................................... 133 9.1.10 meminfo ................................................................................................................. 133 9.1.11 modules .................................................................................................................. 134 9.1.12 mounts ................................................................................................................... 134 9.1.13 partitions ................................................................................................................ 135 9.1.14 stat.......................................................................................................................... 135 9.1.15 swaps ...................................................................................................................... 135

9.2 Ajustes dentro de /proc .................................................................................................. 135 9.3 Uso del comando sysctl ................................................................................................... 136

Captulo 10 Gestin de paquetes ......................................................... 13811.1 Instalacin y desinstalacin de paquetes...................................................................... 138 10.1.1 Comando installpkg ................................................................................................ 138 10.1.2 Comando removepkg ............................................................................................. 138 10.2 Administracin de paquetes con SWARET .................................................................... 139 10.2.1 Archivo de configuracin swaret.conf ................................................................... 139 10.2.2 Opciones del comando swaret ............................................................................... 141 10.3 Compilacin de software desde el cdigo fuente ......................................................... 142 10.3.1 Creacin de paquetes con la herramienta Checkinstall ......................................... 144

Captulo 11

Sistema de logs ............................................................ 145

11.1 El demonio Syslogd ....................................................................................................... 145 11.2 Configuracin del demonio syslogd .............................................................................. 145 11.3 Enviar registros a otro sistema remoto ......................................................................... 146

Captulo 12 Servicios sobre demanda .................................................. 14812.1 Extended Internet Daemon ........................................................................................... 148 12.2 Instalacin del Demonio Xinetd .................................................................................... 148 12.3 Configuracin del demonio Xinetd................................................................................ 148 12.3.1 Variables para servicios de Xinetd ......................................................................... 149 12.3.2 Ejemplos de servicios a travs de Xinetd ............................................................... 150

Captulo 13 Open SSH .......................................................................... 15113.1 Ventajas de SSH ............................................................................................................. 151 13.2 Versiones de SSH ........................................................................................................... 151 13.3 Configuracin del servidor SSH ..................................................................................... 151 13.4 Administracin del servidor SSH a travs de Webmin .................................................. 152 13.5 Cliente SSH .................................................................................................................... 154 13.5.1 Comando ssh .......................................................................................................... 154 13.5.2 Comando scp .......................................................................................................... 155 13.5.3 Comando sftp ......................................................................................................... 156 13.5.4 Clientes con interfaz grafica para SSH .................................................................... 156

Captulo 14 Servicios de impresin ...................................................... 15814.1 Sistema de impresin cups............................................................................................ 158

14.1.1 Caractersticas ........................................................................................................ 158 14.2 Funcionamiento ............................................................................................................ 158 14.3 Planificador.................................................................................................................... 159 14.4 Instalacin de CUPS ....................................................................................................... 159 14.4.1 Archivos de Trabajo ................................................................................................ 160 14.4.2 Archivos de registro ............................................................................................... 160 14.5 Comandos Berkeley....................................................................................................... 161 14.5.1 El comando LPC ...................................................................................................... 161 14.5.2 El comando LPQ ..................................................................................................... 161 14.5.3 El comando LPR ...................................................................................................... 162 14.5.4 El comando LPRM................................................................................................... 162 14.6 Comandos SYSTEM V..................................................................................................... 163 14.6.1 El comando LP ........................................................................................................ 163 14.6.2 El comando LPADMIN ............................................................................................ 163 14.7 Comandos CUPS ............................................................................................................ 164 14.7.1 El comando CUPSADDSMB ..................................................................................... 164 14.7.2 El comando LPINFO ................................................................................................ 165 14.8 Configuracin de impresoras ........................................................................................ 165 14.8.1 Uso de la interfaz web ............................................................................................ 166 14.8.2 Agregado de impresoras con la interfaz Web ........................................................ 167 14.8.3 Agregar una impresora desde la lnea de comandos ............................................. 169 14.8.4 Configuracin de la impresora predeterminada .................................................... 170 14.8.5 Privilegios de impresin ......................................................................................... 171 14.8.6 Eliminar impresoras ............................................................................................... 171

Captulo 15 Network File System (NFS) ................................................ 17215.1 Historia de NFS .............................................................................................................. 172 15.2 Instalacin de NFS ......................................................................................................... 172 15.3 Acceso y montaje de las particiones ............................................................................. 173 15.4 Configuracin del servidor NFS ..................................................................................... 173 15.4.1 El archivo de configuracin /etc/exports ............................................................... 174 15.4.2 Comando exportfs .................................................................................................. 174 15.4.3 Comando showmount ............................................................................................ 175 15.5 Configuracin del cliente NFS ....................................................................................... 175

Captulo 16 SAMBA (CIFS).................................................................... 178

16.1 Caractersticas ............................................................................................................... 178 16.1.2 Lo que puede y no puede hacer Samba ................................................................. 179 16.2 Demonios de Samba...................................................................................................... 179 16.3 Nombres de usuarios y contraseas ............................................................................. 179 16.3.1 Motores de usuarios y contraseas ....................................................................... 180 16.4 Instalacin de Samba .................................................................................................... 180 16.5 Configuracin de Samba ............................................................................................... 181 16.5.1 Configuracin del grupo de trabajo ....................................................................... 181 16.5.2 Seguridad a nivel de usuarios................................................................................. 181 16.5.3 Seguridad a nivel de red ......................................................................................... 182 16.5.4 Compartir impresoras en un entorno de red de Windows .................................... 182 16.5.5 Compartir archivos en un entorno de red de Windows ........................................ 183 16.6 Samba como controlador de dominio primario usando tdbsam. ................................. 185 16.7 Uso de samba para autenticar contra un servidor Windows........................................ 187 16.7.1 El demonio Winbind ............................................................................................... 187 16.7.2 Integracin al active directory ............................................................................... 187 16.8 SWAT (Samba Web Administration Tool) ..................................................................... 192 16.8.1 Mens de SWAT ..................................................................................................... 193 16.9 El comando SMBCLIENT ................................................................................................ 194 16.9.1 Explorar un servidor ............................................................................................... 194 16.9.2 Acceder a un archivo remoto ................................................................................. 195 16.10 Montaje de un recurso compartido de Samba ........................................................... 196

Captulo 17 LDAP ................................................................................. 19817.2 Conceptos bsicos de LDAP........................................................................................... 198 17.2.1 Jerarqua de LDAP .................................................................................................. 198 17.2.2 Funcionamiento de LDAP ....................................................................................... 199 17.2.3 Implementaciones de LDAP ................................................................................... 199 17.2.4 Trminos empleados en LDAP ............................................................................... 200 17.3 Open LDAP..................................................................................................................... 201 17.3.1 Los demonios Slapd y Slurpd. ................................................................................. 201 17.3.2 Utilidades del Cliente de OpenLDAP ...................................................................... 201 17.4 Instalacin de OpenLDAP .............................................................................................. 202 17.5 Configuracin de OpenLDAP ......................................................................................... 202 17.5.1 El archivo de configuracin slapd.conf................................................................... 202

17.5.3 Administracin del servicio de OpenLDAP ............................................................. 204 17.5.4 Configuracin del cliente de OpenLDAP ................................................................ 205 17.6 Creacin de objetos en OpenLDAP ........................................................................... 205 17.6.1 Consultas en un directorio LDAP ............................................................................ 206 17.7 Implementacin de una libreta de direcciones en un directorio LDAP ........................ 207 17.7.1 Agregar los esquemas. ........................................................................................... 208 17.7.2 Instalacin de PHPLDAPADMIN.............................................................................. 208 17.7.3 Creacin de Objetos con PHPLDAPADMIN ............................................................ 210 17.7.4 Configuracin del cliente de Correo....................................................................... 211

Captulo 18 DHCP ................................................................................ 21418.1 Funcionamiento del servicio de DHCP .......................................................................... 214 18.2 Instalacin del servidor DHCP ....................................................................................... 214 18.2.1 Administracin del Servicio de DHCP ..................................................................... 215 18.3 Configuracin del servidor DHCP .................................................................................. 215 18.3.1 Declaraciones ......................................................................................................... 216 18.3.2 Parmetros ............................................................................................................. 217 18.3.3 Opciones ................................................................................................................. 218 18.4 Ejemplo de un archivo de configuracin ................................................................... 218

Captulo 19 Copias de seguridad .......................................................... 22019.1 Amanda ......................................................................................................................... 220 19.2 Instalacin de Amanda .................................................................................................. 220 19.3 Configuracin de un servidor amanda .......................................................................... 221 19.3.1 Modificar Amanda Daemons para usar auth bsdtcp ............................................. 221 19.3.2 Configuracin del respaldo .................................................................................... 222 19.3.3 Configuracin de Cintas Virtuales .......................................................................... 224 19.3.4 Definicin de las rutas de respaldos ...................................................................... 225 19.4 Configuracin del Cliente .............................................................................................. 226 19.4.1 Solo para otras distribuciones ................................................................................ 227

Captulo 20 Berkeley Internet Name Domain (BIND) ........................... 23320.1 Historia del DNS ............................................................................................................ 233 20.2 La tabla de hosts............................................................................................................ 233 20.3 Dominios y conceptos sobre los nombres de hosts .................................................. 234 20.3.1 Dominio raz ........................................................................................................... 234

20.3.2 Dominios de primer nivel ....................................................................................... 235 20.3.3 Dominios de segundo nivel .................................................................................... 235 20.3.4 Dominios de tercer nivel ....................................................................................... 235 20.3.5 El dominio in-addr.arpa .......................................................................................... 236 20.4 Tipos de servidores de DNS ........................................................................................... 236 20.4.1 Servidores DNS primarios....................................................................................... 236 20.4.2 Servidores DNS secundarios ................................................................................... 237 20.4.3 Servidores DNS de cach ........................................................................................ 237 20.5 Instalacin de un servidor DNS .................................................................................... 237 20.6 Archivo de configuracin de named.conf ..................................................................... 237 20.6.1 Comentarios ........................................................................................................... 238 20.6.2 Palabras reservadas para los enunciados .............................................................. 238 20.6.3 El enunciado include .............................................................................................. 238 20.6.4 Enunciado logging .................................................................................................. 239 20.6.5 Enunciado server .................................................................................................... 239 20.6.6 Zonas ...................................................................................................................... 239 20.6.7 Enunciado Key ........................................................................................................ 240 20.7 Configuracin de BIND .................................................................................................. 240 20.7.1 Definicin de una zona primaria ............................................................................ 240 20.7.2 Definicin de una zona secundaria ........................................................................ 242 20.7.3 Definicin de una zona de cach............................................................................ 242 20.8 Tipos de registros DNS .................................................................................................. 243 20.8.1 Inicio de autoridad (SOA) ...................................................................................... 243 20.8.2 Servidor de nombres (NS) ...................................................................................... 244 20.8.3 Registro de direccin (A) ....................................................................................... 244 20.8.4 Registro apuntador (PTR) ....................................................................................... 244 20.8.5 Intercambio de correo (MX) ................................................................................... 245 20.8.6 Nombre cannico (CNAME) ................................................................................... 245 20.8.7 Registros de documentacin RP y TXT ................................................................... 245 20.9 Configuracin de un servidor DNS completo ................................................................ 246 20.9.1 Configuracin de la zona en el servidor primario .................................................. 246 20.9.2 Configuracin de la zona en el servidor secundario .............................................. 247 20.9.3 Configuracin de la zona inversa en el servidor primario ...................................... 247 20.10 Consultas a servidores DNS ......................................................................................... 248

20.10.1 Comando host ...................................................................................................... 248 20.10.2 El comando dig ..................................................................................................... 248

Captulo 21 File Tranfer Protocol (FTP) ................................................ 25021.1 Funcionamiento de FTP ................................................................................................. 250 21.1.1 Accesos a un servidor FTP ...................................................................................... 250 21.1.2 FTP activo ............................................................................................................... 250 21.1.3 FTP pasivo ............................................................................................................... 251 21.2 Instalacin de VSFTPD ................................................................................................... 251 21.3 Configuracin de VSFTPD .............................................................................................. 251 21.3.1 El archivo vsftpd.conf ............................................................................................. 251 20.3.2 Ejemplo de un archivo de configuracin vsftpd.conf ............................................. 253

Referencias ......................................................................................... 254Libros ..................................................................................................................................... 254 Manuales y tutoriales en lnea .............................................................................................. 254 Informacin general .............................................................................................................. 255

ndice .......................................................... Error! Marcador no definido.

IntroduccionBienvenido al manual de implementacin de Beakos GNU/Linux, este documento contiene informacin sobre la instalacin, personalizacin y tareas de mantenimiento de su sistema Beakos GNU/Linux. El proyecto de la distribucin Beakos GNU/Linux, nace de analizar la tendencia de otras distribuciones de GNU/Linux que en su intento de acercarse ms al usuario final, incluyen soporte para una gran cantidad de hardware y mdulos de Kernel innecesarios, lo que eleva el consumo del CPU y memoria RAM de manera considerable.

Beakos GNU/Linux es un sistema de desarrollo de software libre impulsado por Infotec para desempearse en ambientes de produccin.

El software libre se refiere directamente a la Libertad que el usuario tiene de emplear y modificar el software a sus necesidades, no tiene nada que ver con el precio. El equipo de desarrollo de Beakos GNU/Linux espera que esta distribucin le sea de utilidad y lo invita a participar de forma activa con la misma.

Convenciones para este documentoEste manual de Beakos GNU/Linux contiene palabras que varan en tamao y tipo de letra para diferenciar su inclusin en una categora especfica, ejemplos de palabras con este tipo de caractersticas son: comandos Cuando encuentre texto con este tipo de estilo (Courier New negrita 11)significa que deber teclear tal cual el comando directamente en la consola. Ejemplo: Introduzca el comando cat archivo para leer su contenido nombres de archivos Los nombres de archivos, rutas especficas, directorios, enlaces simblicos utilizarn el mismo estilo sin negrita, esto significa que los archivos o directorios mencionados existen con el mismo nombre en el sistema operativo. Ejemplo: El archivo /etc/fstab contiene datos sobre los puntos de montaje de los sistemas de archivos.

Aplicaciones Cuando se haga mencin de una aplicacin de un usuario se utilizar este estilo (Calibri 11, negrita). Ejemplo: Puede acceder a la interfaz de administracin Webmin a travs un navegador web como firefox.

El intrprete de comandos se mostrara bajo la siguiente forma (Courier New 11), sombreado en gris root [ ~ ]#

De forma adicional se utilizan algunas imgenes para resaltar informacin importante.

Nota Tenga en cuenta que Beakos es sensible a letras maysculas por lo que escribir network no es lo mismo que Network

Sugerencia No olvides de usar el usuario root lo menos posible, crea un usuario habilitado para usar el comando sudo.

Captulo 1 Instalacion de Beakos GNU/LinuxInstalacin guiada de Beakos GNU/LinuxLa instalacin guiada permite a los usuarios con pocos conocimientos instalar Beakos GNU/Linux de una manera fcil, este mtodo crear tres particiones: /boot para alojar la imagen del Kernel y archivos de configuracin para el arranque del sistema operativo, tendr un tamao 130 Mb. / donde residirn todos los directorios del sistema, utilizar todo el espacio restante del disco duro. swap rea de intercambio, tendr el doble de tamao que la memoria RAM de el ordenador donde ser instalado.

Pasos para llevar a cabo una instalacin de Beakos. Insertar el disco en la unidad DVD/ROM que contiene la imagen de Beakos GNU/Linux e iniciar el equipo en modalidad de arranque desde unidad de CD-ROM/DVD-ROM. La imagen ISO se puede obtener de la pgina oficial del proyecto Beakos www.beakos.com.mx

Seleccionar la opcin Instalar Beakos GNU/Linux.

Ingresar el nombre del login root y password toor que se indica en el submen del instalador de Beakos.

Teclear en el prompt la palabra setup para inicializar el instalador.

Seleccionar el botn EXIT y presionar la tecla enter una vez que haya terminado de leer la licencia GPL.

Seleccionar la modalidad de instalacin AUTOMTICA.

Elegir el disco duro donde se llevar a cabo la instalacin.

Una vez seleccionada la unidad correcta para continuar con la instalacin automtica, el instalador proceder a definir el particionamiento adecuado.

Confirmar que desea continuar con la instalacin.

Seleccionar la opcin Yes para proceder con la instalacin de GRUB.

Elegir la opcin No deseo crear un Floppy de GRUB.

Ingresar el password que ser asignado al super usuario root de 6 caracteres como mnimo, posteriormente confirmar dicha contrasea ingresada.

Capturada correctamente la contrasea que ser establecida para el usuario root, seleccionar OK para proceder en reiniciar el equipo y finalizar la instalacin de Beakos GNU/Linux.

1.2 Instalacin personalizadaDentro de este apartado se mencionaran los pasos a seguir para realizar una correcta instalacin de sistema operativo dentro de la modalidad manual. Insertar el disco que contiene la imagen (ISO) de BeakOS GNU/Linux e iniciar el equipo en modalidad de arranque desde unidad de CD-ROM/DVD-ROM. la imagen se puede obtener del sitio oficial del proyecto Beakos www.beakos.com.mx. Seleccionar Instalar Beakos GNU/Linux.

Ingresar el nombre del login root y password toor que se indica en el submen del instalador de Beakos.

Teclear en el prompt la palabra setup para inicializar el instalador.

Presionar enter y salir una vez que haya terminado de leer la licencia.

Seleccionar la modalidad de instalacin MANUAL.

Teclear enter al aviso que se muestra previo a la creacin del esquema de particionamiento.

Una vez posicionados en la siguiente ventana, seleccionar la opcin PARTICIONAR para personalizar nuestro esquema de particionamiento.

Elegir el disco duro donde se llevar a cabo la instalacin.

Seleccionada la unidad correcta para continuar con la instalacin personalizada, el instalador pasara al men de opciones previo a la creacin del esquema de particionamiento.

Para crear las particiones que necesitamos utilicemos la herramienta fdisk (vase el tema 7.1 Administracin de particiones), necesitamos crear mnimamente las siguientes particiones. / (raiz) que almacenar todos los archivos necesarios para el funcionamiento de beakos. Su tamao mnimo debe ser de 4GB. swap rea de intercambio, su tamao debe ser del doble de la memoria RAM, si es un servidor de ms de 4 GB de RAM lo conveniente es que su tamao no exceda los 4 GB. Concluida la creacin de las particiones necesarias para poder instalar Beakos, procedemos a configurar la particin SWAP.

El instalador detectar automticamente la particin SWAP creada previamente con la herramienta fdisk, seleccionemos la opcin Yes para utilizar esa particin.

Si ya hemos activado alguna particin SWAP lo adecuado es reiniciar el sistema para no corromper la memoria de las pginas que se encuentren actualmente, si est seguro de que no hay particiones SWAP activas. Seleccionemos la opcin OK.

El instalador de Beakos dar formato a las particiones SWAP, seleccione la opcin Yes para continuar.

Una vez que la particin tenga formato adecuado para actuar como rea de intercambio el instalador nos mostrar el guin que tendr en el archivo /etc/fstab. Seleccionamos EXIT para continuar.

Cuando se ha aadido la particin SWAP al archivo /etc/fstab seleccionamos la opcin Yes para configurar la tabla de particiones.

El instalador de Beakos nos mostrar las particiones disponibles creadas con fdisk, seleccionaremos en primera instancia la destinada a / (raiz) y seleccionamos OK, si creaste mas particiones de Linux puedes utilizarlas para fijar mas puntos de montaje.

Selecciona la particin donde se instalar el sistema.

Como la particin no ha sido formateada seleccionemos la opcin Format, se le asignar el sistema de archivos ext3.

Seleccionar la densidad del los inodos, por defecto el instalador selecciona el valor de 4096 bytes si desea conservar ese valor seleccione OK.

Una vez formateada nos indicar la particin que ya ha sido habilitada y el punto de montaje asignado. Si estamos conformes seleccionamos Cancel para continuar.

Ahora se mostrar como ha sido configurado el archivo /etc/fstab previo a la instalacin de Beakos. Selecciona EXIT para ir al confirmacin de la instalacin.

Los parmetros han sido configurados a nuestra necesidad, seleccione Yes para concluir la instalacin.

Concluida la instalacin debemos configurar el gestor de arranque, Beakos utiliza el gestor de arranque GRUB, este se instala en el primer sector del disco duro.

Beakos puede crear un floppy con informacin acerca de la configuracin de GRUB en caso de que el gestor se dae, para fines prcticos seleccionamos la opcin No.

Ingresar contrasea que ser asignada al super usuario root de 6 caracteres como mnimo, posteriormente confirmar dicha contrasea ingresada.

Capturada correctamente la contrasea que ser establecida para el usuario root, seleccionar OK para proceder en reiniciar el equipo y finalizar la instalacin de Beakos GNU/Linux.

1.3 Arranque del sistema operativo Beakos GNU/LinuxEs importante conocer la fases de arranque en sistema operativo GNU/Linux. Conforme evolucionan los sistemas operativos su complejidad va en aumento. En esta seccin analizaremos la inicializacin de Beakos con el gestor de arranque GRUB, describiremos los procesos de arranque y los scripts que automatizan los procesos subsecuentes.

1.3.1 Cargador de inicializacin GRUBTodos los sistemas operativos necesitan un gestor de arranque o inicializacin incluso los sistemas operativos de la Familia de Microsoft tambin utilizan su gestor de arranque, su principal funcin es pasarle el control al sistema operativo en cuestin, algunos gestores de arranque como GRUB, permiten incluso seleccionar con que sistema operativo deseamos iniciar. El cargador de arranque se instala por lo general en el primer sector del disco duro llamado Master Boot Record (MBR), para los ambientes GNU/Linux e incluso para otras variantes de UNIX, existen dos principales opciones de gestores de arranque GRUB (Grand Unified Boortloader) y LILO (Linux Loader), slo hablaremos de GRUB porque es el gestor ms comn pues cuenta con muchas ms opciones que LILO. En las distribuciones ms modernas de GNU/Linux se utiliza GRUB como es el caso de Red Hat, SuSE, Mandriva, Ubuntu y por supuesto Beakos. El proceso de arranque de GRUB consiste en dos etapas, existen dos archivos dentro de / boot , que se encargan de cada una de ellas, estos archivos son stage1 y stage2. Etapa 1: este archivo se encarga del arranque del GRUB y est incrustado en el MBR. Etapa2: este archivo contiene el cdigo y los parmetros para cargar el ncleo que inicia el sistema operativo, presenta el men de inicializacin y cuenta adems con una consola para aadir parmetros al gestor de arranque.

El GRUB de Beakos consta de dos entradas: Beakos: Inicia el sistema operativo en modo de ejecucin 3 (ver tema 3.1 Niveles de ejecucin), con todos los servicios por defecto. Beakos a prueba de fallos: Inicia el sistema operativo en modo monousuario con la cuenta de root, ideal para realizar tareas de mantenimiento sin usar servicios de red.

1.3.2 Proceso INITEs el primer proceso ajeno al ncleo que arranca, este proceso lee la informacin del archivo /etc/inittab y determina el nivel de ejecucin, los valores de ejecucin que se vern mas a detalle en el captulo3 son los siguientes: 0 1 2 3 4 5 6 Apagar el sistema. Modo monousuario. Modo multiusuario sin servicio de NFS. Modo de operacin normal sin interfaz grfica. Sin aplicacin. Modo multiusuario con X Windows. Modo de reinicio.

1.3.3 Secuencia de arranque en Beakos GNU/LinuxEn resumen la secuencia de arranque consiste en: Inicializacin del BIOS: El BIOS define de que dispositivo desea leer primer informacin en este caso leer el disco duro que contiene la imagen del GRUB. Cargador de arranque: Una vez que el BIOS cede el control al disco duro este lee la informacin del disco duro y carga el gestor de arranque, que presenta un men para seleccionar el sistema operativo en cuestin y las opciones con las que arrancar. Inicializacin del Kernel: Seleccionado el sistema operativo el GRUB cede el control al Kernel que se encargar de detectar el hardware y cargar los drivers necesarios para el sistema operativo, montar los sistemas de archivos y cargar el proceso init. Inicio del proceso INIT: Este proceso lee el archivo /etc/inittab y arranca en el nivel de ejecucin definido en este archivo. Lectura de los los rc Scripts: /etc/rc.d/rcsysinit.d: esta carpeta contiene scripts indispensables para arrancar el sistema. /etc/rc.d/rc[0-6]: contiene enlaces simblicos al directorio /etc/init.d donde se define en que niveles de arranque de los servicios.

Captulo 2 Configuracion de la red2.1 Archivos de configuracin de la redEn Beakos GNU/Linux podemos localizar los dispositivos de red que nuestro sistema operativo ha detectado en el directorio /sys/class/net, tecleando el siguiente comando: root [ ~ ]# ls /sys/class/net/ eth0 eth1 eth2 eth3 lo

podemos observar cuatro interfaces Ethernet y el looback. La configuracin de las interfaces de red reside en el siguiente directorio /etc/sysconfig/network-devices. Este directorio debe contener un subdirectorio para cada dispositivo de red a configurar, con la estructura ifconfig.xxx, donde xxx corresponde al nombre de una interfaz de red. Dentro de este directorio se debe crear un fichero con el nombre de i pv 4 y es su contenido la definicin de su direccin IP, mascaras de subred, Gateway, Broadcast etc.., El siguiente es un ejemplo de la configuracin manual que se debe aplicar a Beakos GNU/LinuxCambiamos de directorio a la ruta donde debe residir el script

root [ ~ ]# cd /etc/sysconfig/network-devices Creamos el directorio correspondiente a la interfaz eth0 root [ ~ ]# mkdir -v ifconfig.eth0 Creamos el contenido del fichero ipv4, para configuracin de IP esttica. root [ ~ ]# cat > ifconfig.eth0/ipv4 /etc/sysconfig/networkdevices/ifconfig.eth0/dhclient /etc/dhclient.conf o tambin se puede redireccionar a otros comandos (con el smbolo |). A continuacin se muestran ejemplos con el uso de estos smbolos. Esto enviara la salida del comando ls a al archivo usuarios.txt. root [ ~ ]# ls -la > /home/admin/usuarios.txt Para aadir la salida de un comando a un archivo utilizamos >> root [ ~ ]# ls la >>/home/admin/usuarios.txt

Obsrvese que en ambos ejemplos se utiliza la ruta absoluta, sin embargo tambin es posible utilizar rutas relativas. Para especificar que un archivo sea la entrada de un comando se utiliza el smbolo > /etc/fstab swap swap defaults 0

Captulo 8 Configuracion del firewall de Beakos GNU/Linux9.1 NetfilterNetfilter es un framework dentro del Kernel de Linux disponible desde la versin 2.4, su funcin es interceptar, manejar y redireccionar paquetes de red entre otras funciones. Netfilter est disponible en prcticamente todas las distribuciones de GNU/Linux en la actualidad su componente ms popular es el comando iptables, que facilita la creacin, modificacin y eliminacin de reglas segn sea requerido en un sistema.Red localFirewall Iptables eth0 eth1

InternetFigura 8-1. Configuracin general bsica de un firewall con IPtables

8.2 Funcionamiento de IPtablesIPtables se denomina normalmente a la herramienta para la administracin de paquetes del firewall de Linux, pero en realidad se trata de un complejo sistema de componentes como Netfilter, Conntrack, NAT y por supuesto el comando iptables. Uno de los principales componentes de IPtables es el filtrado de paquetes (packet filtering), su funcin es la de analizar el encabezado del paquete (header) a medida que pasa por el ncleo y el sistema operativo en general y decide qu hacer con este. Segn las reglas configuradas en nuestro sistema operativo este puede decidir aceptar el paquete (ACCEPT), descartar el paquete (DROP) o bien reenviar el paquete (FORWARD ) entre otras opciones ms complejas. IPtables nos ofrece la posibilidad de crear reglas para el filtrado de paquetes, estas reglas se agrupan para formar cadenas y estas a su vez conforman tablas, cada una de estas tablas se asocia a un determinado procesamiento de paquetes. Cada regla de IPtables contiene informacin especfica como la direccin IP, el puerto de destino del paquete y lo que se va a decidir hacer con l (TARGET) , todos los paquetes que ingresan o egresan en el sistema operativo atraviesan por lo menos una cadena y los paquetes deben de coincidir por lo menos

con alguna de ellas. Si un paquete llega al final de la cadena sin coincidir con ninguna regla este ser descartado o acepta segn la poltica por defecto.

Aviso Existen disponibles 65535 puertos, ya sea UDP o TCP, en los sistemas basados en UNIX como BeakOS el usuario root solo puede escuchar del 1 al 1023.

Trafico saliente

DROP

regla

regla

ACCEPT

Paquete

ACCEPT

regla

Cadenas

regla

Paquete

DROP

Paquete

PaqueteTrafico entrante

Figura 8-2. Esquema general del manejo de paquetes en IPtables.

Existen tres tipos de cadenas bsicas en la tabla Filter (filtrado de paquetes): INPUT, OUTPUT y FORDWARD, se puede generar la cantidad de cadenas que se requieran, pata la tabla NAT (traduccin de direcciones): OUTPUT, PREROUTING y POSTROUTING. Tabla 8-1. Tablas de Netfilter. Tabla Filter Nat X X X X X X

Cadena INPUT FORDWARD OUTPUT PREROUTING POSTROUTING

Mangle X X X X X

8.3 Manejo de IPtablesBeakos GNU/Linux incluye la instalacin de Netfilter y de la herramienta IPtables, la sintaxis correcta para utilizar el comando iptables esta siguiente: iptables t [TABLA] COMANDO [REGLA] [OPCIONES] TABLA puede ser cualquiera de las tablas siguientes: filter: destinada al filtrado de paquetes nat: destinada a generar reglas para traduccin de direcciones mangle: destinada a efectuar marcados de paquetes

Aviso de no especificar cualquiera de las anteriores, la tabla por defecto que utilizar el comando iptables ser filter.

COMANDO se refiere a la accin que realizar iptables con la regla, es decir agregarla (-A), insertarla (I), borrarla (D) reemplazarla (-R), etc.. Ejemplos con el comando A, --append: iptables t filter A INPUT s 192.168.1.0 j DROP

Bloquear todos los paquetes que vengan de la red 192.168.1.0 (agregar la regla al final de la cadena). iptables t filter A OUTPUT s 192.168.3.20 j ACCEPT

Aceptar todos los paquetes que vengan de la direccin IP 192.168.3.20 (agregar la regla al final de la cadena). Ejemplos con el comando I, --insert: iptables t filter I INPUT s 192.168.1.0 j DROP

Bloquear todos los paquetes que vengan de la red 192.168.1.0 (agregar la regla al principio de la cadena).

iptables t filter I OUTPUT s 192.168.3.20 j ACCEPT

Aceptar todos los paquetes que vengan de la direccin IP 192.168.3.20 (agregar la regla al principio de la cadena).

Ejemplos con el comando D, --delete: iptables t filter D INPUT s 192.168.1.0 j DROP

Borrara la regla que bloquee los paquetes provenientes de la red 192.168.1.0. iptables t filter D OUTPUT s 192.168.3.20 j ACCEPT

Borrar la regla que acepte los paquetes salientes a la direccin 192.168.3.20. Ejemplos con el comando R, --replace: iptables t filter R INPUT 1 s 192.168.1.0 j DROP

Reemplazar la regla 1 que bloquee los paquetes provenientes de la red 192.168.1.0. iptables t filter R OUTPUT 3 s 192.168.3.20 j ACCEPT

Reemplazar la regla 3 que acepte los paquetes salientes a la direccin 192.168.3.20.

Ejemplos con el comando L, --list: iptables L n

Muestra todas las reglas de iptables. iptables t filter L

Muestra todas las reglas de iptables correspondientes a la tabla FILTER. iptables t nat L

Muestra todas las reglas de iptables correspondientes a la tabla NAT. iptables t nat L PREROUTING

Muestra todas las reglas de iptables correspondientes a la tabla NAT en la cadena PREROUTING. Ejemplos con el comando F, --flush: iptables t filter F INPUT

Borra todas las reglas de la cadena INPUT de la tabla FILTER Ejemplos con el comando Z, --zero iptables Z input

Los contadores de reglas para la cadena INPUT de la tabla filter de reinicializarn a cero.

8.4 Opciones de comandos de IPtablesA algunos de los comandos antes descritos podemos aadir las siguientes opciones: Opcin 1: -v, --verbose Ejemplo: iptables t nat L v iptables L v

Comandos que permiten verbosidad: -L, --list -A, --append -I, --insert -D, --delete -R, --replace Esta opcin al ser utilizada con L , mostrar en pantalla los contadores de paquetes y las interfaces de entrada y salida para cada regla.

Figura 8-3. Visualizacin de reglas a detalle aplicadas en Beakos Al utilizarla con los dems comandos nos mostrar informacin ms detallada de la regla en cuestin. Opcin 2: -x, --exact Ejemplo: iptables t filter L v x iptables L x

Comandos que la aceptan esta opcin: -L, --list Esta opcin no muestra el valor de los contadores en bytes de manera exacta. Opcin 3: -n, --numeric Ejemplo: iptables t nat L PREROUTING n v

Comandos que aceptan esta opcin: -L, --list Esta opcin mostrar en pantalla todas las reglas de la cadena POSTROUTING de la tabla de nat con los contadores de paquetes y los bytes para cada regla sin resolver las direcciones IP o los puertos y los mostrar en formato numrico.

Figura 8-4. Visualizacin de reglas resumidas aplicadas en Beakos.

8.4.1 Destinos de las reglas (target)Podemos determinar el destino de un paquete que atraviesa por una regla, por ejemplo podemos aceptarlo, denegarlo, procesarlo por alguna otra cadena, para la asignacin del target se utiliza el parmetro j o jump, la sintaxis sera la siguiente: iptables t [TABLA] COMANDO MATCH [-j TARGET] [OPCIONES] Opciones ms comunes: DROP hace que Netfilter descarte el paquete sin nign otro tipo de procesamiento. ACCEPT hace que netfilter acepte el paquete. LOG conecta el sistema con el sistema de log del kernel REJECT enva una notificacin de que el paquete ha sido rechazado al origen del mismo. QUEUE hace que netfilter encole el paquete en el espacio de un usuario. RETURN Hace que el paquete en cuestin deje de circular por la cadena en cuya regla se ejecut el destino return.

8.4.2 Especificaciones de las reglas-i, --in-interface Especfica la interfaz de red por donde el paquete ser recibido. Ejemplo: iptables A INPUT i eth0 j ACCEPT

-o, --out-interface Especfica la interfaz de red por la cual un paquete ser enviado. Ejemplo:

iptables A OUTPUT o eth1 d 192.168.0.4 j DROP

-p, --protocol Especfica el protocolo de un determinado paquete, las opciones posibles son icmp, udp y tcp Ejemplo: iptables I INPUT s 200.38.146.24 p tcp j ACCEPT iptables A INPUT -i eth1 p tcp j DROP

-s,--source Especifica el origen de una direccin Ip o un grupo de direcciones IP especificadas por un sufijo. Ejemplo: --sport Especifica los puertos de donde proviene un paquete, puede ser tcp o udp dependiendo de la opcin p. --dport Especifica el puerto destino de un paquete, puede ser tcp o udp dependiendo de la opcin p. iptables A INPUT p tcp -dport 80 j ACCEPT iptables I INPUT p udp -dport 161 j DROP iptables I INPUT -sport 1000 s 192.168.4.32 -J ACCEPT iptables A INPUT p tcp -sport 23:27 j ACCEPT iptables A INPUT s 192.168.2.0/24 j ACCEPT

8.4.3 Seguimiento de conexionesEsta es una de las caractersticas ms importantes de Netfilter (connection traking), le permite al kernel llevar la cuenta de las conexiones de red y de esta forma relacionar los paquetes que pueda llegar a ser parte de la conexin, esta informacin se clasifica en 4 estados. NEW Intentando crear una nueva conexin. ESTABLISHED Parte de una conexin ya existente. RELATED

Relacionada, no necesariamente parte de una conexin existente. INVALID No es parte de una conexin existente ni puede crear una conexin nueva. Ejemplo: iptables A INPUT m state -state ESTABLISHED,RELATED j ACCEPT iptables I INPUT m state --state NEW p tcp -dport 25 j ACCEPT iptables A INPUT m state -state NEW j DROP

8.4.4 Persistencia de las reglasIptables no se ejecuta sobre Beakos como un demonio, las reglas se almacenan en la memoria y estas no persisten a un reinicio del sistema. Para que las reglas persistan al reinicio del sistema deben almacenarse en el archivo /etc/rc.d/rc.iptables

Figura 8-5. Archivo de configuracin del firewall de Beakos. Comando para aplicar la configuracin una vez modificado el archivo. root [ ~ ]#/etc/init.d/iptables start Comando para borrar la configuracin y dejar el firewall sin reglas aplicadas root [ ~ ]#/etc/init.d/iptables clear Comando para mostrar la configuracin y las reglas aplicadas root [ ~ ]#/etc/init.d/iptables status

Bloquear todo el trfico entrante y saliente root [ ~ ]#/etc/init.d/iptables lock

8.5 Network Address Translation (NAT)La NAT (Network Address Translation) permite proteger a los anfitriones de la red interna del router, esto tiene como ventaja que los equipos de la red interna permanezcan ocultos al exterior. Implementando Netfilter, NAT se divide en las siguientes categoras: Source NAT (SNAT) Destination NAT (DNAT) Masquerading

SNAT es el responsable de cambiar las direcciones IP y puerto origen, para que un paquete aparezca como proveniente de la puerta de enlace por donde sale el paquete en cuestin. sta es la de mayor uso para el caso en que una red privada necesite utilizar una direccin IP desde el exterior. Para utilizar un SNAT es necesario conocer la direccin IP origen al momento de definir la regla, otro uso de SNAT es cuando se requiere que un host aparezca con otra direccin IP generalmente pblica. DNAT es responsable de cambiar la direccin IP y puertos destino, con el objetivo de que el paquete se dirija a otra direccin IP diferente de la que originalmente se tena destinada, esto resulta til para redireccionar todo el trfico web hacia un servidor proxy por ejemplo. MASQUERADING, es sencillamente un caso especial de SNAT, esto resulta til cuando existen mltiples sistemas en el interior de una red LAN que requieren salir a internet a travs de una sola direccin IP pblica.

Cliente: 192.168.1.2 Gateway: 192.168.1.1

Eth0 192.168.1.1 NAT

Eth1 207.249.24.254

Figura 8.6 Diagrama de SNAT en una conexin

Servidor: 192.168.1.7 Gateway: 192.168.1.1

De: 207.249.161.19:1025 A:192.168.1.7:80 Eth0 192.168.1.1 NAT

Eth1 207.249.24.254

De: 207.248.161.19:49100 A:207.249.24.254:80

Cliente: 207.249.161.19

Figura 8-7. Diagrama de DNAT en una conexin

8.5.1 Compartir Internet en una red LANScript de ejemplo para compartir Internet con una Red LAN a travs de un equipo con dos interfaces de red. Eth0 es la interfaz conectada al router y eth1 es la interfaz conectada a la red local.

#!/bin/sh # Modulos de firewall para Iptables modprobe ip_tables modprobe iptable_filter modprobe ip_conntrack modprobe ip_conntrack_ftp modprobe ipt_state modprobe iptable_nat modprobe ip_nat_ftp modprobe ipt_MASQUERADE modprobe ipt_LOG modprobe ipt_REJECT modprobe iptable_mangle ## Borrado de reglas iptables -F iptables -X iptables -Z iptables -t nat -F ## Polticas por defecto iptables -P INPUT ACCEPT iptables -P OUTPUT ACCEPT iptables -P FORWARD ACCEPT iptables -t nat -P PREROUTING ACCEPT iptables -t nat -P POSTROUTING ACCEPT # Todo lo que venga de una red externa con destino al #puerto 80 lo redireccionamos a una IP iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to 192.168.10.12:80 # Permitir conexiones entrantes a localhost iptables -A INPUT -i lo -j ACCEPT # Permitir el acceso local desde el firewall iptables -A INPUT -s 192.168.10.0/24 -i eth1 -j ACCEPT # Abrir el acceso al servicio de correo SMTP iptables -A INPUT -s 0.0.0.0/0 -p tcp --dport 25 -j ACCEPT # Abrir el acceso al servicio de correo POP3 iptables -A INPUT -s 0.0.0.0/0 -p tcp --dport 110 -j ACCEPT

# Permitir el acceso a servidores web iptables -A FORWARD -s 192.168.10.0/24 -i eth1 -p tcp -dport 80 -j ACCEPT # Permitir el acceso a servidores web seguros iptables -A FORWARD -s 192.168.10.0/24 -i eth1 -p tcp -dport 443 -j ACCEPT # Permitir consultas a servidores DNS iptables -A FORWARD -s 192.168.10.0/24 -i eth1 -p tcp -dport 53 -j ACCEPT iptables -A FORWARD -s 192.168.10.0/24 -i eth1 -p udp -dport 53 -j ACCEPT #Enmascarar la red local para que los equipos de la red #local puedan salir la interfaz eth0 iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o eth0 -j MASQUERADE #Activar el bit para el reenvo de paquetes a nivel de #kernel echo 1 > /proc/sys/net/ipv4/ip_forward #Permitir conexiones entrantes y sus respectivos puertos iptables A INPUT m state -state NEW,ESTABLISHED,RELATED j ACCEPT #Denegar los servicios no utilizados iptables -A FORWARD -s 192.168.10.0/24 -i eth1 -j DROP

8.5.2 Configuracin de un firewall simpleConfiguracin de un firewall simple para proteccin de servicios en Beakos GNU/Linux

#!/bin/sh # Modulos de firewall para Iptables modprobe ip_tables modprobe iptable_filter modprobe ip_conntrack modprobe ip_conntrack_ftp modprobe ipt_state modprobe iptable_nat modprobe ip_nat_ftp modprobe ipt_MASQUERADE modprobe ipt_LOG modprobe ipt_REJECT modprobe iptable_mangle # Borrado de reglas iptables -F

iptables -X iptables -Z iptables -t nat -F ## Polticas por defecto iptables -P INPUT ACCEPT iptables -P OUTPUT ACCEPT iptables -P FORWARD ACCEPT #Aceptar conexiones al localhost iptables A INPUT i lo j ACCEPT #Permitir la entrada de ping al sistema iptables A INPUT p icmp j ACCEPT #Permitir conexiones existentes y relacionadas #(indispensable) iptables A INPUT m state state ESTABLISHED,RELATED j ACCEPT #Permitir conexiones al protocolo SSH desde el exterior #Podemos permitir ms puertos como se requiera iptables A INPUT p tcp --dport 22 j ACCEPT #Activar el uso de syslog para iptables iptables A INPUT j LOG #Rechazar todo lo dems iptables A INPUT j REJECT

Aviso Al terminar de ingresar los comandos anteriores al archivo /etc/rc.d/rc.iptables no olvidemos iniciar el servicio.

8.6 Configuracin del firewall con WebminBeakos GNU/Linux cuenta con una interfaz de configuracin para el cortafuegos a travs de la aplicacin Webmin, para accesar a ella debemos utilizar un navegador web tecleando la url siguiente: https://direccion_ip:10000

Una vez que ingresemos al conjunto de mens seleccionaremos la opcin red y el submen Cortafuegos Linux.

Figura 8-8. Interfaz de Webmin para la administracin del firewall. Con la interfaz de configuracin podemos definir configuraciones por defecto: Permitir todo el trfico. Hacer una traduccin de direccin de red en la interfaz externa. Bloquear todo el trfico excepto SSH e IDENT en una interfaz externa. Bloquear todo el trfico excepto SSH , IDENT y ping en una interfaz. Bloquear todo el trfico excepto los puertos usados para servicios de internet.

Adems de estas plantillas prediseadas podemos agregar reglas personalizadas a cada una de ellas. Seleccionando la opcin aadir reglas dentro de las polticas por defecto (INPUT, OUTPUT, FORWARD).

Figura 8-9. Creacin de reglas de Iptables a travs de Webmin. A diferencia de la configuracin manual las reglas creadas con la interfaz de webmin se almacenarn en el archivo /etc/webmin/firewall/iptables.save

Captulo 9 Sistema de archivos /proc10.1 Archivos dentro del directorio /procEl sistema de archivos proc contiene informacin acerca de la configuracin del sistema, dentro de este se puede observar el estado actual del Kernel y los procesos que se estn ejecutando, adems tambin se puede encontrar informacin detallada sobre dispositivos de hardware, algunos archivos que se encuentran dentro de /proc pueden ser modificados por usuarios que tengan permiso de escritura en este directorio. Como ya se ha estudiado en los sistemas GNU/Linux todo se maneja como archivo y los hay de tres tipos: Binarios De texto Virtuales

Los que se encuentran dentro de /proc son archivos virtuales sus principales caractersticas son: Son de tamao 0 bytes El Sistema Operativo los genera conforme se consultan Son constantemente modificados por el Sistema Operativo Algunos archivos solo pueden ser ledos por el usuario root Como ya se ha mencionado algunos archivos pueden ser modificados, esto con la finalidad de ajustar la configuracin del kernel, comnmente esto ocurre con los archivos que estn dentro de /proc/sys. Para modificar un archivo virtual, se debe hacer de la siguiente forma: echo [texto_nuevo] > [ruta_del_archivo] Ejemplo: root [ ~ ]# echo beakos.com.mx > /proc/sys/kernel/hostname Los archivos que comnmente se pueden encontrar dentro de /proc pueden variar ya que los directorios con nmero hacen referencia a los procesos que se estn ejecutando en esos momentos. A continuacin se listan algunos de los directorios ms importantes dentro de este sistema de archivos:

A continuacin se describen algunos de los directorios ms importantes:

9.1.1 buddyinfoEste archivo utiliza un algoritmo llamado buddy para diagnosticar los problemas de fragmentacin que ocurren en memoria. root [/proc]# cat buddyinfo Node 0, zone DMA 4 1 2 Node 0, zone Normal 3 2 4 5 13 3 4 3 1 3 3 2 2 2 17 1 15 1 9

9.1.2 cmdilineEste archivo permite visualizar los parmetros pasados al kernel en el momento en que este se inicia. root [/proc]# cat cmdline root=/dev/sda2 ro quiet splash vga=788

9.1.3 cpuinfoEste archivo identifica las caractersticas principales del procesador utilizado por el sistema. Processor: Enumera cada uno de los procesadores que reconoce el sistema empezando por 0 para el primer procesador, 1 para el segundo y as sucesivamente. cpu-family: Proporciona el tipo de procesador que se encuentra en el sistema. model model name: Muestra el nombre del procesador. cpu Mhz: Muestra la velocidad del procesador indicada en Mhz cache size: Muestra la cantidad de memoria root [ /proc ]# cat cpuinfo processor :0 vendor_id :GenuineIntel cpu family model :23 :6

model name :23 stepping cache size fdiv_bug hlt_bug f00f_bug coma_bug :6 :0 KB :no :no :no :no

fpu fpu_exception cpuid level wp

:yes :yes :5 :yes

flags :fpu vme de pse tsc msr pae cx8 apic sep mtrr pge mca cmov pat

bogomips clflush size

:3497.67 :64

9.1.4 cryptoEste archivo muestra en forma de listado los cdigos de cifrado utilizados por el kernel de Linux. root [ ]# cat /proc/crypto name :md5 driver :md5-generic module :kernel priority :0 refcnt :1 type :digest blocksize :64 digestsize :16

9.1.5 devicesMuestra los diferentes dispositivos tanto de caracteres como de bloque que se encuentran configurados (no incluye dispositivos cuyos mdulos no estn cargados). A continuacin se muestran los datos que contiene este archivo. root [ /proc ]# cat devices 1 mem 4 /dev/vc/0 4 tty 5 /dev/tty 5 /dev/console 5 /dev/ptmx 7 vcs 10 misc 13 input 14 sound 21 sg 29 fb 116 alsa

128 ptm 136 pts

9.1.6 dmaEste archivo muestra los canales registrados DMA ISA en uso. root [ /proc ]# cat dma 4: cascade

9.1.7 filesystemsLista los sistemas de archivos que estn soportados por el kernel. root [ /proc ]# cat filesystems nodev sysfs nodev rootfs nodev bdev nodev proc nodev cgroup nodev cpuset nodev debugfs nodev securityfx nodev sockefs nodev pipefs nodev amon_inodefs nodev tmpfs nodev inotifyfs nodev devpls

9.1.8 interruptsMuestra la interrupciones que estn siendo utilizadas y cuantas de cada tipo ha habido. root 0: 1: 2: 5: 9: 10: 11: 12: 14: 15: NMI: ... [ /proc ]# cat interrupts 95 XT-PIC-XT timer 602 XT-PIC-XT i8042 0 XT-PIC-XT cascade 0 XT-PIC-XT Intel 82801AA-ICH 0 XT-PIC-XT acpi 0 XT-PIC-XT ehci_hcd:usb2, eth0 0 XT-PIC-XT ohci_hcd:usb1 2896 XT-PIC-XT i8042 1103 XT-PIC-XT ata_piix 162 XT-PIC-XT ata_piix 0 XT-PIC-XT ata_piix

9.1.9 loadavgEl nivel medio de carga del sistema; tres indicadores significativos sobre la carga de trabajo del sistema en cada momento. root[ /proc ]# cat loaddavg 0.02 .0.00 2/38 149

9.1.10 meminfoInformacin acerca de la utilizacin de la memoria fsica y del archivo de intercambio. root [ /proc ]# cat meminfo MemTotal: 4027012 kB MemFree: 3935932 kB Buffers: 1092 kB Cached: 19088 kB SwapCached: 0 kB Active: 70288 kB Inactive: 3340 kB HighTotal: 3145664 kB HighFree: 3068876 kB LowTotal: 881348 kB LowFree: 867056 kB SwapTotal: 4200988 kB SwapFree: 4199620 kB Dirty: 136 kB Writeback: 0 kB AnonPages: 53460 kB Mapped: 15820 kB Slab: 8136 kB SReclaimable: 2348 kB SUnreclaim: 5788 kB PageTables: 1140 kB NFS_Unstable: 0 kB Bounce: 0 kB WritebackTmp: 0 kB CommitLimit: 6214492 kB Committed_AS: 378096 kB VmallocTotal: 114680 kB VmallocUsed: 6596 kB VmallocChunk: 107876 kB HugePages_Total: 0 HugePages_Free: 0 HugePages_Rsvd: 0 HugePages_Surp: 0 Hugepagesize: 4096 kB

9.1.11 modulesIndica los mdulos del ncleo que han sido cargados hasta el momento. root [ /proc ]# cat modules ipv6 232636 12 - Live 0xf04c9000 iptable_mangle 3584 0 - Live 0xf044c000 ipt_REJECT 3584 0 - Live 0xf044a000 ipt_LOG 5764 0 - Live 0xf0435000 ipt_MASQUERADE 3456 0 - Live 0xf0438000 nf_nat_ftp 3456 0 - Live 0xf034f000 iptable_nat 5640 0 - Live 0xf043d000 nf_nat 16408 3 ipt_MASQUERADE,nf_nat_ftp,iptable_nat, Live 0xf0444000 xt_state 2944 1 - Live 0xf02af000 nf_conntrack_ftp 7716 1 nf_nat_ftp, Live 0xf043a000 nf_conntrack_ipv4 12940 4 iptable_nat,nf_nat, Live 0xf040e000 nf_conntrack 55892 7 ipt_MASQUERADE,nf_nat_ftp,iptable_nat,nf_nat,xt_state,nf_co nntrack_ftp,nf_conntrack_ipv4, Live 0xf046c000 iptable_filter 3456 1 - Live 0xf0031000 ip_tables 11024 3 iptable_mangle,iptable_nat,iptable_filter, Live 0xf0414000 x_tables 14084 6 ipt_REJECT,ipt_LOG,ipt_MASQUERADE,iptable_nat,xt_state,ip_table s, Live 0xf041f000 parport_pc 22548 0 - Live 0xf0418000 parport 31572 1 parport_pc, Live 0xf0376000 pcspkr 3200 0 - Live 0xf0057000 snd_intel8x0 26652 0 - Live 0xf0368000 snd_ac97_codec 90404 1 snd_intel8x0, Live 0xf0454000 ac97_bus 2560 1 snd_ac97_codec, Live 0xf0019000 snd_pcm 63108 2 snd_intel8x0,snd_ac97_codec, Live 0xf0424000 snd_timer 18440 1 snd_pcm, Live 0xf0370000

9.1.12 mountsMuestra las particiones y lo puntos de montaje activos. root [ /proc ]# cat mounts rootfs / rootfs rw 0 0 none /sys sysfs rw,nosuid,nodev,noexec 0 0 none /proc proc rw,nosuid,nodev,noexec 0 0 udev /dev tmpfs rw,size=10240k,mode=755 0 0 /dev/hda1 / ext3 rw,errors=continue,data=ordered 0 0 tmpfs /dev tmpfs rw,mode=755 0 0 devpts /dev/pts devpts rw,gid=4,mode=620 0 0 tmpfs /dev/shm tmpfs rw 0 0 /dev/hda2 /root/distro ext3 rw,errors=continue,data=ordered 0 0

9.1.13 partitionsMuestra las particiones existentes root [ /proc ]# cat partitions major minor #blocks name 3 0 39082680 hda 3 1 19923592 hda1 3 2 17826480 hda2 22 0 39082680 hdc 22 1 10490413 hdc1 22 2 1060290 hdc2 120 60 8 : slabdata 1 1 0

9.1.14 statMuestra varias estadsticas acerca del sistema, tales como el nmero de fallos de pgina que han tenido lugar desde el arranque del sistema. root [ /proc ]# cat stat cpu 250 48 294 628400 384 6 2 0 0

cpu0 250 48 294 628400 384 6 2 0 0 intr 31558 67 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1311 259 0 0 0 29912 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

9.1.15 swapsMuestra las particones SWAP activas en el sistema. root [ /proc ]# cat swaps Filename Type Size Used Priority /dev/sda3

partition 506036 0 -1

9.2 Ajustes dentro de /procMuchos de los archivos virtuales que residen dentro de /proc tienen un modo de lectura y escritura, archivos residentes en /proc/sys/net/ipv4 se pueden modificar de forma muy dinmica, la mayora de los archivos contienen slo nmeros, muchos de ellos valores booleanos que si son modificados cambian el comportamiento del sistema, para ver los cambios que es posible realizar consulte la documentacin del Kernel en cuestin.

Ejemplo: root [ /proc ]# echo 1 >/proc/sys/net/ipv4/ip_forward La instruccin anterior habilit (1 activado), el reenvio de paquetes, esto resulta til si nuestro sistema se utilizar como un router.

Nota Los cambios realizados en /proc, no persistirn a un reinicio, para ello debe guardarlos en el archivo /etc/sysctl.conf

9.3 Uso del comando sysctlComo se ha mencionado el sistema de archivos /proc es virtual y por consecuencia los cambios aplicados a este no seguirn vigentes despus de haber aplicado un reinicio al sistema. la herramienta sysctl, permite hacer que los cambios en el sistema de archivos /proc. Sysctl cuenta con un archivo de configuracin en /etc/sysctl.conf, que es donde se almacenan los parmetros que el sistema modificar en /proc al iniciarse. Se recomienda revisar las entradas del archivo /etc/sysctl.conf, y la documentacin del Kernel. Archivo de configuracin de sysctl en Beakos root [ /proc ]# cat /etc/sysctl.conf #Controls IP packet forwarding net.ipv4.ip_forward = 0 # Controls source route verification net.ipv4.conf.default.rp_filter = 1 # Do not accept source routing net.ipv4.conf.default.accept_source_route = 0 # Controls the System Request debugging functionality of the kernel kernel.sysrq = 0 # Controls whether core dumps will append the PID to the core filename # Useful for debugging multi-threaded applications kernel.core_uses_pid = 1 # Controls the use of TCP syncookies net.ipv4.tcp_syncookies = 1

La sintaxis correspondiente al comando sysctl corresponde a: sysctl [opciones] variable=[valor]

Tabla 10-1. Opciones ms comunes para el comando sysctl. Opcin Descripcin -n No muestra el nombre de la variable, slo el valor. -e Ignora errores referentes a claves desconocidas. -w Se utiliza para cambiar la un ajuste de sysctl. -p Carga la configuracin que est escrita en el archivo de configuracin de sysctl. -a Presenta todos los valores disponibles que estn configurados.

La variable es utilizada para fijar el valor fijar un valor. Ejemplos: root [ ~ ]# sysctl kernel.core_uses_pid=0 kernel.core_uses_pid = 0 root [ ~ ]# sysctl net.ipv4.ip_forward=1 net.ipv4.ip_forward = 1

Captulo 10 Gestion de paquetes11.1 Instalacin y desinstalacin de paquetesBeakos GNU/Linux implementa la administracin de paquetes en formato .tgzque no es ms que un archivo tar comprimido con GZIP, aunque soporta otros formatos como RPM de Red Hat y Pacman de Arch Linux de forma complementaria. Un paquete de software es un conjunto de archivos que mantienen una relacin entre si y que han sido compilados para poder funcionar luego de que se instalen en el sistema, esto representa la ventaja de que no es necesario compilar el software desde el cdigo fuente para utilizarse, esto ya se ha hecho con anticipacin.

10.1.1 Comando installpkgEl comando installpkg permite instalar paquetes (.tgz) de forma directa, es importante mencionar que esta aplicacin no resuelve dependencias, por lo que es un poco difcil saber si el paquete que instalemos requerir de algn otro, la lista de paquetes instalados se almacena en la ruta /var/log/packages, su sintaxis es la siguiente: installpkg Ejemplo: root [ ~ ]# installpkg iproute2-2.6.26-i386-1.tgz +------------------------------------------------------------------------------+ | Installing package iproute2-2.6.26-i386-1.tgz... | +------------------------------------------------------------------------------+ Executing install script for iproute2-2.6.26-i386-1.tgz... PACKAGE DESCRIPTION: Programas bsicos y avanzados para ipv4

10.1.2 Comando removepkgEste comando nos permite desinstalar un paquete previamente instalado su sintaxis es la siguiente: removepkg

Ejemplo: root [ ~ ]# removepkg iproute2-2.6.26-i386-1 Removing package iproute2-2.6.26-i386-1... Removing files: --> Deleting ./etc/iproute2/ematch_map --> Deleting ./etc/iproute2/rt_dsfield --> Deleting ./etc/iproute2/rt_protos --> Deleting ./etc/iproute2/rt_realms --> Deleting ./etc/iproute2/rt_scopes --> Deleting ./etc/iproute2/rt_tables Salida truncada

Es importante notar que para la desinstalacin de un paquete no es necesario poner su extensin .tgz, la lista de paquetes instalados se obtiene del archivo /var/log/packages.

10.2 Administracin de paquetes con SWARETSwaret es un administrador de paquetes creado inicialmente para la distribucin de GNU/Linux Slackware que ha sido adaptado para funcionar con Beakos, esta herramienta facilita la instalacin de paquetes porque nos permite comprobar las dependencias de los paquetes e instala las faltantes. Swaret permite la interaccin con repositorios de software bajo los protocolos http, ftp, rsync, sistemas de ficheros locales y NFS.

10.2.1 Archivo de configuracin swaret.confEl archivo de configuracin de Swaret se ubica en /etc/swaret.conf, analicemos las opciones ms importantes de este fichero. VERSION=1.06.001 Indica la versin de Beakos correspondiente al repositorio de software.

LANGUAGE=ESPANOL Define el lenguaje con el cual se mostrarn los mensajes de error y los mensajes de estado de la aplicacin.

ROOT=http://www.beakos.com.mx/paquetes/beakos-1.05.001 Permite indicar el repositorio de software donde estn almacenados los paquetes.

REPOS_ROOT=BEAKOS_PACKAGES%http://www.beakos.com.mx/paquetes/bea kos-1.06.001 Define el nombre del repositorio del cual vamos a hacer uso, estas opciones estn previamente configuradas, no es recomendable modificarlas, ni agregar repositorios de software que no correspondan a la distribucin de Beakos GNU/Linux.

DEP_ROOT=http://www.beakos.com.mx/paquetes/beakos-1.06.001 Especifica la ruta donde se encuentra el archivo con la lista de dependencias.

RANDOMR=0 Permite elegir de manera aleatoria entre varios repositorios de software. por defecto est deshabilitada (0).

EXCLUDE=MANIFEST.bz2$ Este parmetro permite excluir nombres de paquetes disponibles en los repositorios que no deseamos instalar ni actualizar.

DEPENDENCY=1 Permite activar o desactivar el soporte de dependencias, por defecto se encuentra activado.

DSEARCHLIB=1 Realizar un bsqueda de libreras faltantes por todo el sistema.

MD5CHECK=1 Comprueba la integridad de los paquetes.

DESC=0

Muestra una descripcin de los paquetes mientras se instalan o actualizan.

CACHE_DIR=/var/swaret Ruta donde se almacenarn los paquetes que se descarguen de los repositorios.

10.2.2 Opciones del comando swaretEl comando swaret permite instalar, actualizar, borrar y consultar si un paquete est instalado o no. Su sintaxis se describe a continuacin. swaret [opciones] [nombre del paquete] [opcin adicional] Tabla 11-1. Opciones para el comando swaret (sin nombre del paquete). Opcin Descripcin --update Actualiza la lista de archivos disponibles. --purge Borra los archivos descargados repositorio. Recomendable antes de actualizar. --list Muestra una lista de paquetes disponibles instalados y no instalados. --changelog Muestra el archivo de registro de cambios. --log Muestra los registros generados en la bitcora. --config Muestra el archivo de configuracin de swaret. --help Muestra las opciones disponibles para el comando. --morehelp Muestra las opciones disponibles para el comando de forma compleja. --version Muestra la versin de swaret actual.

Tabla 11-2. Opciones para el comando swaret (con nombre del paquete). Opcin Descripcin --install Instala un paquete. --reinstall Reinstala un paquete. --remove Desinstala un paquete. --get Obtiene un paquete y lo almacena en /var/swaret, pero no lo instala. --dep Comprueba dependencias de un determinado paquete. --search Busca si un paquete existe en el repositorio, si est instalado o no. --show Muestra la descripcin de un paquete. Ejemplos: Actualizar la lista de paquetes root [ ~ ]# swaret --update Instalar paquetes que coincidan con la palabra bash root [ ~ ]# swaret --install bash Instalar los paquetes relacionados con la interfaz grfica (-a) no solicita confirmacin.

root [ ~ ]# swaret --install xorg a

Reinstalar todos los paquetes existentes. root [ ~ ]# swaret --reinstall a Borra los paquetes almacenados en el cach. root [ ~ ]# swaret purge Remover los paquetes que coincidan con la palabra glib. root [ ~ ]# swaret --remove glib Instalar los paquetes para desarrollo. root [ ~ ]# swaret install developer -a

10.3 Compilacin de software desde el cdigo fuenteEl equipo desarrollo de Beakos se esfuerza por ofrecer una mayor cantidad de software cada vez para la distribucin, sin embargo es probable que algn paquete que usted necesite no se encuentre dentro de los repositorios de software, la mayora del software requerido para implementar Beakos est disponible en los repositorios, es importante describir la forma de compilar e instalar software desde el cdigo fuente, compilar un programa permite elegir las opciones ms adecuadas para su compilacin, lo que no se puede hacer con un paquete ya construido y distribuido a travs de los repositorios. El software en cdigo fuente est disponible en un archivo tar, comprimido normalmente con GZIP o BZIP2. Para poder construir el software desde el cdigo fuente es necesario contar con el compilador GCC, los encabezados del Kernel (Linux headers) y la utilidad make. Podemos instalarlos a travs de los repositorios. Dependiendo del software a compilar, este puede requerir paquetes adicionales que quiz ya se encuentren dentro de los repositorios listos para instalarse. root [ ~ ]# swaret --install gcc root [ ~ ]# swaret --install linux-headers root [ ~ ]# swaret install make Procedemos para fines didcticos a compilar el editor de textos nano. El primer paso es obtener una copia del cdigo fuente del software que vamos a compilar. root [ ~ ]# wget http://www.nano-editor.org/dist/v2.2/nano2.2.5.tar.gz

Una vez que hemos descargado una copia del softwa