---
DHCP
DHCP (acrnimo de Dynamic Host Configuration Protocol, que se traduce Protocolo
de configuracin dinmica de servidores) es un protocolo que permite a dispositivos
individuales en una red obtener su propia informacin de configuracin de red
(direccin IP; mscara de sub-red, puerta de enlace, etc.) a partir de un servidor
DHCP. Su propsito principal es hacer ms fciles de administrar las redes grandes.
DHCP existe desde 1993 como protocolo estndar y se describe a detalle en el RFC
2131.
Sin la ayuda de un servidor DHCP, tendran que configurarse de forma manual cada
direccin IP de cada anfitrin que pertenezca a una Red de rea Local. Si un
anfitrin se traslada hacia otra ubicacin donde existe otra Red de rea Local, se
tendr que configurar otra direccin IP diferente para poder unirse a esta nueva Red
de rea Local. Un servidor DHCP entonces supervisa y distribuye, las direcciones
IP de una Red de rea Local asignando una direccin IP a cada anfitrin que se
una a la Red de rea Local. Cuando, por mencionar un ejemplo, una computadora
porttil se configura para utilizar DHCP, a sta le ser asignada una direccin IP y
las variables de red, necesarios para unirse a cada Red de rea Local donde se
localice.
Existen tres mtodos de asignacin en el protocolo DHCP:
Asignacin manual: La asignacin utiliza una tabla con direcciones MAC
(acrnimo de Media Access Control Address, que se traduce como direccin
de Control de Acceso al Medio). Slo los anfitriones con una direccin MAC
definida en dicha tabla recibirn el IP asignada en la misma tabla. Esto se
hace a travs de la opcin hardware ethernet combinado con deny unknown-
clients.
Asignacin automtica: Una direccin de IP disponible dentro de un rango
determinado se asigna permanentemente al anfitrin que la requiera.
Asignacin dinmica: Se determina arbitrariamente un rango de direcciones
IP y cada anfitrin conectado a la red est configurada para solicitar su
direccin IP al servidor cuando se inicia el dispositivo de red, utilizando un
intervalo de tiempo controlable (opciones default-lease-time y max-lease-
time), de modo que la asignacin de direcciones IP es de manera temporal y
stas se reutilizan de forma dinmica.
Elementos del DHCP
Servidor DHCP: sern las mquinas que ejecutarn el servicio DHCP.
Cliente DHCP: Las mquinas que requerirn del servicio ofertado por los servidores.
Agente de retransmisin: En caso de que el servidor se encuentre en la misma red
le responde directamente sino el agente de retransmisin re enviara el mensaje al
servidor, por ejemplo, a travs de un router.
Funcionamiento del protocolo DHCP
Primero, se necesita un servidor DHCP que distribuya las direcciones IP. Este
equipo ser la base para todas las solicitudes DHCP por lo cual debe tener una
direccin IP fija. Por lo tanto, en una red puede tener slo un equipo con una
direccin IP fija: el servidor DHCP.
El sistema bsico de comunicacin es BOOTP (con la trama UDP). Cuando un
equipo se inicia no tiene informacin sobre su configuracin de red y no hay nada
especial que el usuario deba hacer para obtener una direccin IP. Para esto, la
tcnica que se usa es la transmisin: para encontrar y comunicarse con un servidor
DHCP, el equipo simplemente enviar un paquete especial de transmisin
(transmisin en 255.255.255.255 con informacin adicional como el tipo de solicitud,
los puertos de conexin, etc.) a travs de la red local. Cuando el DHCP recibe el
paquete de transmisin, contestar con otro paquete de transmisin (no olvide que
el cliente no tiene una direccin IP y, por lo tanto, no es posible conectar
directamente con l) que contiene toda la informacin solicitada por el cliente.
Se podra suponer que un nico paquete es suficiente para que el protocolo
funcione. En realidad, hay varios tipos de paquetes DHCP que pueden emitirse tanto
desde el cliente hacia el servidor o servidores, como desde los servidores hacia un
cliente:
TELNET
Terminal Network
Controladores de terminal :: Reconocimiento de teclados.
FTP
FTP (File Transfer Protocol) o Protocolo de Transferencia de Archivos (o archivos
informticos). 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 utilizado para el envo de rdenes del cliente hacia el servidor.
Existen dos mtodos, el modo activo y el modo pasivo.
Modo activo.
Modo pasivo.
TFTP
----
---
SSH
SSH (Secure Shell) es un conjunto de estndares y protocolo de red que permite
establecer una comunicacin a travs de un canal seguro entre un cliente local y un
servidor remoto. Utiliza una llave pblica para autenticar el servidor remoto y de
manera opcional permitir al servidor remoto autenticar al usuario. SSH provee
confidencialidad e integridad en la transferencia de los datos utilizando criptografa
y MAC (Message Authentication Codes o Cdigos de Autenticacin de Mensaje).
De modo predeterminado, escucha peticiones a travs del puerto 22 por TCP.
Encriptacin de 128 bits.
X11 permite ejecutar aplicaciones grficas.
---
MySQL
MySQL es un DBMS (DataBase Management System) o sistema de gestin de
base de datos SQL (Structured Query Language o Lenguaje Estructurado de
Consulta) multiusuario y multihilo con licencia GNU/GPL.
----
HTTP
HTTP (Hypertext Transfer Protocol o Protocolo de Trasferencia de Hipertexto) es el
mtodo utilizado para transferir o transportar informacin a travs de Internet y
(WWW, World Wide Web). Su propsito original fue el proveer una forma de publicar
y recuperar documentos en formato HTML.
---
Smbolos en freebsd
En Consola
% Indica o identifica a un usuario normal (Privilegios bajos)
# Indica o identifica a un sper usuario (Privilegios Root)
Gestin de usuarios
Nota 1: Para que un usuario pueda convertirse en root debe pertenecer al grupo
wheel de freeBSD
Nota 2: Las carpetas de usuarios existen en /home/usuario o /usr/home/usuario
pw showgroup wheel : Muestra usuarios en un grupo especifico
pw user mod usuario_n G wheel : aade a un usuario a un grupo especifico
pw groupmod wheel d usuario : Remueve a un usuario de un grupo
---
Aadir un grupo
pw groupadd nombre_grupo
pw groupmod -m usuario :: Aade a un usuario a un grupo sin reemplazars
service nombre_servicio status
---
Mostrar todos los grupos / o el nombre del usuario
pw group show -a
Mostrar todos los usuarios / o el nombre del grupo
pw user show a.
---
adduser : Despliega el gestor para crear un usuario al sistema
passwd: Camba el password
whoami : Despliega el tipo de usuario Pendiente investigar
pw - Modificar cualquier aspecto de las cuentas de usuarios El comando pw es una
utilidad de lnea de comandos para crear, eliminar, modificar, y mostrar usuarios y
grupos. Hace de interfaz a los archivos del sistema de usuarios y grupos. pw tiene
un conjunto de opciones de lnea de comandos bastante potente que lo hacen
adecuado para su uso en scripts de Shell.
Crear un usuario
Si deseamos crear un usuario por medio del comando pw la sintaxis sera:
pw useradd n nombre_usuario c comentario d directorio_home g grupo s
shell -m
-n indica el nombre/login del usuario
-c escribe un comentario en la entrada del archivo passwd. Por lo general
se utiliza para indicar el nombre completo del usuario
-d ruta a la carpeta home del usuario. Si no existe tendremos que utilizar
el parmetro -m.
-m fuerza la creacin de la carpeta home del usuario.
-g indica el grupo principal al que pertenecer el usuario. Si se omite se
crea un nuevo grupo con el nombre del usuario
-s ruta de acceso al intrprete de comandos que utilizar el usuario. Se
puede elegir entre: sh, csh, tcsh y nologin, siendo este ltimo el que indica
que el usuario no puede iniciar sesin en el sistema en una terminal, el resto
de los tipos de intrprete los encontramos en la ruta /bin.
---
Crear carpetas
---
Editar archivos de texto
ee: Editor de textos
---
Comandos de ayuda
Actualizar hora como su
# ntpdate -v -b in.pool.ntp.org
-a Muestra todos los archivos incluso los que comienzan por . punto
(ocultos)
-d Muestra slo los directorios
-t Ordena el listado por fechas
-F Indica tipo a continuacin del nombre: / directorio, * ejecutable, @
enlace simblico.
mkdir: Crea directorios.
-p Crear una ruta completa subdirectorio/subdirectorio/subdirectorio
Ruta
mv: Mueve un archivo de un directorio a otro
pwd: Muestra el directorio actual
rm: Borra un archivo
-r Elimina el directorio copias y todo su contenido (achivos y
subdirectorios).
rmdir: Borra un directorio
rmuser: Borra un usuario
---
reboot : Reinicia el sistema (Se debe estar como root)
bsdinstall : Reinicia el asistente de instalacin
whereis firefox: Para saber donde se encuentra un port determinado.
---
ps -- listar procesos y datos del momento en que se ejecuta el comando y de manera
esttica
top -- lista los procesos y datos que se estn ejecutan y se actualiza cada n
segundos para ver lo que ocurre en el sistema
kill + pid mata procesos
netstat :: Ver el estado de la red, incluyendo puertos abiertos, conexiones tcp/udp
y mucho ms.
sockstat :: Muestra los sockets abietos
lsof :: Lista de archivos abiertos como conexiones de red y archivos en discos.
Puerto y socket ::
Puerto: Nmero de 16 bits usado por un protocolo host-a-host para identificar a que
protocolo de ms alto nivel o programa de aplicacin (proceso) debe entregar los
mensajes de entrada. Controlados por la IANA, 1024 65535, no los maneja la
IANA.
Socket: Interfaz de comunicacin entre los servicios de red y el sistema operativo.
DHCP
Instalacin
/usr/ports/net/isc-dhcpd42-server
Configuracin
/usr/local/etc/
Archivo dhcpd.conf
dhcpd_enable="YES"
dhcpd_ifaces="rl0"
/var/db/dhclient.leases.tarjeta
Comandos de uso del servicio
service isc-dhcpd restart
----
Liberar ip en cliente DHCP freeBSD
service dhcpclient restart em0/Tarjeta
----
SERVIDOR WEB (APACHE)
/usr/ports/www/apache24
make install clean
Configuracin
rc.conf
apache24_enable=YES
apache24_flags=
Configurar PHP
/usr/ports/www/mod_php56
make install clean DISABLE_VULNERABILITIES=yes
/usr/ports/lang/php56-extensions
make install clean DISABLE_VULNERABILITIES=yes
En el archivo http.conf
Descomentar
LoadModule php5_module libexec/apache/libphp5.so
Aadir lo siguiente
#AddModule mod_php5.c
<IfModule mod_php5.c>
DirectoryIndex index.php index.html
</IfModule>
<IfModule mod_php5.c>
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phpsf
</IfModule>
Al terminar la configuracin, reiniciar el servidor Apache:
apachectl graceful
Archivos de configuracin php.conf find / -name php.conf
Archivos de configuracin php.ini-development find / -name php.ini-development
Instalacin de MySQL
/usr/ports/databases/mysql55-server
make install clean
rc.con
mysql_enable=YES
----
service mysql-server start
---
mysql -u root p
Instalacin PHPMyAdmin
Instalar el driver php5-mysql
/usr/ports/databases/php55-mysql
apachectl graceful
FTP
/etc/rc.con
ftpd_enable = YES
service ftpd start
/etc/ftpusers Lista negra, usuarios que no pueden acceder al servicio ftp estn
desconectados, si creamos un usuario que no queremos que comparta sus
archivos.
/etc/ftpchroot Elimina los directorios superiores del usuario creado, muestra solo la
carpeta raz y subcarpetas del usuario, colocando el grupo o usuario con un @.
Usuario annimo (seguridad), es el que accede sin problemas creado con nombre
ftp en el caso del ftp de freebsd.
Los usuarios registrados en el sistema pueden acceder a FTP por medio de un
cliente.
Para la gestin de mensaje existen los archivos
/etc/ftpwelcome : Mensaje de bienvenida al ftp
/etc/ftpmotd : Mensaje del ftp cuando se ha hecho loggin al ftp
Plugin fireftp.
ftp + IP accede a una ventana de login para iniciar sesin y usar los comandos put
y get para subir y descargar archivos.
SSH
sshd_enable = YES
service sshd start
/etc/ssh/sshd_config servidor /Denegar o permitir usuarios, root, etc. Revisar
documentacin
/etc/ssh/ssh_config clientes
En caso de problemas con la llave del ssh borrar el archivo de llaves del cliente en
el cliente ssh de freebsd /root/.ssh/known_hosts
who permite visualizar usuarios conectados
netstat -a
DNS
Directorios
/etc/ Ficheros de configuracin y scripts
del sistema.
/etc/rc.d Almacena los scripts que proveen los
servicios bsicos que pueden ser
controlados con las opciones start,
stop y restart para servicios.
/usr La mayora de utilidades y aplicaciones
de usuario.
/usr/ports La coleccin de ports de FreeBSD
(opcional).
/usr/local/etc/named Directorio donde reside la informacin
de zona BIND.
Archivos
/etc/rc.conf Informacin de configuracin del
sistema.
El archivo rc.conf contiene informacin
descriptiva sobre el nombre del host
local, datos de configuracin de las
potenciales interfaces de red y qu
servicios deben iniciarse con el
arranque inicial del sistema.
El propsito del archivo rc.conf es no
ejecutar comandos o realizar acciones
directas en el arranque del sistema.
/etc/resolv.conf Controla el como un sistema FreeBSD
tiene acceso al sistema de nombre de
dominios (DNS).
Paramtros:
nameserver La direccin IP de un
servidor de nombre al que el resolvedor
debe consultar. Los servidores son
consultados en el orden en que
aparecen (o se asignan) con un mximo
de tres
/usr/local/etc/namedb/named.conf Archivo de configuracin del Deamon.
Comandos
cd (change directory) Comando para moverse entre
directorios del sistema.
Ejemplos de uso:
cd ruta absoluta (/usr/ports/)
cd ruta relativa (ports/)
ee (easy editor) Comando que inicia el easy editor
(editor de texto) del sistema FreeBSD
sobre un archivo seleccionado.
Ejemplo de uso:
ee nombre-de-fichero
make install clean Combina los comandos
make
make install
make clean
make clean Borra el directorio que contiene todos
los ficheros temporales necesarios
durante la compilacin. Los cuales no
solo consume valioso espacio en disco
sino que puede dar problemas cuando
vaya a actualizar el port a una versin
ms reciente.
Si la mamada falla :v
make C /usr/ports/dns/bind99 rmconfig Limpia las configuraciones previas de la
instalacin. :v.. <3 no marcar todo dice maxi :3
Utilidades en Windows
nslookup
Desplegar una lnea con el nombre del DNS asignado y otra con su direccin IP
ipconfig /displaydns
Muestra la cache de DNS
man bsdinstall
bsdinstall netconfig
Comandos - http://www.peam.es/cursos/free-learning/servidor-web/un-poco-de-
freebsd.php
Bind - https://www.isc.org/wp-content/uploads/2014/01/B99ARM.pdf
inet.d
Reiniciar el servicio
/etc/rc.d/inetd restart
Editar archivo
/etc/inetd.conf
Para controlar los servicios, detenerlos y posteriormente remover comentarios de
archivo /etc/inietd.conf y reiniciar el servicio inetd
Para parar un servicio, comentar el servicio y reiniciar el archivo inetd
En el caso de las lneas para el FTP los comandos finales significan:
-l default flag, habilita el loggin
-r read-only mode
-o write-only mode
-A anonymous FTP connections only
-S logging of all anonymous FTP activity
----------------------------
/etc/services
----------------------------
Manejo de cuotas para el ftp
Quotas
There is one major problem that all system administrators are faced with, limiting the
size of the disk space of their users home directories. If nothing is done the directory
size will just keep growing until all the free space in the /usr slice is consumed. The
maximum size of the directories can by restricted to a pre-defined size using quotas.
See this for more info:
http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/quotas.html
To enable the quotas function you have to add this statement to your kernel source
and recompile.
options QUOTA
Edit /etc/fstab and change the /usr slice to look like this to enable quotas on it.
The keyword userquota is for individual user quotas. The keyword groupquota is for
quotas on all the users belonging to a group. Best to specify both keywords now so
you can select later how you want to use it.
/dev/ad0s1f /usr ufs rw,userquota,groupquota 2 2
After rebooting your system, issue the following command to create all the quota
files needed by the quota system.
quotacheck -a
Issue the following command to start the quota system on the /usr slice:
quotaon -a
To edit user quotas for anonymous FTP, issue the following command:
edquota -u ftp
To enable quotas every time you reboot your system edit /etc/rc.conf and add this:
quota_enable="YES"
check_quotas="YES"
To check on quota usage of anonymous FTP, issue the following command as root:
quota ftp
DNS CACHE CON UNBOUND
local_unbound_enable=YES
utilidad unbound-checkconf
En /var/unbound
Configurar unbound.conf el archivo para que escuche por una:
interface : ip de escucha
access-control : red de escucha, para que pueda escuchar por todas las direcciones
0.0.0.0/0 allow
---
remote control:
control-enable: yes
Configura al unbound para controlar comandos externos.
---
Configurar forwardes o reenviadores
forward.conf
Aadir direcciones de reenvio
Ver cache
unbound-control dump_cache
yes yes BIND will follow out of zone records e.g. it will follow the MX record
specifying mail.example.net for zone example.com for which it is
authoritative (master or slave). Default behaviour.
no no Cache disabled. BIND will NOT follow out-of-zone records even if it is
in the cache e.g. it will NOT follow the MX record specifying
mail.example.net for zone example.com for which it is authoritative
(master or slave). It will return REFUSED for the out-of-zone record.
yes no Cache disabled. BIND will follow out-of-zone records but since this
requires the cache (which is disabled) the net result is the same - BIND
will return REFUSED for the out-of-zone record.
no yes BIND will NOT follow out-of-zone records but if it is the cache it will be
returned. If not in the cache BIND will return REFUSED for the out-of-
zone record.
NAT
NAT viene implementado en el IPFW de freebsd
Se configura en rc.conf
/boot/loader.conf
FIREWALL
FreeBSD cuenta con 3 firewalls
IPFW
IP
IPFILTER : IPF
Usaremos IPFW porque #YOLO
Este tiene configuraciones:
open: passes all traffic.
client: protects only this machine.
simple: protects the whole network.
closed: entirely disables IP traffic except for the loopback interface.
workstation: protects only this machine using stateful rules.
UNKNOWN: disables the loading of firewall rules.
filename: full path of the file containing the firewall ruleset.
Datos que podemos usar en el firewall, abreviaciones y nmeros de puertos
/etc/protocols : Contiene los nombres de protocolos que pueden ser asignados a
una regla en el firewall
/etc/services. : Contiene los nmeros de puertos.
/etc/ipfw.reglas, archivo en el cual se define un conjunto de reglas para nuestro
firewall de tipo filename
/boot/loader.conf
/etc/rc.conf
Proxy
Tipos de proxi
Proxi explcito: Se configura explcitamente el navegador.
Proxi transparente: El navegador no sabe que est pasando por un proxi
/usr/ports/www/squid
make config
Seleccionar TP_IPFW transparent proxi with IPFW
make install clean
ACL
Ver los logs del squid
tail f /var/log/squid/access.log
NAGIOS
Instalar
pkg install nagios
Cargar al arranque
En el rc.conf aadir
nagios_enable=YES
Copiar los ejemplos
Los archivos generados con la instalacin de Nagios tienen toda la informacin
necesaria para poder realizar nuestra propia configuracin de monitorizacin,
entonces se recomienda copiar dichos archivos y trabajar sobre ellos.
cd /usr/local/etc/nagios/
cp cgi.cfg-sample cgi.cfg
cp nagios.cfg-sample nagios.cfg
cp resource.cfg-sample resource.cfg
Copiar los ejemplos en
Repetimos la operacin con los archivo ejemplos de los Objetos.
cd /usr/local/etc/nagios/objects/
cp commands.cfg-sample commands.cfg
cp contacts.cfg-sample contacts.cfg
cp localhost.cfg-sample localhost.cfg
cp printer.cfg-sample printer.cfg
cp switch.cfg-sample switch.cfg
cp templates.cfg-sample templates.cfg
cp timeperiods.cfg-sample timeperiods.cfg
Configuracin de CGI.CFG
En este archivo es el primero que configuraremos en el podemos encontrar
Configuraciones importantes acerca del funcionamiento del Nagios as como:
Configuracin de Nagios.cfg
Estas son las principales configuraciones y las que fueron usadas para Nagios en
esta ocasin (Obviamente nagios cuenta con muchas ms configuraciones
avanzadas pero estas son las principales):
1. Especificar la ruta del "Log_file" una bitcora que almacenara cada detalle
de lo que suceda dentro de NAGIOS.
Configuracin de Resources.cfg
En este archivo Se declaran las macros (variables) que pueden ser usados en
archivos importantes como el commands. (Soporta arriba de 32 macros)
Archivo templates.cfg
Configuracin de Contacts.cfg
1.- se pueden definir Contactos y Grupo de contactos para aadir varios Contactos
a un solo usuario.
La manera de enviar las notificaciones al contacto depende de la configuracin que
se le d, se puede usar un servidor de correos interno o usar un servidor de correos
externo y poder recibir correos en Outlook.
Configuracin de commands.cfg
Configuracin de timeperiods.cgf
Este archivo es configurado para ser usado como una macro pero que especifica
un lapso de tiempo, en l, por ejemplo puede ser especificado que das Puede ser
notificado un contacto o incluso que das puede ser monitoreado un servicio....
time_period_Name: Nombre por el cual ser llamado el Timeperiod (shortname)
Alias: Alias usado para identificar al periodo d tiempo.
Despues se declaran os dias y horas de disposicin.
En este archivo se declaran los HOST y los servicios y aqu es donde residen las
configuraciones de los dems objetos ya que se declaran:
El contacto a notificar
El periodo en el que se puede modificar,
Los servicios a monitorear Los tiempos de monitorizacin,
Los commands, en fin todo reside en este archivo.
Como haba mencionado se declaran HOST, parte crucial ya que aqu se especifica
la direccin IP donde Nagios har conexin y establezca la comunicacin con el
HOST.
Tambin se pueden declarar Host_groups esto es util cuando en una red Varios
Host tienen el mismo servicio a monitorear evitando que declarar cada
host en cada servicio.
.
Hostgroup_name Nombre corto del grupo de hosts asi ser declarado en
los servicios.
Alias: Nombre corto para reconocer el servicio.
members Directiva donde se especifican los host miembros de este
grupo.
Tambin podemos declarar los servicios que sern usados ya sea por un host o un
grupo de host, su sintaxis estndar es la siguiente:
Cabe mencionar que tanto en los host como en los grupos de host ( y tambin en
los servicios) se pueden hacer uso de las macros definidas por NAGIOS para
habilitar configuraciones automticas como los intervalos de tiempo (check_interval)
y muchos otros ms que pueden ser consultados en la documentacin oficial de
NAGIOS.
Buscar plugins
En la carpeta /usr/ports
Make quicksearch name=check
pkg search paquete
Imgenes en nagios
/usr/local/www/nagios/images/logos
icon_image, en los servicios
statusmap_image, en el mapa