Herramientas de usuario

Herramientas del sitio


public:guifinet:cursoinstaladoresguifi2011:gnulinux:start

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
public:guifinet:cursoinstaladoresguifi2011:gnulinux:start [2011/07/05 15:02] mperezpublic:guifinet:cursoinstaladoresguifi2011:gnulinux:start [2011/07/22 07:52] (actual) mperez
Línea 1: Línea 1:
 ====== GNU/Linux ====== ====== GNU/Linux ======
  
 +Estos materiales se licencian bajo la «Creative Commons Reconocimiento-CompartirIgual License España». Para ver una copia de esta licencia, se puede visitar http://creativecommons.org/licenses/by-sa/3.0/es/
 +
 +**Autores**: 
 +
 +  * Pablo Boronat Pérez (Universitat Jaume I)
 +  * Miguel Pérez Francisco (Universitat Jaume I)
 +  * David Rubert Viana (Universitat Jaume I)
  
 ====== Introducción ====== ====== Introducción ======
Línea 260: Línea 267:
  
  
-===== puertos TCP/UDP =====+===== Puertos TCP/UDP =====
  
 Según la wikipedia (http://es.wikipedia.org/wiki/Puerto_de_red): Según la wikipedia (http://es.wikipedia.org/wiki/Puerto_de_red):
Línea 286: Línea 293:
 De la wikipedia (http://es.wikipedia.org/wiki/Netfilter/iptables): De la wikipedia (http://es.wikipedia.org/wiki/Netfilter/iptables):
  
-«Netfilter es un framework disponible en el núcleo Linux que permite interceptar y manipular paquetes de red. Dicho framework permite realizar el manejo de paquetes en diferentes estados del procesamiento. Netfilter es también el nombre que recibe el proyecto que se encarga de ofrecer herramientas libres para cortafuegos basados en Linux.+«//Netfilter// es un //framework// disponible en el núcleo Linux que permite interceptar y manipular paquetes de red. Dicho framework permite realizar el manejo de paquetes en diferentes estados del procesamiento. Netfilter es también el nombre que recibe el proyecto que se encarga de ofrecer herramientas libres para cortafuegos basados en Linux.
  
-El componente más popular construido sobre Netfilter es iptables, una herramienta de cortafuegos que permite no solamente filtrar paquetes, sino también realizar traducción de direcciones de red (NAT) para IPv4 o mantener registros de log. El proyecto Netfilter no sólo ofrece componentes disponibles como módulos del núcleo sino que también ofrece herramientas de espacio de usuario y librerías.+El componente más popular construido sobre Netfilter es //iptables//, una herramienta de cortafuegos que permite no solamente filtrar paquetes, sino también realizar traducción de direcciones de red (NAT) para IPv4 o mantener registros (//logs//). El proyecto Netfilter no sólo ofrece componentes disponibles como módulos del núcleo sino que también ofrece herramientas de espacio de usuario y bibliotecas.
  
-iptables es el nombre de la herramienta de espacio de usuario mediante la cual el administrador puede definir políticas de filtrado del tráfico que circula por la red. El nombre iptables se utiliza frecuentemente de forma errónea para referirse a toda la infraestructura ofrecida por el proyecto Netfilter. Sin embargo, el proyecto ofrece otros subsistemas independientes de iptables tales como el connection tracking system o sistema de seguimiento de conexiones, que permite encolar paquetes para que sean tratados desde espacio de usuario. iptables es un software disponible en prácticamente todas las distribuciones de Linux actuales.»+iptables es el nombre de la herramienta de espacio de usuario mediante la cual el administrador puede definir políticas de filtrado del tráfico que circula por la red. El nombre iptables se utiliza frecuentemente de forma errónea para referirse a toda la infraestructura ofrecida por el proyecto Netfilter. Sin embargo, el proyecto ofrece otros subsistemas independientes de iptables tales como el //connection tracking system// o sistema de seguimiento de conexiones, que permite encolar paquetes para que sean tratados desde el espacio de usuario. iptables es un software disponible en prácticamente todas las distribuciones de Linux actuales.»
  
 En http://www.pello.info/filez/firewall/iptables.html se explica con ejemplos qué es un firewall y el funcionamiento de iptables. En http://www.pello.info/filez/firewall/iptables.html se explica con ejemplos qué es un firewall y el funcionamiento de iptables.
Línea 306: Línea 313:
  
  
-# 1) Definir la norma por defecto de cadena básica, en este caso se acepta todo+# 1) Definir la norma por defecto de la tabla filter (la tabla por omisión), en este caso se acepta todo
 $IPTABLES -P INPUT ACCEPT $IPTABLES -P INPUT ACCEPT
 $IPTABLES -P FORWARD ACCEPT $IPTABLES -P FORWARD ACCEPT
 $IPTABLES -P OUTPUT ACCEPT $IPTABLES -P OUTPUT ACCEPT
  
-# Se borran todas las reglas anteriores de iptables+# Se borran todas las reglas anteriores de iptables de la tabla filter
 $IPTABLES -F $IPTABLES -F
 # Se borran todas las reglas anteriores de iptables de la tabla nat # Se borran todas las reglas anteriores de iptables de la tabla nat
Línea 391: Línea 398:
 En este ejemplo se crea un túnel cifrado entre dos máquinas utilizando una clave estática. En este ejemplo se crea un túnel cifrado entre dos máquinas utilizando una clave estática.
 El servidor suponemos que tiene una IP fija y el cliente no. El cliente mantiene el túnel abierto, de forma que si cambia su IP lo vuelve a abrir. El servidor suponemos que tiene una IP fija y el cliente no. El cliente mantiene el túnel abierto, de forma que si cambia su IP lo vuelve a abrir.
 +
 +<note>Este montaje es útil cuando se monta una isla guifi.net y es necesario poder entar desde internet, suponiendo que disponemos de una IP estática. Una alternativa es usar un nombre de dominio dinámico (por ejemplo con dyndns).</note>
  
 En primer lugar hay que instalar el paquete ''openvpn'': En primer lugar hay que instalar el paquete ''openvpn'':
Línea 398: Línea 407:
 </code> </code>
  
-En el ordenador que actua como cliente hay que instalar también el ''openvpn''.+En el ordenador que actúa como cliente también hay que instalar openvpn.
  
-Ahora hay que crear la clave estática en el servidor+Crear la clave estática en el servidor:
  
 <code> <code>
 # cd /etc/openvpn/ # cd /etc/openvpn/
-# openvpn --genkey --secret static.key +# openvpn --genkey --secret staticVilafranca.key 
 # ls -l # ls -l
 total 3 total 3
--rw------- 1 root root  636 feb 18 19:48 static.key+-rw------- 1 root root  636 feb 18 19:48 staticVilafranca.key
 -rwxr-xr-x 1 root root 1352 sep 18  2008 update-resolv-conf -rwxr-xr-x 1 root root 1352 sep 18  2008 update-resolv-conf
 </code> </code>
Línea 414: Línea 423:
  
  
-En el servidor, crear el fichero ''/etc/openvpn/tunel.conf'' (el nombre del fichero puede ser otro) con el siguiente contenido:+En el servidor, crear el fichero ''/etc/openvpn/tunelVilafranca.conf'' (el nombre del fichero puede ser otro, en este caso suponemos que hacemos un túnel con Vilafranca) con el siguiente contenido:
  
 <code> <code>
-dev tun9+dev tunUJI-Vila
 ifconfig 10.100.1.1 10.100.1.2 ifconfig 10.100.1.1 10.100.1.2
-secret static.key +secret staticVilafranca.key  
 +port 1194
 </code> </code>
  
Línea 431: Línea 441:
 remote 150.128.97.56 remote 150.128.97.56
 port 1194 port 1194
-dev tun9+dev tunVila-UJI
 keepalive 10 60 keepalive 10 60
 ifconfig 10.100.1.2 10.100.1.1 ifconfig 10.100.1.2 10.100.1.1
-secret static.key +secret staticVilafranca.key 
 </code> </code>
  
Línea 443: Línea 453:
 Con la instrucción ''port 1194'' se puede indicar otro puerto (por defecto es el 1194). Esto hay que hacerlo tanto en el cliente como en el servidor y hay que poner el mismo en ambos. Los puertos hay que abrirlos en el cortafuegos. Con la instrucción ''port 1194'' se puede indicar otro puerto (por defecto es el 1194). Esto hay que hacerlo tanto en el cliente como en el servidor y hay que poner el mismo en ambos. Los puertos hay que abrirlos en el cortafuegos.
  
-''keepalive 10 60'' es para que automáticamente vuelva a abrir el túnel si no está funcionando.+''keepalive 10 60'' es para que automáticamente vuelva a abrir el túnel si no está funcionando. Cada 10Sg hace un ping. Si no contesta durante 60Sg, volverá a abrir el túnel.
  
-''ifconfig 10.100.1.2 10.100.1.1'' indica que  ''10.100.1.2'' es la ip del cliente en el túnel y ''10.100.1.2'' la ip del servidor en el túnel (igual que se había indicado en el servidor).+''ifconfig 10.100.1.2 10.100.1.1'' indica que  ''10.100.1.2'' es la ip del cliente en el túnel y ''10.100.1.1'' la ip del servidor en el túnel (igual que se había indicado en el servidor).
  
  
-Parece que al instalar openvpn ya se pone en el arranque de la máquina. No es necesario hacer nada adicional. Si queremos probar el túnel se puede ejecutar la orden:+Parece que al instalar openvpn ya se pone en el arranque de la máquina. No es necesario hacer nada adicional. Si queremos probar el túnel se puede ejecutar la orden (adaptando el nombre del fichero de configuración):
  
-  openvpn --config /etc/openvpn/tunel.conf +  openvpn --config /etc/openvpn/tunelVilafranca.conf 
  
 En la documentación de OpenVPN dicen que la gran parte de los problemas de los usuarios nuevos de OpenVPN están relacionados con el firewall: En la documentación de OpenVPN dicen que la gran parte de los problemas de los usuarios nuevos de OpenVPN están relacionados con el firewall:
Línea 478: Línea 488:
  
  
-Si el servidor necesita realizar enrutamiento dinámico hay que instalar el paquete quagga que incluye el protocolo OSPF entre otros.+Si el servidor necesita realizar enrutamiento dinámico hay que instalar el paquete //quagga// que incluye el protocolo OSPF entre otros.
  
 <code> <code>
Línea 484: Línea 494:
 </code> </code>
  
-En ''/etc/quagga/'' se encuentran los ficheros de configuración. En primer lugar hay que editar ''/etc/quagga/daemons'' e indicar los demonios que se han de ejecutar, ''zebra'' es el demonio principal y que coordina al resto.+En ''/etc/quagga/'' se encuentran los ficheros de configuración. En primer lugar hay que editar ''/etc/quagga/daemons'' e indicar los //duendes// que se han de ejecutar, ''zebra'' es el demonio principal y que coordina al resto.
  
 <code> <code>
Línea 496: Línea 506:
 </code> </code>
  
-En ''/usr/share/doc/quagga/examples/'' hay ejemplos de configuración de todos los demonios.+En ''/usr/share/doc/quagga/examples/'' hay ejemplos de configuración de todos los duendes. 
 + 
 +En el fichero ''/etc/quagga/zebra.conf'' se definen las interfaces, rutas estáticas, ...
  
-En el fichero ''/etc/quagga/zebra.conf'' se definen las interfaces, rutas estáticas, ... Las exclamaciones se utilizan para poner comentarios.+ <note>Las exclamaciones se utilizan para poner comentarios.</note>
  
  
Línea 533: Línea 545:
 </code> </code>
  
-El fichero ''/etc/quagga/ospfd.conf'' contiene la configuración del demonio ''ospfd'', las interfaces y redes con las que hay que intercambiar rutas:+El fichero ''/etc/quagga/ospfd.conf'' contiene la configuración del duende ''ospfd'', las interfaces y redes con las que hay que intercambiar rutas:
  
 <code> <code>
Línea 557: Línea 569:
  
  
-===== dispositivos wireless en modo bridge =====+===== Dispositivos wireless en modo bridge =====
  
 Cuando se utilizan dispositivos wireless en modo bridge pueden haber problemas con los mensajes multicast, en http://wiki.quagga.net/index.php/Main/FAQ#QQuestions11 se explica cómo solventarlo. Cuando se utilizan dispositivos wireless en modo bridge pueden haber problemas con los mensajes multicast, en http://wiki.quagga.net/index.php/Main/FAQ#QQuestions11 se explica cómo solventarlo.
Línea 605: Línea 617:
 ====== Logs, mensajes del sistema. ====== ====== Logs, mensajes del sistema. ======
  
-El sistema de logs de GNU/Linux es el mecanismo que se encarga de almacenar los mensajes generados por las aplicaciones. En cada mensaje consta qué programa lo generó, la prioridad y la fecha y hora en que se produjo.+El sistema de //logs// o //registros// de GNU/Linux es el mecanismo que se encarga de almacenar los mensajes generados por las aplicaciones. En cada mensaje consta qué programa lo generó, la prioridad y la fecha y hora en que se produjo.
  
 Los ficheros de log en un sistema linux, se encuentran habitualmente en el directorio ''/var/log'' o en algún directorio dentro de éste.  Los ficheros de log en un sistema linux, se encuentran habitualmente en el directorio ''/var/log'' o en algún directorio dentro de éste. 
Línea 615: Línea 627:
   * ''/var/log/messages'': donde se almacenan todos los mensajes con prioridad ''info'' (información), ''notice'' (notificación) o ''warn'' (aviso). Es uno de los ficheros en los que primero se mira cuando hay algún problema.   * ''/var/log/messages'': donde se almacenan todos los mensajes con prioridad ''info'' (información), ''notice'' (notificación) o ''warn'' (aviso). Es uno de los ficheros en los que primero se mira cuando hay algún problema.
   * ''/var/log/kern.log'': almacena los logs del kernel.   * ''/var/log/kern.log'': almacena los logs del kernel.
-  * ''/var/log/dmesg'': almacena la información que genera el kernel durante el arranque del sistema. Se puede ver su contenido con la orden ''demesg''.+  * ''/var/log/dmesg'': almacena la información que genera el kernel durante el arranque del sistema. Se puede ver su contenido con la orden ''dmesg''.
  
 Para ver el contenido (total o parcial) de alguno de estos ficheros se pueden utilizar alguna de las siguientes ordenes: Para ver el contenido (total o parcial) de alguno de estos ficheros se pueden utilizar alguna de las siguientes ordenes:
Línea 627: Línea 639:
 /* FIXME: explicar con detalle */ /* FIXME: explicar con detalle */
  
-Los archivos de log suelen crecer mucho ya que en ellos se está guardando información continuamente. Por ello, existe una aplicación, ''logrotate'' (que se puede configurar a través del fichero en ''/etc/logrotate'') que, si los ficheros de log son muy grandes, los comprime y aplica una rotación a los archivos (añadiéndoles la extensión .1.gz, .2.gz, etc.), volviendo a crear uno vacío (cuanto mayor es el número más antiguo es el log).+Los archivos de log suelen crecer mucho ya que en ellos se está guardando información continuamente. Por ello, existe una aplicación, ''logrotate'' (configurable a través del fichero ''/etc/logrotate'') que, si los ficheros de log son muy grandes, los comprime y aplica una rotación a los archivos (añadiéndoles la extensión .1.gz, .2.gz, etc.), volviendo a crear uno vacío (cuanto mayor es el número más antiguo es el log).
  
 /* FIXME: revisar */ /* FIXME: revisar */
Línea 653: Línea 665:
 En barrapunto hay una interesante discusión sobre opciones de copias de seguridad para pequeñas empresas: http://preguntas.barrapunto.com/preguntas/11/04/19/0911229.shtml En barrapunto hay una interesante discusión sobre opciones de copias de seguridad para pequeñas empresas: http://preguntas.barrapunto.com/preguntas/11/04/19/0911229.shtml
  
-En cualquier caso es importante que se realicen copias de los siguientes directorio:+En cualquier caso es importante que se realicen copias de los siguientes directorios:
  
   * ''/home'' contiene las carpetas personales de los usuarios.   * ''/home'' contiene las carpetas personales de los usuarios.
Línea 660: Línea 672:
   * ''/var'' contiene archivos variables, tales como logs, archivos spool, bases de datos, archivos de e-mail temporales, y algunos archivos temporales. Pueden excluirse los directorios ''/var/cache'', ''/var/spool'' y ''/var/tmp''.   * ''/var'' contiene archivos variables, tales como logs, archivos spool, bases de datos, archivos de e-mail temporales, y algunos archivos temporales. Pueden excluirse los directorios ''/var/cache'', ''/var/spool'' y ''/var/tmp''.
  
-Para que la copia no sea excesivamente grande se pùeden excluir ficheros del tipo: ''*.o'', ''*~'', ''*.mp3'', ''*.ogg'', ''*.avi'', ''*.mpg'', ''*.mkv'', ''*.iso''.+Para que la copia no sea excesivamente grande se pueden excluir ficheros del tipo: ''*.o'', ''*~'', ''*.mp3'', ''*.ogg'', ''*.avi'', ''*.mpg'', ''*.mkv'', ''*.iso''.
  
-Antes de realizar la copia es conveniente para los servicios: apache2, postgresql, mailman, ... para que no modifiquen los ficheros mientras se está realizando la copia.+Antes de realizar la copia es conveniente parar los servicios: apache2, postgresql, mailman, ... para que no modifiquen los ficheros mientras se está realizando la copia.
  
 También es aconsejable guardar la lista de paquetes instalados en el sistema: También es aconsejable guardar la lista de paquetes instalados en el sistema:
Línea 669: Línea 681:
   dpkg --get-selections > /root/dpkg-selections.log   dpkg --get-selections > /root/dpkg-selections.log
  
-todo esto puede automatizarse utilizando algún paquete especialixado como ''backup2l''.+todo esto puede automatizarse utilizando algún paquete especializado como ''backup2l''.
  
 Las copias se deben almacenar en un lugar distinto al del servidor. Se puede también enviar por guifi.net (o internet) a un servidor remoto utilizando, por ejemplo, ''rsync'' y ''ssh''. Las copias se deben almacenar en un lugar distinto al del servidor. Se puede también enviar por guifi.net (o internet) a un servidor remoto utilizando, por ejemplo, ''rsync'' y ''ssh''.
public/guifinet/cursoinstaladoresguifi2011/gnulinux/start.1309878120.txt.gz · Última modificación: 2011/07/05 15:02 por mperez