Mostrando entradas con la etiqueta Linux Servidores. Mostrar todas las entradas
Mostrando entradas con la etiqueta Linux Servidores. Mostrar todas las entradas

viernes, 19 de septiembre de 2014

RAID 5 en debian 7 con mdadm

Creo que el titulo de la entrada lo dice todo, pero voy a explicar alguna cosilla.

En una maquina vieja estoy intentando montar un RAID, la parte de hardware es la mas divertida, como se puede ver en las fotos, hay que serrar y todo para que entre.







 Una vez instalado el sistema de forma automática, empezamos a crear el raid, en este caso es un raid 5.

Podemos ver el estado de todos los discos con el comando lsblk -f, la f nos da información extra sobre el tipo de sistema que tiene el disco.

# lsblk -f



En mi caso los discos que voy a usar son sde, sdf y sdg.

Para crear el raid 5 usaremos el comando mdadm con las siguiente opciones:

--create: Esta opción le indica al comando que va a crear un nuevo raid.

/dev/md*: Esta opción le indica al comando el nombre que tendrá el raid.

-l: indica el nivel del raid.

-n: indica el numero de discos duros se usaran para el raid.

# mdadm --create 2 -l 5 -n 3 /dev/sde /dev/sdf /dev/sdg

Con esto ya tendremos creado nuestro raid, ahora formateamos la unidad, en este caso ext4.

# mkfs.ext4 /dev/md2

Ahora añadiremos nuestro nuevo disco a el archivos "/etc/fstab". Para ello, primero miramos el uuid de nuestro nuevo disco con el comando blkid

# blkid

En mi caso esta es la linea que me interesa:
/dev/md2: UUID="59ab92d0-744d-473e-a063-96aac32c6bd2" TYPE="ext4"

Ahora editamos el archivo con el comando nano.

# nano /etc/fstab

UUID=59ab92d0-744d-473e-a063-96aac32c6bd2 /media/datos    ext4    defaults        0       2

No voy a explicar como funciona este archivo, ya que no es el momento ni la hora. En este momento ya tenemos el sistema preparado para que funcione al arrancar el sistema.

Saludos by necromals

lunes, 27 de agosto de 2012

BIND9 Zonas Inversas.

Lo prometido es deuda, así que hoy voy a explicar las zonas inversas para nuestro servidor DNS.

También tengo 2 explicaciones, por una parte el servidor maestro y por otra un servidor esclavo. Pero para no hacer 2 post lo junto todo en uno.


Comenzaremos con todo lo necesario para montar el servidor maestro, como somos previsores también indicaremos el servidor esclavo y le autorizaremos.


Para ello, crearemos una zona que nos va a dar servicio, para ello editamos el archivo /etc/bind/named.conf.local:

nano /etc/bind/named.conf.local

y en este archivo tenemos que poner algo como esto:


zone "100.168.192.in-addr.arpa" { → Esto seria el comienzo y entre las comillas hay que poner el nombre de nuestra zona inverso.

type master; → Con esto le indicamos el tipo de servidor que estamos preparando, en este casto maestro.

file "/var/lib/bind/db.inversa.instituto.com"; → Aquí le indicamos en que archivo tendrá toda la configuración de la zona, osease donde tendrá el nombre de las maquinas y sus ips.
Allow-transfer {192,168,100,252;}; → Aquí le indicamos a los servidores esclavos a los cuales les mandara el archivo.
Also-notify {192,168,100,252;}; → Aquí le indicamos a los servidores esclavos a los cuales les notificaremos los cambios que realicemos.

}; --> Hay que cerrar las llaves xD, el ";" se utiliza para indicar que se acabo la linea, si da fallos, siempre hay que mirar este tipo de cosas.

Foto 01: Zona inversa en el servidor maestro.

Editamos el archivo /etc/bind/db.necromals.com al abrirlo con el nano o cualquier editor, en teoría debería grabarse donde le estamos indicando (siempre y cuando las carpetas estén creadas, para crear carpetas mkdir).

nano /var/lib/bind/db.insitituto.com

Bueno ahora vamos a ver que lineas podemos tener en este archivo.

$TTL 604800 --> Es un tiempo de vida que le da a los registros.

En el siguiente registro (el primero en realidad) tenemos que decir quien tiene la autoridad de esta zona.

Para ello se pone lo siguiente:

<nombre de dominio> IN SOA <servidor> <responsable> (<parámetros>)
@ IN SOA ns root.localhost (parámetros)
en las siguientes lineas van el numero de serie, el periodo de refresco, la frecuencia de reintentos, el tiempo de expiración y el TTL minino.

El siguiente registro es un NS, que indica en una zona que servidores tienen autoridad a responder.
<nombre de dominio> IN NS <servidor con autoridad>
@ IN NS ns.instituto.com.

A partir de aquí los registros son mas sencillos, ya que son todos PTR

<dirección IP> IN PTR <nombre de dominio>

253 IN PTR ns.instituto.com. --> con esta linea le estamos diciendo que nuestro servidor dns que en la ip 192.168.100.253 (leído seria 253.100.168.192.in-addr.arpa) esta el nuestro servidor dns.

Foto 02: Registros para la zona inversa.

Ahora reiniciamos el servicio DNS, si no pasa nada nos mostrara 2 OK.
/etc/init.d/bind9 restart

Ahora vamos a montar nuestro servidor esclavo.
Para crear la zona esclava, tendríamos que poner el allow-transfer y el also-notify, pero como somos previsoras, ya los tenemos puestos en la parte anterior.
Continuamos con el siguiente paso, que es crear la zona que nos va a dar servicio, este paso es muy parecido al anterior, para ello editamos el archivo /etc/bind/named.conf.local:

nano /etc/bind/named.conf.local

y en este archivo tenemos que poner algo como esto:


zone "100.168.192.in-addr.arpa" { → Esto seria el comienzo y entre las comillas hay que poner el nombre de nuestro dominio.

type slave; → Con esto le indicamos el tipo de servidor que estamos preparando, en este casto maestro, pero tenemos otros como esclavo....
masters {192.168.100.253;}; → Aquí le indicamos de que servidores nos descargaremos los registros.

file "/var/lib/bind/db.slave.inversa.instituto.com"; → Aquí le indicamos en que archivo tendrá toda la configuración de la zona, osease donde tendrá el nombre de las maquinas y sus ips.

}; --> Hay que cerrar las llaves xD, el ";" se utiliza para indicar que se acabo la linea, si da fallos, siempre hay que mirar este tipo de cosas.

Foto 03: Zona inversa en el servidor esclavo.

Ahora reiniciamos el servicio DNS, si no pasa nada nos mostrara 2 OK.
El mejor método para ver si lo hemos configurado correctamente, es ver si el fichero /var/lib/bind/db.slave.inversa.instituto.com se ha creado, en caso contrario hay algo mal configurado.
Foto 04: Reinicio y comprobación.
Pues con esto ya tenemos nuestro servidor DNS totalmente montado.

Saludos by NECROMALS




miércoles, 22 de agosto de 2012

BIND9 Servidor Esclavo.

Continuando con la serie de post en los cuales voy a esplicar un poco como montar un servidor BIND9 o DNS.

Hoy nos toca los servidores esclavos, para ello vamos a utilizar las maquinas anteriores.

Pues comenzamos, primero vamos a esplicar un poco lo que queremos que suceda:

Tenemos un servidor maestro, este nos esta resolviendo las zonas que le tengamos puestas, pero que sucederia si este servidor se cae o si tiene mucho trabajo, pues para esto se hacen los servidores esclavos.

Basicamente un servidor esclavo le pide al servidor maestro toda sus registros de una zona, y a partir de este momento el servidor esclavo ya podria responder a las peticiones como si del maestro se tratase, cuando en el maestro cambie algo, este enviara a las maquinas esclavas un aviso de que cambio, y las esclavas le pediran de nuevo los registros de la zona. Basicamente esto es lo que va a suceder.

Pues empezemos:

Primero tenemos que configurar varias cosas en el servidor maestro, una de ellas esta en la parte de asignar las zonas.

Abrimos el archivo /etc/bind/named.conf.local con el gestor que mas nos agrade, en mi caso va a ser el nano:

nano /etc/bind/named.conf.local

 En la zona que tenemos, configurariamos las siguientes lineas:

allow-transfer {<ip de la maquina esclaba>;<ip de la segunda maquina esclava>;}; --> esta linea indica a que maquinas se va a enviar los registros de nuesto DNS.

also-notify {<ip de la maquina esclaba>;<ip de la segunda maquina esclava>;};--> esta linea indica a que maquinas tiene que avisar de que a cambiado algo en los registros de nuestro DNS principal.

Nos quedara algo como lo siguiente en nuestro ejemplo.

allow-transfer {192.168.100.252;};
also-notify {192.168.100.252;};

Foto 01: Permitir tener un servidor secundario.

El siguiente paso que devemos hacer en el servidor maestro, es indicarle en los registros que nuestro servidor secundario (En el caso del ejemplo el servidor se llama cliente) que el tambien puede contestar las peticiones, esto se hace con el registro ns.

Para ello, abrimos el archivo /var/lib/bind/db.insitituto.com con el gestor que mas nos agrade, como siempre yo uso el nano:

nano /var/lib/bind/db.insitituto.com

Y añadimos un registro parecido a este:


instituto.com. IN NS cliente

Foto 02: Añadir registro NS al servidor maestro.

A continuación ya empezamos con nuestro servidor esclavo.
Instalamos BIND9 antes de nada.
aptitude update --> Con esto se actualizaran los repositorios.
aptitude install bind9 --> Se instalaran 2 paquetes.

Una vez instalado, como va a ser nuestro Servidor DNS secundario, tenemos que configurarlo para que nos resuelva nuestro propio DNS, para ello editamos el archivo /etc/resolv.conf:

nano /etc/resolv.conf

Y dejar solo la siguiente linea:


nameserver 127.0.0.1
Esto significa que el servidor al que vamos ha hacer las peticiones somos nosotros mismos.

¿Y que pasa cuando en nuestro Servidor DNS no puede ofrecer la respuesta?

Pues fácil, en las opciones del servidor, indicamos un forward o lo que viene a ser lo mismo el siguiente servidor al que tiene que preguntar.

Para hacer esto hay que editar el archivo /etc/bind/named.conf.options

nano /etc/bind/named.conf.options

Y en este archivo descomentamos y dejamos así:

forward {
192.168.100.253;
};

Foto 03: Forward hacia el servidor maestro.
Continuamos con el siguiente paso, que es crear la zona que nos va a dar servicio, para ello editamos el archivo /etc/bind/named.conf.local:

nano /etc/bind/named.conf.local

y en este archivo tenemos que poner algo como esto:


zone "instituto.com" { → Esto seria el comienzo y entre las comillas hay que poner el nombre de nuestro dominio.

type slave; → Con esto le indicamos el tipo de servidor que estamos preparando, en este casto maestro, pero tenemos otros como esclavo....
masters {192.168.100.253;}; → Aquí le indicamos de que servidores nos descargaremos los registros.

file "/var/lib/bind/db.slave.instituto.com"; → Aquí le indicamos en que archivo tendrá toda la configuración de la zona, osease donde tendrá el nombre de las maquinas y sus ips.


}; --> Hay que cerrar las llaves xD, el ";" se utiliza para indicar que se acabo la linea, si da fallos, siempre hay que mirar este tipo de cosas.
Foto 04: Zona Esclava.
Ahora reiniciamos el servicio DNS, si no pasa nada nos mostrara 2 OK.
El mejor método para ver si lo hemos configurado correctamente, es ver si el fichero /var/lib/bind/db.esclavo.instituto.com se ha creado, en caso contrario hay algo mal configurado.

Foto 05: Comprobación.
Pues ya tenemos nuestro servidor DNS esclavo, en los próximos días publicare las zonas inversas de el servidor DNS maestro y esclavo, pero todo en el mismo post.
Saludos by NECROMALS



miércoles, 12 de octubre de 2011

BIND9 Zonas maestras

Hoy vamos a ver como configurar un servidor DNS en linux (en windows es la cosa mas fácil del mundo), para eso vamos a suponer que trabajamos en una empresa, en la cual tenemos una serie de maquinas que son las que proporcionan servicios al exterior y también tendremos otras maquinas por 4 departamentos, teniendo en cada departamento unas 8 maquinas.

El ejemplo quedaría algo como esto:

- Servidor web 1: 192.168.100.100
- Servidor web 2: 192.168.100.101
- Servidor web 3: 192.168.100.102
- Servidor web 4: 192.168.100.103
- Servidor ftp 1: 192.168.100.105

- Departamento de Administración:
  • Equipo 1: 192.168.2.1
  • Equipo 2: 192.168.2.2
  • Equipo 3: 192.168.2.3 
  • Equipo 4: 192.168.2.4  
- Departamento de  Marketing:
  • Equipo 5: 192.168.3.5
  • Equipo 6: 192.168.3.6
  • Equipo 7: 192.168.3.7 
  • Equipo 8: 192.168.3.8
- Departamento de Atención al cliente:
  • Equipo 9: 192.168.1.9
  • Equipo 10: 192.168.1.10
  • Equipo 11: 192.168.1.11 
  • Equipo 12: 192.168.1.12
- Departamento de Contabilidad:
  • Equipo 13: 192.168.4.13
  • Equipo 14: 192.168.4.14
  • Equipo 15: 192.168.4.15 
  • Equipo 16: 192.168.4.16
Bueno, pues con estos equipos hay ejemplo para dar y vender.

Vamos al grano, en una maquina, yo voy a usar una debian totalmente limpia, instalamos el BIND9.

Para instalar (como se supone que no tenemos entorno gráfico :P), pues tecleamos:

aptitude update --> Con esto se actualizaran los repositorios.
aptitude install bind9 --> Se instalaran solo 2 paquetes (esto me choco mucho)

Una vez instalado, como va a ser nuestro Servidor DNS, tenemos que configurarlo para que nos resuelva nuestro propio DNS, para ello editamos el archivo /etc/resolv.conf:

nano /etc/resolv.conf

Y dejar solo la siguiente linea:

nameserver 127.0.0.1


Foto 1: /etc/resolv.conf



Esto significa que el servidor al que vamos ha hacer las peticiones somos nosotros mismos.

¿Y que pasa cuando en nuestro Servidor DNS no puede ofrecer la respuesta?

Pues fácil, en las opciones del servidor, indicamos un forward o lo que viene a ser lo mismo el siguiente servidor al que tiene que preguntar.

Para hacer esto hay que editar el archivo /etc/bind/named.conf.options


nano /etc/bind/named.conf.options

Y en este archivo descomentamos y dejamos así:

forward {
      8.8.8.8;
      };

Foto 2: Forwarders.


Ahora cuando le pidamos dominios que no tenemos nosotros, el servidor DNS de google nos los dirá, no es obligatorio poner el Servidor DNS de google, puedes poner el de tu ISP o el de quien tu quieras.

Continuamos con el siguiente paso, que es crear la zona que nos va a dar servicio, para ello editamos el archivo /etc/bind/named.conf.local:

nano /etc/bind/named.conf.local

y en este archivo tenemos que poner algo como esto:


zone "necromals.com" { --> Esto seria el comienzo y entre las comillas hay que poner el nombre de nuestro dominio.

type master; --> Con esto le indicamos el tipo de servidor que estamos preparando, en este casto maestro, pero tenemos otros como esclavo....

file "/etc/bind/db.necromals.com"; --> Aquí le indicamos en que archivo tendrá toda la configuración de la zona, osease donde tendrá el nombre de las maquinas y sus ips.

}; --> Hay que cerrar las llaves xD, el ";" se utiliza para indicar que se acabo la linea, si da fallos, siempre hay que mirar este tipo de cosas.

Foto 3: Nueva zona.


Bueno ahora viene lo jodido no, lo siguiente. El archivo de configuración de la zona.

Pos ale al tajo.....

Editamos el archivo /etc/bind/db.necromals.com al abrirlo con el nano o cualquier editor, en teoría debería grabarse donde le estamos indicando (siempre y cuando las carpetas estén creadas, para crear carpetas mkdir).

nano /etc/bind/db.necromals.com

Bueno ahora vamos a ver que lineas podemos tener en este archivo.


$TTL 604800 --> Es un tiempo de vida que le da a los registros.


$ORIGIN necromals.com. --> Establece el nombre de dominio por omisión, osease que si nos dejamos en el archivo un dominio al final sin un punto pondrá esto.

En el siguiente registro (el primero en realidad) tenemos que decir quien tiene la autoridad de esta zona.

Para ello se pone lo siguiente:

<nombre de dominio> IN SOA <servidor> <responsable> (<parametros>)
necromals.com. IN SOA ns.necromals.com. root.localhost (parametros)
en las siguientes lineas van el numero de serie, el periodo de refresco, la frecuencia de reintentos, el tiempo de expiracion y el TTL ninimo.

El siguiente registro es un NS, que indica en una zona que servidores tienen autoridad a responder.
<nombre de dominio> IN NS <servidor con autoridad>
necromals.com. IN NS ns.necromals.com.

A partir de aqui los registros son mas sencillos.

Tenemos el registro A, que es el que nos va a dar a un dominio que ip le pertenece.

<nombre de dominio> IN A <dirección IP>

ns.necromals.com. IN A 192.168.100.253 --> con esta linea le estamos diciendo que nuestro servidor dns (el que en el registro ns le da privilegios para poder responder en esta zona) tiene la ip 192.168.100.253

Para uno de nuestros servidores web podríamos poner algo así como:

www.necromals.com. IN A 192.168.100.100 --> con este registro, nuestro server con el dominio necromals.com seria el 192.168.100.100, si mirais la foto de abajo con la configuración que tengo de esta zona, podrás ver que tengo varios servidores web con 4 ips distintas, esto es para hacer un balanceo de carga entre los 4 servidores.

Otro registro, muy útil, es el registro CNAME, este nos permite cambiar un dominio por otro.

<nombre de dominio> IN CNAME <nombre de dominio real>

Por ejemplo google:
www.google.es. IN CNAME www.google.com.

Nos faltaria añadir los tipos de registro MX, que son los registros que consultan los servidores de correo para conocer la IP de otros servidores de correo.

Estos registros a parte del IN MX tienen una cifra numérica, esto indica cuando hay varios servidores de correo quien es el que tiene prioridad.

<nombre de dominio> IN MX 20 <Dirección IP>

mail1.necromals.com. IN MX 10 192.168.100.104

Dentro de este archivo, a parte de estos registros también podemos poner directivas.

La forma de explicar una de ellas, que es $GENERATE, es muy simple.
Si tenemos el departamento de administracion que tienen una serie de equipos, para darles ip tendriamos que hacer lo siguiente:

equipo1.administracion IN A 192.168.2.1
equipo2.administracion IN A 192.168.2.2
equipo3.administracion IN A 192.168.2.3
equipo4.administracion IN A 192.168.2.4

En este caso es mas o menos simple porque solo hay que poner 4, pero y si nuestro departamento tiene 100 equipos, pues que nos morimos escribiendo lo mismo todo el rato.

Para ello tenemos la directiva &GENERATE, esta nos permite dar ip a todos esos equipos con solo poner una linea.

&GENERATE 1-4 equipo$.administracion IN A 192.168.2.$

Creo que la linea se entiende de sobras, pero la explico un poco.

&GENERATE --> es la directiva.

1-4 --> es el intervalo de números que pueden cambiar.

equipo$administración IN A 192.168.2.$ --> seria un registro normal de A pero cambiando los números que nos interesan que cambien por el símbolo "$".

Otra directiva, es &INCLUDE: con esta directiva, llamaríamos a otro archivo, en el cual tendríamos mas registros. Para mi sinceramente esta directiva no tiene mucho sentido.

&INCLUDE <ruta del nuevo archivo a incluir>

&INCLUDE /etc/bind/db.ayuda

En la siguiente foto se muestra como quedarían los registros para nuestro ejemplo:

Foto 4: Registros
En verdad, para entender todo esto muy bien, tendremos que leer este articulo varias veces y practicar un poco.

Para probar, podemos utilizar cualquier maquina, siempre que este dentro de la misma red, y tener en el archivo /etc/resolv.cnf el primer nameserver con la ip de nuestro servidor dns.

Cuando tengamos eso, solo tenemos que poner un dig y el nombre que queramos. Por ejemplo:

dig equipo13.contabilidad.necromals.com

con esto una de las lineas nos dira la ip, quien nos la puede ofrecer y mas cosas, pero esto del dig, me lo reservo para otro post.

Saludos by NECROMALS

martes, 4 de octubre de 2011

El puto MYSQL

Bueno al instalar MYSQL resulta que con cualquier programa que me intentara conectar a el que no fuese de forma local, no me dejaba.

Tras googlear un rato e descubierto la solución:

nano /etc/mysql/my.cnf

En este archivo tenemos que marcar como comentario la siguiente linea:

bind-address = 127.0.0.1

Lo cerramos (en nano, ctl+x, yes y enter), y reiniciamos el servicio MYSQL.


/etc/init.d/mysql restart

Bueno con esto ya lo tenemos solucionado.

lunes, 12 de septiembre de 2011

Crear Servidor.


Tras las vacaciones, volvemos a las viejas rutinas del invierno. Como es lo normal, por lo menos para mi, me pongo de nuevo con linux a cacharrear con el y aprovechando, también retomo mi proyecto herejia.es.

En el intento del proyecto del año pasado, el servidor lo instale en una maquina física real, pero por problemas de espacio y algún otro factor hoy por hoy no voy a volver a montar la torre todavía.

Así que, instalare el servidor en un entorno virtual, ya que este es mas fácil de crear.

El software elegido para esta ocasión es el VMware player, que dicen que es mejor que el Virutal Box (el que yo usaba antes), y la verdad es que en el tema de visualización de USB y alguna cosa mas están mas avanzados los de VMware.

 Pues empezamos, para ello lo primero abrimos el VMware.
Foto 1: VMware recién instalado.

Ahora debemos clicar en "Create a New Virutual Machine". En esta nueva pantalla, nos pregunta como vamos a instalar el sistema operativo para esta maquina.
La primera opción nos serviría para instalarlo si lo tenemos en un CD o DVD.
La segunda opción nos serviría para instalarlo si lo tenemos en una ISO.
La ultima opción nos serviría para instalarlo después.
En mi caso voy a seleccionar instalarlo después, ya que me viene mejor.
Foto 2: Instalar el SO.

Después de indicar como instalaremos el sistema operativo, nos pregunta que sistema operativo vamos a instalar en esta maquina virtual.
Foto 3: Que SO correrá.

Después elegimos donde queremos guardarla y como se llamara.
Foto 4: Elegir nombre y Localización.
Luego nos permite elegir el tamaño que va ha tener nuestra maquina virtual, en este caso yo le voy a dar unos 40 GB para tener espacio en un futuro.
Y en la parte de abajo, debemos indicar si queremos que lo guarde separado en varios archivos o sea uno solo.
Foto 5: Espacio.
En las dos siguientes ventanas nos aparece lo que hemos seleccionado y unas recomendaciones.
Foto 6: Opciones avanzadas.

Foto 7: Como instar un SO.
Y una vez pulsemos en "close", tendremos instalada la maquina virtual, pero sin todavia ponerle un sistema operativo, esto sera para el próximo post.

Saludos by NECROMALS