Mostrando entradas con la etiqueta linux. Mostrar todas las entradas
Mostrando entradas con la etiqueta linux. Mostrar todas las entradas

lunes, 14 de octubre de 2013

RHEL / CentOS - Instalar Ajenti



Ajenti es un panel web de código abierto basado en el sistema de gestión de control de la gestión de las tareas de administración de sistema remoto desde el navegador web muy similar al módulo de Webmin. Ajenti es una herramienta muy potente y ligero, que proporciona una interfaz web rápido y sensible para la gestión de servidores pequeños montajes y también la más apropiada para VPS y servidores dedicados. Se ha construido con muchos plugins pre-hechos para la configuración y software de monitoreo y de servicios como Apache, Cron, sistema de archivos, Firewall, MySQL, Nginx, Munin, Samba, FTP, calamar y muchas otras herramientas como el Administrador de archivos, editor de código para el servidor desarrolladores y acceso a la terminal.

Lo primero es instalar el repositorio EPEL

$ sudo yum install http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

Luego, instalamos el repositorio

$ sudo yum install http://repo.ajenti.org/ajenti-repo-1.0-1.noarch.rpm

Después de tener el repositorio, podemos instalar Ajenti

$ sudo yum install ajenti

Ahora, debemos permitir el puerto 8000 a través de IPTables, para eso, debemos hacer lo siguiente:

$sudo iptables -A INPUT -i eth0 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
$ sudo iptables -A OUTPUT -o eth0 -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT
$ sudo service iptables restart

Reiniciamos el servicio

$ sudo service ajenti restart

Finalmente, ingresamos a la ip o hostname e indicamos en el puerto 8000

https://<ip>:8000/

Aquí nos pedirá el usuario y contraseña, el cual es:

User: root
Pass: admin

Una vez ingresadas las credenciales, nos enviará al Dashboard de Ajenti


Ahora nos queda sólo explorar Ajenti.

domingo, 13 de octubre de 2013

Linux - Configurando servicios fácilmente

Cuando el sistema inicia, carga diferentes servicios, estos normalmente los encontraremos en /etc/rcX.d/, en Donde X va del 0 al 6. Sin intentar explicar esto, existe una forma de administrar los servicios bastante fácil, esto es gracias a sysv-rc-conf. Para instalarlo debemos:

$ sudo aptitude install sysv-rc-conf


Una vez instalado, simplemente lo ejecutamos en consola:

$ sudo sysv-rc-conf


Aquí nos encontraremos con algo similar a lo siguiente:


Como podemos ver, nos muestra los diferentes servicios, y del 0 al 6, por lo cual podemos activar o desactivar según nosotros estimemos conveniente.

  • Con la tecla espacio podemos marcar o desmarcar un servicio en un nivel de ejecución, al tener la “X” significa que estará activado.
  • Con la combinación “Ctrl + N” pasamos a la siguiente página, al igual que lo podemos hacer si simplemente empezamos a bajar.
  • Para detener o iniciar un servicio que ya esté en ejecución, utilizamos las teclas “-” y “+”.
  • Para salir, simplemente utilizamos la tecla “q”


domingo, 7 de julio de 2013

Debian – Instalar Virtualbox

Está vez, explicaré la forma de instalar Virtualbox en Debian Wheey. Virtualbox, según wikipedia:

“Oracle VM VirtualBox es un software de virtualización para arquitecturas x86/amd64, creado originalmente por la empresa alemana innotek GmbH. Actualmente es desarrollado por Oracle Corporation como parte de su familia de productos de virtualización. Por medio de esta aplicación es posible instalar sistemas operativos adicionales, conocidos como «sistemas invitados», dentro de otro sistema operativo «anfitrión», cada uno con su propio ambiente virtual.

Entre los sistemas operativos soportados (en modo anfitrión) se encuentran GNU/Linux, Mac OS X, OS/2 Warp , Microsoft Windows, y Solaris/OpenSolaris, y dentro de ellos es posible virtualizar los sistemas operativos FreeBSD, GNU/Linux, OpenBSD, OS/2 Warp, Windows, Solaris, MS-DOS y muchos otros.”

Para su instalación, tenemos 2 opciones, la primera es descargar el fichero .deb (versión 64 bits)

$ wget http://download.virtualbox.org/virtualbox/4.2.16/virtualbox-4.2_4.2.16-86992~Debian~wheezy_amd64.deb

y luego instalarlo:

$ sudo aptitude install libqt4-opengl
$ sudo dpkg -i virtualbox-4.2_4.2.16-86992~Debian~wheezy_amd64.deb
$ sudo aptitude install dkms

De lo contrario, podemos instalarlo desde los repositorios, de la siguiente forma: 

Agregar a nuestro sources.list lo siguiente:

deb http://download.virtualbox.org/virtualbox/debian wheezy contrib

Ahora, instalamos su public key

wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- | sudo apt-key add -

Luego de eso, debemos hacer un update

$ sudo aptitude update

Ahora instalamos Virtualbox, en mi caso, la última versión es la 4.2

$ sudo aptitude install virtualbox-4.2 dkms

Teniendo instalado virtualbox, es bueno instalar “VirtualBox 4.2.16 Oracle VM VirtualBox Extension Pack” desde https://www.virtualbox.org/wiki/Downloads Una vez descargado, abrimos Virtualbox, nos vamos a “Archivo → Preferencias → Extensiones” y seleccionamos el fichero descargado.

Con esto, ya tenemos todo listo para poder crear nuestra máquina virtual. Si al ir a las configuraciones de la máquina virtual creada tenemos el error “Fallo al acceder al subsistema USB” debemos:

Cerrar Virtualbox

Editar /etc/fstab

$ sudo nano /etc/fstab

Agregar lo siguiente:

#usbfs
none /proc/bus/usb usbfs devgid=46,devmode=664 0 0

Montamos todo

$ sudo mount -a

Ahora abrimos Virtualbox y ya no tendremos ese problema

sábado, 1 de junio de 2013

Linux - Forma fácil de instalar y jugar Diablo III

La verdad es que prácticamente el tiempo no me da para jugar, pero existen algunos juegos que la verdad son una obsesión para mi (The Legend Of Zelda, Diablo, Final Fantasy, Lineage II), los cuales de verdad he pasado bastantes horas jugandolos, ahora cada vez que tengo un poco tiempo, juego Diablo III, uno de los juegos más esperados por muchos, como es obvio, iba a intentar instalar en Linux, para lo cual, al menos yo conozco 3 formas de poder instalarlo:

1. Wine
2. PlayOnLinux
3. CrossOver

Tanto PlayOnLinux como CrossOver, están basados en Wine, la diferencia es que estos traen parches y pre-configuraciones ya hechas, por lo que es más simple la instalación. CrossOver es de pago, por lo que quedo descartado, mi elección estaba entre Wine y PlayOnLinux, en vista del tiempo me fuí por lo más sencillo, PlayOnLinux, para instalarlo en Debian, hacemos lo siguiente:

Agregamos el repositorio a nuestro sources.list
# echo "deb http://deb.playonlinux.com/ squeeze main" >> /etc/apt/sources.list
Ahora instalamos su key
# wget -q "http://deb.playonlinux.com/public.gpg" -O- | apt-key add -
Actualizamos
# aptitude update
Instalamos PlayOnLinux
# aptitude install playonlinux
Ahora que ya tenemos instalado PlayOnLinux, recomiendo añadir nuestro usuario a sudores, ya que al menos más adelante me fue necesario, para hacer esto deben:
echo "usuario ALL=(ALL:ALL) ALL" >> /etc/sudoers
Donde “usuario” es el nombre de su usuario. Añadir su usuario a sudoers es para que puedan ejecutar sentencias con privilegios de root solamente anteponiendo la palabra sudo a la instrucción.

Ya con todo lo pre-requerido, abrimos PlayOnLinux y hacemos click en instalar.

Una vez dentro de esto, nos vamos a la sección Juegos y buscamos Diablo III.



Una vez hecho esto, simplemente click en “Instalar”, luego (como es en mi caso) seleccionamos donde esta montado el dvd del juego, en mi caso fue cdrom0 (aquí fue donde me daba problemas al no tener mi usuario en sudoers),y aquí es simplemente lo conocido como “siguiente, siguiente, siguiente”.

Se nos abrirá la venta de diablo, y comenzaremos la instalación como se ve en la siguiente imágen


Ahora es cosa de esperar que termine la instalación, una vez terminada la instalación nos pedirá denuevo ingresar la contraseña de root para trabajar con sudo, ya finalizado todo, nos aparecerá un mensaje de agradecimiento y una alerta que dice:
“Si obtienes Error 3007 en conexión, desde una terminal ejecute:
echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope”
Ahora abrimos nuevamente PlayOnLinux y notaremos que está Diablo III instalado


Simplemente le hacemos click en lanzar y empezará a correr el juego, ojo, click en “lanzar” en el que está a mano derecha, porque al menos a mi si le doy click en lanzar en el que está en al parte superior, me sale el menú de instalación no de jugar, haciendo todo lo anterior correctamente, comenzará a actualizar y luego verán esta pantalla.



Cabe destacar que al parecer con una tarjeta de vídeo Intel no sé puede jugar decentemente, ya que he probado con una nvidia y se ha logrado, pero con una Intel, los colores se ven sumamente bajos y hay demasiado lag.

lunes, 18 de febrero de 2013

Cambiar zona horaria en RedHat/CentOS 6.x


Para cambiar la zona horaria, lo primero que debemos hacer es editar el siguiente fichero:

# nano /etc/sysconfig/clock

Nos encontraremos con algo parecido a:

ZONE="America/New_York"
UTC=True

Lo que debemos hacer es cambiar la ZONE por la que nosotros necesitemos, para saber las disponibles, simplemente:

# ls -l /usr/share/zoneinfo

Una vez sabido lo modificamos. Ya modificado, debemos hacer un enlace simbólico, por ejemplo, aquí haremos un enlace simbólico de Buenos Aires al localtime.

# ln -sf /usr/share/zoneinfo/America/Buenos_Aires /etc/localtime

Echo esto, comprobamos que la hora esté correcta con el comando date.

# date
Thu Nov  8 10:26:25 ART 2012

domingo, 11 de noviembre de 2012

Habilitar User/Group para cada VirtualHost

Para realizar esto, debemos utilizar mpm-itk, el cual lo podemos instalar desde los repositorios
# yum install httpd-itk
Una vez hecho esto,  editamos a nuestro VirtualHost, por ejemplo: mivh
# nano /etc/httpd/conf.d/mivh
Ahora, dentro del bloque <VirtualHost *:80></VirtualHost > debemos agregar lo siguiente:
<IfModule mpm_itk_module>   AssignUserId <UserName> <GroupName></IfModule>

*No olvidar agregar el Include correspondiente en /etc/httpd/conf/httpd.conf*

Ahora debemos editar:
# nano /etc/sysconfig/httpd
Y agregar la siguiente línea:
HTTPD=/usr/sbin/httpd.itk
Esto puede generar un conflicto con php, para esto debemos editar:
# nano /etc/httpd/conf.d/php.conf
Y modificar esto:
<IfModule prefork.c>   LoadModule php5_module modules/libphp5.so</IfModule>
Por:
LoadModule php5_module modules/libphp5.so
Luego debemos reiniciar Apache
# sudo service httpd restart
Y listo, debiese cargar el usuario definido, cabe considerar que el dueño de la carpeta a trabajar, debe ser el mismo que especificamos con la variable AssignUserID, lo podemos hacer de la siguiente forma:
# chown UserName:GroupName /path/to/webroot

jueves, 27 de septiembre de 2012

Debian - Configurando servidor DHCP

En palabras sencillas, al tener un servidor DHCP lo que hacemos es entregar direcciones IP a distintos dispositivos que contengan una conexión a Internet, ya sea por alámbrica o inalámbricamente. Del mismo modo, puedo hacer que este dispositivo que tenga asignada una dirección IP por defecto por lo que podemos segmentar más nuestra red e ir organizándose. Otra ventaja que posee montar un servidor DHCP es justamente el hecho de que tenemos una infinidad de posibles variables, una de ellas, es que por ejemplo podemos definir cuántas direcciones asignaremos dinámicamente, es decir, definir un pool de direcciones.

Esto lo quiero tomar como un laboratorio, para llevarlo a cabo pueden montar 2 máquinas virtuales, yo usaré Virtualbox, una máquina virtual la ocuparemos como Servidor (obviamente Debian) y la otra puede ser cualquier distribución, en mi caso lo haré con un CentOS 6 minimal.

En el caso del servidor, creamos la máquina virtual, luego vamos a la configuración de la máquina virtual, vamos a red y creamos una interfaz en modo bridge (puente) y otra interfaz en modo intnet (red interna). En el caso del cliente sólo creamos una interfaz en modo intnet (red interna). Ahora instalamos el sistema operativo normalmente.

La configuración la haremos todo en el servidor, lo primero que debemos hacer es configurar nuestras interfaces de red, para esto editamos el fichero de configuración con nuestro editor de texto, en este caso con nano:

# nano /etc/network/interfaces

Aquí debemos configurar nuestras 2 interfaces de red, lo que haremos es que nuestra interfaz, la configuración eth0 la dejaremos como DHCP ya que este recibirá directamente la dirección IP, en cambio nuestra eth1 la dejaremos como interfaz estática, para esto dentro del fichero debemos configurarlo de forma parecida a esto:
#loopback
auto lo
iface lo inet loopback

#eth0
auto eth0
iface eth0 inet dhcp

#eth1
auto eth1
iface eth1 inet static
        address 192.168.0.1
        netmask 255.255.255.0
        network 192.168.0.0

  • Al agregar auto <interfaz> lo que hacemos es indicar que esa interfaz se levante automáticamente.
  • La palabra iface es para indicar la configuración de la interfaz asociada.
  • Para configurar una interfaz en DHCP, simplemente escribimos iface <interfaz> inet dhcp
  • Para configurar una interfaz en modo estático, simplemente escribimos iface <interfaz> inet static, seguido de esto escribimos address que es la dirección IP que tendrá la interfaz, netmask que es la máscara de red y network, que es el segmento al cual pertenece. Tenemos más configuraciones, pero está configuración mínima sirve para para el ejemplo.
  • Tenemos que tener en cuenta el segmento de nuestra eth0 y eth1, ya que no deben ser el mismo, por ejemplo, si nuestra eth0 recibe el segment0 192.168.1.0, nuestra eth1 puede ser cualquier segmento menos el de la eth0.
Una vez configuradas nuestras interfaces de red, hacemos lo siguiente:

# service networking restart && ifup eth0 && dhclient eth0 && ifup eth1

Con hacer un ifconfig podemos ver la configuración de nuestras interfaces, seguido de esto, instalamos los servicios necesarios:

# aptitude install dhcp3-server isc-dhcp-server

Ahora comienza la configuración, primero:

# nano /etc/default/isc-dhcp-server

Aquí encontraremos una línea que dice INTERFACES="", lo que debemos hacer es indicar la interfaz que repartirá las direcciones DHCP, en nuestro caso es la interfaz eth1, por lo que nos quedaría INTERFACES="eth1"

Ahora debemos configurar el último fichero de configuración, pero antes como medida de precaución, hacemos una copia de seguridad de nuestro fichero:

# cp /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.original

Ya con nuestra copia de seguridad hecha, lo primero que haremos será vaciar el fichero para que sólo tenga nuestra configuración

# cat /dev/null > /etc/dhcp/dhcpd.conf

Ahora si, finalmente, configuramos:

# nano /etc/dhcp/dhcpd.conf

Aquí agregaremos una configuración mínima

authoritative;
ddns-update-style interim;
ignore client-updates;

subnet <segmento-red> netmask <máscara-red> {
  option routers                  <ip-gateway, este caso eth1>;
  option subnet-mask              <máscara-red-de-subred>;
  option domain-name              "<nombre-dominio-dns>";
  option domain-name-servers   <ip-dns>;
  option time-offset   -18000; 

  range dynamic-bootp 192.168.0.100 192.168.0.200;
  default-lease-time 600;
  max-lease-time 7200;
}

Un ejemplo según nuestra configuración sería:

authoritative;
ddns-update-style interim;
ignore client-updates;

subnet 192.168.0.0 netmask 255.255.255.0 {
  option routers                   192.168.0.1;
  option subnet-mask               255.255.255.0;
  option domain-name               "mired.cl";
  option domain-name-servers 192.168.0.1;
  option time-offset         -18000; 

  range dynamic-bootp 192.168.0.100 192.168.0.200;
  default-lease-time 600;
  max-lease-time 7200;
}

Como comentamos anteriormente, también podemos asignar ip estáticas, simplemente agregando lo otro segmento de configuración

host nombrecliente { 
hardware ethernet MAC; 
      fixed-address IP; 
} 

Inclusive podemos hacer que los equipos que no estén en la lista, no puedan obtener una dirección IP gracias a:

deny unknown-clients;

Un ejemplo completo podría ser:

authoritative;
ddns-update-style interim;
ignore client-updates;

subnet 192.168.0.0 netmask 255.255.255.0 {
  option routers                   192.168.0.1;
  option subnet-mask               255.255.255.0;
  option domain-name               "mired.cl";
  option domain-name-servers 192.168.0.1;
  option time-offset         -18000; 

  range dynamic-bootp 192.168.0.100 192.168.0.200;
  default-lease-time 600;
  max-lease-time 7200;
}

deny unknown-clients;

host cliente {
        hardware ethernet 08:00:27:5B:C6:44;
        fixed-address 192.168.0.199;
}

Luego simplemente:

service dhcpd restart
chkconfig dhcpd on

Con lo que reiniciamos el servicio y hacemos que este inicie con el sistema.

martes, 25 de septiembre de 2012

SSH - Generar llave de confianza en solo 3 pasos


Cuando nos conectamos mediante ssh nos pide la contraseña del usuario para realizar con éxito la conexión, esto si bien es cierto es un grado de seguridad, puede resultarnos útil que a nuestra máquina no le pida la contraseña, esto se logra creando una relación de confianza, lo que hace es que nuestra máquina sea reconocida por la máquina remota como equipo de confianza y sólo a la máquina la deje ingresar sin contraseña, las demás les pedirá dicha contra.

El tutorial lo dividiré en 3 partes, la primera parte contendrá sólo las sintaxis, la segunda parte tendrá un ejemplo de conexión y la tercera parte será un bash script que podemos ejecutar para automatizar esto.

Primera parte - Sintaxis

PASO 1: Con nuestro usuario (no con root) debemos generar la key:

$ ssh-keygen

Aquí nos saldrá una serie de preguntas, simplemente apretamos enter y dejamos todo en blanco.

PASO 2: Copiar nuestra key pública al host remoto

$ ssh-copy-id -i ~/.ssh/<> <usuario>@<host remoto>

Luego de esto nos pedirá ingresar la contraseña del usuario remoto, la ingresamos y nos deberá aparecer un mensaje diciendo: “now try logging into the machine, with "ssh '<usuario>@<host>'" lo que significa que ya podemos loguearnos sin necesidad de la contraseña

PASO 3: Conectarse a la máquina remota por SSH

$ ssh <usuario>@<host>



Segunda parte - Ejemplo

Ejemplo 1

PASO 1: Con nuestro usuario (no con root) debemos generar la key:

$ ssh-keygen

PASO 2: Copiar nuestra key pública al host remoto

ssh-copy-id -i ~/.ssh/id_dsa.pub root@192.168.1.105

PASO 3: Conectarse a la máquina remota por SSH

ssh root@192.168.1.105


Ejemplo 2

PASO 1: Con nuestro usuario (no con root) debemos generar la key:

$ ssh-keygen -t id_dsa.pub -b 1024

PASO 2: Copiar nuestra key pública al host remoto

ssh-copy-id -i ~/.ssh/id_dsa.pub root@192.168.1.105

PASO 3: Conectarse a la máquina remota por SSH

ssh root@192.168.1.105


Como podemos darnos cuenta, en tan solo 3 pasos podemos generar una llave de confianza, tenemos que tener en cuenta que tipo de key hemos creado, ya que podemos crear una key dsa o una rsa, también podemos agregar opción como el -t para elegir el tipo (rsa o dsa) -b para ver la cantidad de bits, etc. Todo esto lo podemos ver en el manual haciendo

$ man ssh
$ man ssh-keygen
$ man ssh-copy-id



Tercera parte - Bash Script

Como amante de la línea de comandos y de Bash, debemos generar un Bash Script para generar una llave de confianza automatizada, aquí dejo el script.

#!/bin/bash
#
# author:       Nicolás Ormeño
# email:        ni.ormeno at gmail dot cl
# license:      GPL V3
# date:         2012-09-25
# description:  Script para generar llaves de confianzas SSH BASICAS!
#
read -p "Crear llave? (s/n) " key

if [ $key == s ]; then
       read -p "rsa o dsa? " type
       ssh-keygen -t $type
fi
read -p "ip del host: " host

ssh-copy-id -i ~/.ssh/id_dsa.pub root@$host

viernes, 21 de septiembre de 2012

Comando GCP, un CP mejorado

En Linux, como todos sabrán, para copiar ficheros por consola tenemos el comando cp, si bien es cierto funciona a la perfección, no nos detallada el progreso del fichero, normalmente esto no es problema, pero que pasa si queremos copiar un fichero de varios megas o gigas? esto se vuelve más complejo, ya que no sabemos cuanto deberemos esperar, para solucionar esto tenemos GCP, para instalarlo simplemente
# aptitude install gcp
Luego simplemente en vez de copiar con cp, copiamos con gcp, adjunto un screenshot para que vean su función



Algunas personas prefieren reemplazar cp por gcp, en mi caso no es así, ya que son comandos diferencias y no me cuesta nada trabajar con cp o agregarle una letra g y trabajar con gcp, en el caso que quieran hacerlo, deben hacer es crear el alias correspondiente.
echo "alias cp='gcp'" >> $HOME/.bashrc

viernes, 14 de septiembre de 2012

Instalar CentOS desde una imagen netinstall


Este es una breve guía de como instalar CentOS desde una imagen netinstall que pesan 13mb aprox. Para realizar esto, simplemente necesitamos una imagen de CentOS y una conexión a internet.

El paso de descargar la imagen me lo saltaré, por lo que explicare todo lo demás. Bueno, ya montado del cd/dvd/usb en el equipo, veremos la siguiente imagen


Aquí podemos elegir entre una instalación gráfica o una instalación por texto, podemos elegir la que más nos acomode, una vez elegida la instalación, tendremos que elegir el idioma.


Luego de esto elegimos la distribución del teclado




Ahora tenemos que elegir el método de instalación, en este caso elegiremos HTTP


Ahora debemos elegir la interfaz de red que ocuparemos para la conexión


Ahora aparecerá la configuración para IPv4 e IPv6, simplemente dejemoslo por default



Aquí nos aparecerán 2 campos por rellenar


Donde nombre de sitio debemos escribir: 
  • mirror.centos.org
En directorio CentOS tenemos varias opciones por ejemplo podemos:
  • /centos/5/os/i386
  • /centos/5.8/os/i386
  • /centos/5/os/x86_64
  • /centos/5.8/os/x86_64
  • /centos/6/os/i386
  • /centos/6.2/os/i386
  • /centos/6/os/x86_64
  • /centos/6.2/os/x86_64
Aquí empezará a cargar todo, y una vez descargado nos mostrará la instalación como normalmente lo conocemos:



martes, 4 de septiembre de 2012

Linux – Programando tareas con Cron/Crontab

En el sistema operativo Unix, cron es un administrador regular de procesos en segundo plano (demonio) que ejecuta procesos o guiones a intervalos regulares (por ejemplo, cada minuto, día, semana o mes). Los procesos que deben ejecutarse y la hora en la que deben hacerlo se especifican en el fichero crontab.

El demonio cron inicia de /etc/rc.d/ o /etc/init.d dependiendo de la distribucion. Cron se ejecuta en el background, revisa cada minuto la tabla de tareas crontab /etc/crontab o en /var/spool/cron en búsqueda de tareas que se deban cumplir. Como usuario podemos agregar comandos o scripts con tareas a cron para automatizar algunos procesos. Esto es útil por ejemplo para automatizar la actualización de un sistema o un buen sistema de respaldos.

Crontab es un simple fichero de texto que guarda una lista de comandos a ejecutar en un tiempo especificado por el usuario. Crontab verificará la fecha y hora en que se debe ejecutar el script o el comando, los permisos de ejecución y lo realizará en el background. Cada usuario puede tener su propio archivo crontab, de hecho el /etc/crontab se asume que es el archivo crontab del usuario root, cuando los usuarios normales (e incluso root) desean generar su propio archivo de crontab, entonces utilizaremos el comando crontab.

Para poder entrar al fichero crontab y editar/agregar tareas debemos ejecutar:
crontab -e
Una vez hecho esto, se nos abrirá un fichero que podemos editar, la sintaxis a utilizar es la siguiente:
m h ddm M dds usr com
En donde:
  • m: Minuto en el que se debe ejecutar, su valor va de 0 a 59
  • h: Hora en el que se debe ejecutar, su valor va de 0 a 23
  • ddm: Día del mes en el que se debe ejecutar, su valor va de 1 a 31
  • M: Mes en el que se debe ejecutar, su valor va de 1 a 12
  • dds: Día de la semana en el que se debe ejecutar, su valor va de 0 a 7, 0 es Domingo
  • usr: Usuario que ejecutará el comando. Este campo, puede no incluirse
  • com: Comando que se ejecutará
Aquí dejo una imagen encontrada en Internet que la encontré super buena ya que donde es gráfica hace más fácil entender.



Algunos ejemplos para clarificar, si se fijan, no incluimos el campo usuario.

01 * * * * <fichero.sh>
Ejecuta fichero.sh todos los días al minuto 1 de cada hora. 
20 * * 1 6 <fichero.sh>
Ejecuta fichero.sh al minuto 20 de cada hora de los sábados de enero 
10 1 * 12 1 <fichero.sh>
Ejecuta fichero.sh a las 1:10hrs todos los lunes de diciembre 
45 19 1 * * <fichero.sh>
Ejecuta fichero.sh a las 19:45hrs del primero de cada mes 
00 5 * * 0 <fichero.sh>
Ejecuta fichero.sh a las 5 a.m. todos los domingos 
59 11 * 1-3 1,2,3,4,5 <fichero.sh>
Ejecuta fichero.sh a las 11:59hrs de lunes a viernes, de enero a marzo 
10,30,50 * * * 1,3,5 <fichero.sh>
Ejecuta fichero.sh En el minuto 10, 30 y 50 de todas las horas de los días lunes, miércoles y viernes 
* 12 1-10/2 2,8 * <fichero.sh>
Ejecuta fichero.sh todos los minutos de las 12 del día, en los días 1,3,5,7 y 9 de febrero y agosto. (El incremento en el tercer campo es de 2 y comienza a partir del 1) 
0 */5 1-10,15,20-23 * 3 <fichero.sh>
Ejecuta fichero.sh cada 5 horas de los días 1 al 10, el día 15 y del día 20 al 23 de cada mes y que el día sea miércoles 
45 * 10-25 * 6-7 <fichero.sh>
Ejecuta fichero.sh al minuto 45 de todas las horas de los días 10 al 25 de todos los meses y que el día sea sábado o domingo


Basado en información de: http://www.linuxtotal.com.mx/
http://usemoslinux.blogspot.com/


domingo, 2 de septiembre de 2012

Linux - Permisos

En todo sistema es necesario manejar los permisos de los ficheros y directorios, obviamente Linux no es la excepción. Los permisos que maneja Linux son los clásicos de Unix (Leer-Escribir-Ejecutar). Para saber los permisos de un directorio/fichero simplemente ejecutamos el comando “ls -l” y nos mostraría algo parecido a esto:
-rwxr-xr-x 1 user1 grupo1 128931 ago 28 2012 gpl.txt
Los primeros 10 caracteres (de izquierda a derecha) son los caracteres de permisos, lo que podemos visualizar en ellas son 5 letras y un signo
  • - : Significa que no posee la propiedad.
  • l : Significa que es un enlace simbólico
  • d : Se refiere a que es un directorio y no un fichero.
  • r : Posee la propiedad Read.
  • w : Posee la propiedad Write.
  • x : Posee la propiedad eXecute
Estos 10 caracteres los podemos dividir en 4 segmentos,
  • Carácter 1: esta entrada nos indica si es un fichero o un directorio. En caso de ser un fichero, aparece el carácter “-”, en de que este sea un enlace simbólico aparece una “l”, mientras que si es directorio aparece una “d”. 
  • Caracteres 2, 3, 4: nos indican, respectivamente, los permisos de lectura, escritura y ejecución para el propietario del fichero. En caso de no tener el permiso correspondiente activado, encontramos el carácter “-” y no “r”, “w” o “x”, según si lo podemos leer (Read), escribir (Write) o ejecutar (eXecute). En el tercer carácter, además, podemos encontrarnos una “s”, que nos indica si el archivo es de tipo SetUserId, que quiere decir que al ejecutarlo obtendrá los permisos del propietario del fichero. Si sólo tiene el permiso “x”, cuando el programa se ejecuta lo hace con los permisos de quien lo haya lanzado.
  • Caracteres 5, 6, 7: estos caracteres tienen exactamente el mismo significado que anteriormente, pero hacen referencia a los permisos concedidos a los usuarios del grupo al que pertenece el fichero.
  • Caracteres 8, 9, 10: igual que en el caso anterior, pero para los otros usuarios del sistema.

Después de estos 10 caracteres encontramos una cifra que nos indica el número de enlaces fuertes que tiene el fichero. Para los directorios, este número indica cuántos directorios hay dentro de él además de los enlaces fuertes que tiene (cuando no hay ninguno, el número es 2, debido a la gestión interna del operativo).

A continuación vemos el propietario y el grupo del archivo, seguido del tamaño (en bytes) que ocupa y la fecha de la ultima modificación. Les dejo una imagen que encontré en Internet que me parece que está bastante bien explicado.


Si por alguna razón, necesitamos cambiar los permisos de algún directorio/fichero, tenemos que utilizar el comando “chmod” el cual nos permite esto, este comando nos permite trabajar de 2 formas, una es con números y la otra con letras.

Para trabajar con números debemos utilizarlo de la siguiente forma: “chmod XXX nombreFichero”, donde las “X” deben ser tres números entre 0 y 7. El primer número indica los permisos que queremos establecer para el usuario, el segundo, para el grupo y el tercero, para el resto.


Ejemplos de utilización:

# chmod 644 <directorio/fichero> Damos permiso “rw” al usuario y “r” al grupo y otros.
# chmod 777 <directorio/fichero> Damos permisos “rwx” al usuario, grupo y otros.
# chmod 664 <directorio/fichero> Damos permisos “rw” al usuario y grupo y permisos “r” a otros.
# chmod 700 <directorio/fichero> Damos permisos “rwx” al usuario y ningún permiso al grupo y otros.

Como mencione anteriormente, la otra forma de trabajar es trabajar (por llamarlo de alguna forma) con letras. . La manera de hacerlo es indicando, primero, si nos referimos a los permisos del usuario, grupo o al resto con las letras “u”, “g” u “o” respectivamente. Seguidamente, debemos añadir un “+” o “-” según si queremos añadir o eliminar el atributo, que indicaremos con “r”, “w”, “x” o “s” (este último para el SetUserId). Además, podemos hacer todas las combinaciones posibles, refiriéndonos a más de un permiso y/o usuarios.

Ejemplos de utilización:

# chmod ug+wrx <directorio/fichero> Damos permisos “wrx” al usuario y al grupo.
# chmod go -x <directorio/fichero> Quitamos permisos de ejecución al grupo y otros.
# chmod go+rw <directorio/fichero> Damos permisos “rw” al grupo y otros.


Dato: El mecanismo de SetUserId es muy útil cuando un programa necesita tener los permisos de su propietario para acceder a ciertos archivos o hacer algún tipo de operación en el sistema. De todos modos, debemos vigilar mucho con este tipo de ficheros porque pueden suponer fallos de seguridad en el sistema si son mal utilizados.





Basado en: Sistema Operativo GNU/Linux Básico - UOC


lunes, 6 de agosto de 2012

Debian - Forma fácil de instalar flash player

Quizás uno de los temas que más puede causar problemas a los usuarios de Linux, es el tema del flash player, por suerte en existe una forma bastante sencilla para solucionar esto, y esto se logra gracias a flashplugin, el cual nos configurará todo.

Lo primero que debemos hacer es cambiar nuestros repositorios, para eso editamos el fichero:
# nano /etc/apt/sources.list
Una vez hecho esto veremos algo parecido a esto:

deb http://ftp.cl.debian.org/debian/ wheezy main
deb-src http://ftp.cl.debian.org/debian/ wheezy main
deb http://security.debian.org/ wheezy/updates main
deb-src http://security.debian.org/ wheezy/updates main
Pero haremos una pequeña modificación, dejandolo de la siguiente forma:
deb http://ftp.cl.debian.org/debian/ wheezy main contrib non-free
deb-src http://ftp.cl.debian.org/debian/ wheezy main contrib non-free
deb http://security.debian.org/ wheezy/updates main
deb-src http://security.debian.org/ wheezy/updates main
Una vez hecho esto, guardamos, salimos y actualizamos
# aptitude update
Luego de haber actualizado procedemos a instalar flashplugin
# aptitude install flashplugin-nonfree flashplugin-nonfree-extrasound
Nota: Si por ejemplo tenemos abierto el browser, debemos reiniciarlo para que tome los cambios, en mi caso funciona perfecto con Iceweasel, pero obviamente funciona con los demás browser.

Linux – Script instalación reproductores


Acabo de crear un Script para facilitar la instalación de reproductores musicales y de video, no es un Script complicado, simplemente lo que estoy intentando hacer es tener una gran cantidad de Script para una post-instalación de algún sistema operativo, en este caso Debian Testing (Wheezy). Este Script está hecho en Bash, es más que nada un menú que realiza acciones según la opción elegida.

Para abrir el script en primer lugar necesitamos darle permisos de ejecución al fichero, para eso hacemos lo siguiente:

$ chmod +x <nombre-fichero>

Luego necesitaremos tener permisos de súper usuario, de lo contrario arrojará una excepción y se cerrará. Al abrir el Script, nos saldrá un menú con las siguientes opciones:

1. vlc / nvlc
2. exaile
3. clementine
4. rhythmbox
5. banshee
6. amarok
7. xmms2
8. mpg123
9. moc
10. mp3blaster
11. mplayer2
12. smplayer
13. gnash

Simplemente tipeamos el número del reproductor a instalar, una vez hecho esto empezará la instalación, confirman las dependencias y listo, todo instalado.

El código no lo escribiré en la entrada, pero lo subí a 4shared para que lo puedan descargar, además va con un pdf que es la entrada a este blog. Link de descarga

miércoles, 27 de junio de 2012

Debian / CentOS / RHEL - Instalación y configuración del FTP VSFTP

Quizás el protocolo FTP sea uno de los más utilizados, a pesar de que no sea el más seguro. En primer lugar, debemos saber que es FTP.

“FTP (File Transfer Protocol) o Protocolo de Transferencia de Archivos (o archivos informáticos) es uno de los protocolos estándar más utilizados en Internet siendo el más idóneo para la transferencia de grandes bloques de datos a través de redes que soporten TCP/IP. El servicio utiliza los puertos 20, y 21, exclusivamente sobre TCP. El puerto 20 es utilizado para el flujo de datos entre cliente, y servidor. El puerto 21 es utilizando para el envío de órdenes del cliente hacia el servidor.”

Fuente: http://www.alcancelibre.org

Ahora que tenemos un poco más claro, que es FTP, debemos saber de lo que estamos hablando, es decir, saber que es VSFTP

“Vsftpd (Very Secure FTP Daemon) es un equipamiento lógico utilizado para implementar servidores de archivos a través del protocolo FTP. Se distingue principalmente porque sus valores predeterminados son muy seguros, y por su sencillez en la configuración, comparado con otras alternativas como ProFTPD, y Wu-ftpd. Actualmente se presume que vsftpd podría ser quizá el servidor FTP más seguro del mundo.”

Fuente http://www.alcancelibre.org/


Estando más claro conceptualmente, debemos pasar a la parte práctica, y obviamente lo primero que debemos hacer es instalar VSFTP, para lo cual: Debian:
$ sudo aptitude install vsftp
CentOS:
$ sudo yum install vsftp
Con VSFTP instalado, y como medio de seguridad, respaldaremos la configuración por defecto, para tener un respaldo en caso de que cometamos algún error. Debian:
$ sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak 
CentOS:
$ sudo cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
El fichero de configuración trae varias líneas ya configuradas, para trabajar de una manera más limpia, lo que haremos será vaciar el fichero. Debian:
$ sudo cat /dev/null > /etc/vsftpd.conf
CentOS:
$ sudo cat /dev/null > /etc/vsftpd/vsftpd.conf
Teniendo listo el fichero, comenzaremos a trabajar en él, aquí podemos utilizar nuestro editor de texto preferido (nano, vi, vim, etc), en mi caso, utilizaré nano. Debian:
$ sudo nano /etc/vsftpd.conf
CentOS:
$ sudo nano /etc/vsftpd/vsftpd.conf
Aquí debemos realizar la configuración, la cual es la siguiente: Debian:
anonymous_enable=YES #Permite usuarios anónimos (YES/NO)
write_enable=YES
use_localtime=YES #Hora local en vez de GTM (YES/NO)
dirmessage_enable=YES #Mensaje de directorio (YES/NO)
xferlog_enable=YES #Generación de log en /var/log/xferlog (YES/NO)
ftpd_banner=Bienvenido
pam_service_name=vsftpd #Nombre del servicio PAM
local_enable=YES #Conexión de usuarios del sistema (YES/NO)
chroot_local_user=YES
chroot_list_enable=YES #Los usuarios no pueden ver otros directorios (Enjaular)
chroot_list_file=/etc/vsftpd.chroot_list #Indica ubicación del fichero vsftpd.chroot_list
#Permitir modo pasivo
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=30300
pasv_address=XX.XX.XX.XX #ip que resuelve
Centos:
listen=YES #Trabajar en modo independiente (YES/NO)
anonymous_enable=YES #Permite usuarios anónimos (YES/NO)
write_enable=YES
use_localtime=YES #Hora local en vez de GTM (YES/NO)
dirmessage_enable=YES #Mensaje de directorio (YES/NO)
xferlog_enable=YES #Generación de log en /var/log/xferlog (YES/NO)
ftpd_banner=Bienvenido
pam_service_name=vsftpd #Nombre del servicio PAM
local_enable=YES #Conexión de usuarios del sistema (YES/NO)
chroot_local_user=YES
chroot_list_enable=YES #Los usuarios no pueden ver otros directorios (Enjaular)
chroot_list_file=/etc/vsftpd/chroot_list #Indica ubicación del fichero chroot_list
#Permitir modo pasivo
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=30300
pasv_address=XX.XX.XX.XX #ip que resuelve
Si tenemos iptables activados, debemos permitir el puerto 20 y 21, u otro puerto si es que queremos
# iptables -I INPUT 5 -p tcp -m tcp --dport 20 -j ACCEPT
# iptables -I INPUT 5 -p tcp -m tcp --dport 21 -j ACCEPT
# iptables -I INPUT 5 -p tcp -m tcp --dport 30000:30300 -j ACCEPT
# service iptables save
# service iptables restart
En el caso de CentOS / RHEL tenemos SELinux, y si no lo hemos desactivado, debemos permitir todo lo necesario para trabajar con FTP, esto lo trabajamos como boolan, es decir: 0 = no permitir 1 = si permitir Lo básico que debemos agregar es lo siguiente:
$ sudo setsebool -P ftp_home_dir 1
Aquí hay una lista de lo que podemos o no permitir


Booleans
Description
ftp_home_dir
Allows FTP to read and write files in the users’ home directories.
allow_ftpd_full_access
Allows FTP servers to log in to local users and read/write all files on the system, governed by DAC.
allow_ftpd_use_nfs
Allows FTP servers to use NFS for public file transfer services.
allow_ftpd_anon_write
Allows FTP servers to upload files used for public file transfer services. Directories must be labeled public_content_rw_t.
ftpd_connect_db
Allows FTP servers to connect to the MySQL database.
allow_ftpd_use_cifs
Allows FTP servers to use CIFS for public file transfer services.
httpd_enable_ftp_server
Allows httpd to act as an FTP server by listening on the FTP port.



Respecto a los usuarios para lograr la conexión, en este ejemplo estamos utilizando los usuarios del sistema, y estos deben ser añadidos en: Debian
/etc/vsftpd.chroot_list
CentOS / RHEL
/etc/vsftpd/chroot_list
Y dentro de este, escribimos el usuario línea a línea, por ejemplo
usuario1
usuario2
usuario3
Además, estos usuarios deben pertenecer al grupo ftp del sistema, para lograr eso debemos:
# gpasswd -a  ftp
Una buena recomendación es que se programe para que el servicio vsftpd inicie con el sistema.
# chkconfig vsftpd on
Finalmente, hacemos una conexión FTP, puede ser a través del comando ftp, o de un cliente como filezilla u otro.

miércoles, 20 de junio de 2012

Debian - Instalación de Mate Desktop Environment

MATE es un ambiente de escritorio derivado del código base, actualmente descontinuado, de GNOME 2. El nombre proviene de la yerba mate, una especie de acebo, una planta nativa de sudamérica subtropical que se utiliza para preparar una bebida muy popular y energizante llamada mate. El nuevo nombre fue necesario para evitar conflictos con componentes de GNOME 3.

Según la información oficial de su web (http://mate-desktop.org/) la instalación de MATE en Debian Testing es de la siguiente forma:

Agregar los repos:
deb http://packages.mate-desktop.org/repo/debian wheezy main
Luego ejecutar en consola:
sudo apt-get update
sudo apt-get install mate-archive-keyring
sudo apt-get update
sudo apt-get install mate-core
sudo apt-get install mate-desktop-environment
Pero con esto se encontrarán con un problema y no podrán instalar MATE, estuve un par de días sin resolverlo (además tenía poco tiempo para ver el tema), pero gracias a la gran comunidad de esDebian (http://www.esdebian.org/), un usuario dio con la solución.

En primer lugar no debemos usar los repos que ellos mencionan, si no que deben usar:
deb http://repo.mate-desktop.org/debian wheezy main
En segundo lugar hacemos lo que nos indican, lo que mostraré a continuación es practicamente lo mismo, la diferencia es que yo ocupo aptitude y no apt-get.
# aptitude update
# aptitude install mate-archive-keyring
# aptitude update
# aptitude install mate-core mate-desktop-environment mate-themes
Ya con esto tienen instalado MATE y podrán ocupar sin problema alguno. Les dejo screenshot, para que vean que es muy similar a Gnome2.


sábado, 16 de junio de 2012

CentOS - Instalación y configuración básica de un servicio DHCP

Este es un ejemplo sencillo de como poder montar un servidor DHCP en CentOS. Para realizar esto, puede ocupar máquinas virtuales, así fue como lo hice yo, en una hice una instalación mínima de CentOS 6 y en otra máquina hice una instalación por defecto de Linux Mint Debian Edition (LMDE). CentOS actuará obviamente como servidor y LMDE actuará como cliente de dicho servicio. Como instalar los sistemas operativos me lo saltaré, ya que para el ejemplo, simplemente pueden darle a instalar por defecto y no entrar a particionar, ese no es el fin del tutorial.

La configuración de las máquinas virtuales es practicamente la que viene por defecto, a excepción las redes.

En el servidor (CentOS) debemos colocar 2 adaptadores, el primero como brigde o puente, y el adaptador dos, como red interna.

En el caso del cliente (LMDE) debemos configurar solo 1 adaptador, el cual debe ser red interna.

Esto se configura así, por que el servidor al tener su adaptador 1 como puente, recibe la conexión de la WAN, y con el adaptador 2, al estar en red interna, podemos controlar las demás máquinas virtuales para asignarles IP a través del servicio DHCP.

Una vez instalado CentOS, lo primero que debemos hacer es configurar nuestras interfaces de red. Si es que no aparecen es que deben estar down, por lo que generamos un up
# ifconfig ethX up
Donde X es el número de la interfaz, normalmente es eth0 y eth1. Luego de esto, configuramos dichas interfaces, dejaremos eth0 como dhcp y eth1 como static.

Para configurar eth0 debemos modificar con nuestro editor de texto favorito el fichero cfg-eth0
# nano /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
HWADDR=08:00:27:97:B0:FE
ONBOOT=yes
BOOTPROTO=dhcp
TYPE=Ethernet
IPV6INIT=no
USERCTL=no
Nombre del dispositivo, lo dejamos tal cual.
Mac del dispositivo, lo dejamos tal cual.
le damos yes, es para que se levante con el sistema.
Le indicamos dhcp, para que tome el protocolo indicado.
Tipo de conexión.
Para ver que no inicia con ipv6
al indicar no, los usuarios no pueden controlar el dispositivo.

Para configurar eth1 debemos modificar con nuestro editor de texto favorito el fichero cfg-eth1
# nano /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1 
HWADDR=08:00:27:66:68:5e
ONBOOT=yes
IPADDR=192.168.1.105
BOOTPROTO=none
NETMASK=255.255.255.0
TYPE=Ethernet
IPV6INIT=no
USERCTL=no
GATEWAY=192.168.1.1
DNS1=8.8.8.8
DNS2=8.8.4.4
                Nombre del dispositivo, lo dejamos tal cual.
Mac del dispositivo, lo dejamos tal cual.
                Le damos yes, es para que se levante con el sistema.
                Indicamos la ip que queremos que tenga la interfaz.
                Antes lo dejamos en dhcp, ahora lo dejamos en none.
La máscara de red que queremos que tenga la interfaz.
Tipo de la conexión.
Para ver que no inicia con ipv6
Al indicar no, los usuarios no pueden controlar el dispositivo.
Indicar ip del gateway.
Estos son los DNS, aquí estoy indicando los de Google, pero tengo entendido que no

Ya configurado todo esto, reiniciamos el servicio.
# /etc/init.d/dhcpd restart
Ahora deben instalar el servicio dhcp. Si no saben como se llama, hacen un search.
# yum search dhcp
En mi caso, al hacer eso, me aparece lo siguiente:
dhcp-common.i686 : Common files used by ISC dhcp client and server
dhcp-devel.i686 : Development headers and libraries for interfacing to the DHCP server
sblim-cmpi-dhcp.i686 : SBLIM WBEM-SMT DHCP
sblim-cmpi-dhcp-devel.i686 : SBLIM WBEM-SMT DHCP - Header Development Files
sblim-cmpi-dhcp-test.i686 : SBLIM WBEM-SMT DHCP - Testcase Files
dhclient.i686 : Provides the dhclient ISC DHCP client daemon and dhclient-script
dhcp.i686 : Dynamic host configuration protocol software
dnsmasq.i686 : A lightweight DHCP/caching DNS server
Ya sabiendo el nombre, simplemente lo instalamos
# yum -y install dhcp
Al terminar de instalar DHCP, lo que primero debemos hacer es indicar que interfaz utilizará el servicio, para esto modificamos:
# nano /etc/sysconfig/dhcpd
y escribimos
DHCPDARGS=eth1
Así indicamos que eth1 será el encargado de entregar dhcp.

Ahora haremos un respaldo de nuestra configuración por defecto.
# cp /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.original
Así en caso que tengamos cualquier inconveniente, podemos volver a su estado. Ya con esto listo, lo mejor es copiar la configuración de ejemplo que nos brindan.
# cp cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample
Nos preguntará si sobre-escribimos, a lo que respondemos que si. Deben tener en cuenta que en la parte de /dhcp-4.1.1/ puede cambiar, ya que los números corresponden a la versión instalada.

Una vez hecho todo esto, entramos a configurar DHCP, abrimos el fichero /etc/dhcp/dhcpd.conf con su editor favorito, en mi caso trabajaré con nano.
# nano /etc/dhcp/dhcpd.conf
Verán muchas configuraciones, pero como esté es un ejemplo sencillo, solo deben fijarse en dejar lo siguiente:
# dhcpd.conf
default-lease-time 600;
max-lease-time 7200;
ddns-update-style none;
authoritative;
log-facility local7;
subnet 192.168.1.0 netmask 255.255.255.0 {
        range 192.168.1.200 192.168.1.250;
        option routers 192.168.1.105;
        option domain-name-servers 8.8.8.8,8.8.4.4;
        option domain-name "ServerDeConexion";
        option broadcast-address 192.168.1.255;
        option subnet-mask 255.255.255.0;
}
host vmlmde{
hardware ethernet 08:00:27:e5:7e:e6;
              fixed-address 192.168.1.245;
}
  • Subnet es el segmento de red como nuestra interfaz es 192.168.1.105, el segmento es 192.168.1.0, y obviamente la máscara antes indicada
  • range: es el rango de ip que entregada, en este caso indicamos que de la 200 a la 250.
  • option routers: IP del router, en este caso, indicamos la del mismo servidor.
  • option domain-name-server: Servidores DNS, ocupe los de Google, para separar ocupar coma (,).
  • option domain-name: “nombre del servidor”
  • option broadcast-address: Dirección IP del broadcast.
  • Option subnet-mask: Dirección de la máscara de red.
Ya con esto deberiamos estar entregando dinámicamente IP's, aunque es muy buena opción que además de asignar una IP dinámica. Indiquemos que un equipo tenga una IP estática dentro del rango que indicamos, por ejemplo, si tenemos otra especie de servidor, vamos a querer que su ip no sea dinámica, es aquí donde actúa el siguiente bloque:
  • host: indicamos nombre de host, en este caso vmlmde
  • hardware ethernet: es la dirección mac que tiene el cliente.
  • Fixed-address: Es la ip que le asignaremos al cliente.
Ya con esto podemos estar corriendo un servidor DHCP básico. Les dejo un screenshot del Cliente para que vean que su IP concuerda con lo descrito anteriormente.