Introducción

| 3 Comments
A lo largo del presente blog se pretende explicar los pasos a seguir para configurar una LAN de lo que podría ser una pequeña empresa. Todas las máquinas utilizadas a lo largo de este blog serán siempre Máquinas Virtuales creadas con el programa VMWare de Microsoft.

En esas explicaciones no se dará información exacta de la configuración particular del caso a tratar, aunque si se adjuntarán enlaces desde los que se pueden ver configuraciones de ejemplo, y se explicarán las peculiaridades de dichos ejemplos.

El escenario de red, según se plantea por las necesidades del cliente, debe cumplir con una serie de funcionalidades que se describen a continuación:

  • Servicios de encaminamiento, filtrado de paquetes y NAT, que serán proporcionados por el encaminador.
  • Servicio DHCP para configuración automática de las máquinas de la red corporativa.
  • Servicio de DNS para un dominio propiedad de la empresa, con un servidor primario y al  menos un secundario externo a la red corporativa.
  • Servicio de cache de DNS para las máquinas de la red corporativa.
  • Acceso mediante SSH a algunos de los servidores FreeBSD de la empresa, tanto desde dentro como desde fuera de la red corporativa, con autenticación a base de contraseña o de clave pública.
  • Un servidor de ficheros accesible mediante NFS y CIFS para compartir información entre los puestos de trabajo corporativos.
  • Un servicio de información de red (NIS) para compartir cuentas de usuario entre los puestos de trabajo corporativos. Deberá contar con un servidor maestro y al menos un servidor esclavo. Las cuentas de usuario de NIS almacenarán sus directorios personales en el servidor NFS corporativo.
  • Un servicio de FTP anónimo para que cualquier persona externa a la empresa pueda descargarse ficheros públicos.
  • Un servicio de correo electrónico para el dominio de la empresa, accesible tanto dentro como fuera de la red corporativa, con servidor Postfix y buzones POP/IMAP.
  • Un servidor web Apache accesible tanto dentro como fuera de la red corporativa, con al menos 2 sitios virtuales diferentes.
  • Un dominio de Directorio Activo bajo Microsoft Windows SErver 2003 con ciertas características que se comentarán posteriormente.

Según todas estas especificaciones del cliente, se muestra el escenario de red que se montará para su realización. Como este es el primer post y su fin es puramente introductorio, no se asociará ninguna funcionalidad a una máquina en particular exceptuando las de la máquina que actuará como encaminador entre la red local y el exterior (una red de laboratorio ya configurada).


Esquema.JPG

1. DHCP

| 57 Comments
Empezaremos por configurar el más básico de los servicios para que la red pueda funcionar: el servidor DHCP, que proveerá de direcciones IP al resto de máquinas de la LAN.

Como se mostró en el post anterior, será la máquina encaminadora la encargada de albergar este servicio. Dicha máquina tiene la peculiaridad de ser la única que necesita 2 interfaces de red para conectarse por un lado a la red local, y por el otro lado dar salida a Internet (una red de laboratorio en realidad). La tarjeta de red que se conecta con la red de laboratorio se configura automáticamente, al igual que haría el proveedor de la empresa con la que se tenga contratado el servicio de internet.

El primer problema que se nos plantea es el más lógico: ¿cómo obtendrá una dirección IP el servidor de direcciones IP? La respuesta es evidente: se deberá hacer manualmente con el comando ifconfig. Para conocer el nombre de la interfaz a configurar, se utilizará el mismo comando sin parámetros. Otra opción es modificar manualmente el fichero /etc/rc.conf

Para crear un servidor DHCP en una máquina FreeBSD es necesario instalar el paquete isc-dhcp3-server. Este paquete no aparece precompilado en la página www.FreeBSD.org, asi que tendrán que instalarse los ports y compilar el paquete que deseamos usar. La forma en que se realizan estas acciones no se explicará en este blog.

El siguiente paso es crear el fichero de configuración del demonio /usr/local/sbin/dhcpd. Este fichero de configuración se encuentra en /usr/local/etc/dhcpd.conf.

Con la instalación del paquete se ha generado un fichero de configuración a modo de ejemplo, en la misma carpeta que en la que tiene que ir el original, y con nombre dhcpd.conf.sample. En este ficheo se comentan opciones más que suficientes para implementar el nuestro.
Otros ejemplos de configuración de este fichero se encuentran en los siguientes enlaces:
http://www.freebsd.org/doc/es_ES.ISO8859-1/books/handbook/network-dhcp.html
http://www.linuxparatodos.net/portal/staticpages/index.php?page=como-dhcp-lan

En rasgos generales, nuestro fichero configuración deberá especificar que la dirección de red a configurar es del tipo 192.168.1.1/24; también se escribirá el nombre del dominio, adquirido previo pago de su importe; y otra serie de información opcional que puede dar información del servidor DNS (cuando exista), servidor NIS, dirección de broadcast, rango de valores IP que se asignarán de forma dinámica, etc.

Con sólo esta funcionalidad en la red, su esquema será el siguiente:
Esquema DHCP.jpg

2. NAT

| 12 Comments
El servicio de NAT (Network Address Translation) debe estar obligatoriamente en la máquina Encaminadora. Para entender el porqué, se explicará brevemente en que consiste esta Traducción de Direcciones de Red.

Debido a la gran cantidad de máquinas con acceso a internet que existen en la actualidad, el rango de direcciones IPv4 es insuficiente para poder asignar una de estas direcciones a cada máquina. Para poder dar conectividad a todas esas máquinas, se han agrupado en redes locales que tienen acceso a internet a través de una única máquina que proporciona servicio NAT. Ese servidor asigna su dirección IP y un número de puerto a cada una de las máquinas de la red local, de tal forma que cuando un ordenador con una dirección privada quiere enviar información por internet, lo hace usando la única dirección pública que conoce y el número de puerto asignado.

Para configurar un servidor NAT en una máquina con sistema operativo FreeBSD tan sólo hay que añadir ciertas líneas al fichero /etc/rc.conf. Una de esas líneas permite la redirección de puertos hacia máquinas internas.

Una de esas líneas de redirección permitirán que desde el exterior se pueda acceder al servidor DNS primario de la red interna, redireccionando el puerto udp 53.

Aprovechando que por esta máquina servidora transitará todo el tráfico exterior, se utilizará también como cortafuegos.

Las instrucciones para realizar estas acciones se encuentran en:
http://www.freebsd.org/doc/en/books/handbook/network-natd.html


El servicio SSH viene configurado por defecto sin necesidad de hacer ninguna modificación.


El esquema de la red hasta este momento quedará de la siguiente forma:

esquema NAT.jpg

3. DNS

| 38 Comments
DNS es el servicio que traduce nombres en direcciones IP.

Por las especificaciones de la red de empresa, se necesita un servidor principal, un servidor secundario en otra red y un servidor caché. Además se actuará como servidor DNS secundario de otra red.

El servidor DNS primario se configurará en una máquina distinta a la Encaminadora. No es bueno cargar de funciones a un sólo ordenador, porque en caso de fallo, se perderían todas las funcionalidades de la red.

Por parte del cliente, se debe configurar el fichero /etc/resolv.conf para que busque el servidor DNS en la dirección IP de la máquina donde se vaya a instalar el DNS caché, esto se hace fácil y automáticamente con un pequeño agregado en la configuración del servidor DHCP.

Es importante remarcar que cualquier máquina cliente realizará consultas únicamente a los servidores caché DNS que haya en la red, y serán estos los encargados de proporcionar la traducción en función de la información que tenga en memoria, o llamando al servidor DNS raiz.

Por parte del servidor, se debe activar el demonio del servidor de nombres en el fichero de configuración /etc/rc.conf. La aplicación utilizada para crear el servidor DNS viene preinstalada con el sistema operativo, así que sólo hay que modificar los ficheros de configuración que encontramos en /etc/namedb. Llegados a este punto, hay que hacer diferencias entre los tipos de servidores DNS que podemos tener.

Primario:
Es el primer servidor DNS al cual el servidor DNS caché realizará la consulta a la hora de resolver una dirección de la red local. Su archivo de configuración named.conf debe indicar las direcciones IP de los servidores secundarios, la dirección IP de escucha y los ficheros de traducción y de traducción inversa de las máquinas del dominio. Estos ficheros a su vez contienen información sobre algunos parámetros del dominio y, especialmente, la relación entre los nombres de máquina y su traducción a direcciones IP.
En nuestro caso, este servidor sólo traducirá los nombres de máquinas locales, así que el fichero named.root se puede obviar.
También cabe añadir que debido al servicio NAT del encaminador, las direcciones IP privadas sólo serán visibles para las máquinas de la red. Mediante el uso de "vistas" se configura el servidor para que desde el exterior sólo se reciba la dirección IP pública del encaminador.

Secundario:
Cuando el servidor primario se encuentra inactivo, y siempre y cuando la configuración lo permita, el servidor secundario se encargará de realizar la conversión de nombres a direcciones IP. Este servicio debe encontrarse forzosamente en otra máquina, en esta situación, en otra red.
El servidor secundario informará a ordenadores externos sobre las direcciones de nuestra red interna, pero recordamos que desde el exterior sólo se identifican las máquinas a través de las IPs públicas disponibles. Por este motivo, el servidor primario de nuestra red debe actualizar la información del servidor secundario con el archivo usado para la vista externa.


Caché:
Será el que almacene la traducción de cualquier dirección IP que se haya solicitado desde una máquina de la red, tanto direcciones privadas como públicas. Para lograr este objetivo, se deben configurar las direcciones IP a las cuales se les permitirá utilizar este servicio caché (nuestras direcciones privadas); y se modificará el fichero named.root que viene por defecto para indicar que nuestro servidor DNS raiz estará en arsenico.ars.local.

Forwarder:
El proposito de un servidor DNS forwarder es solicitar la petición de traducción a otro servidor DNS. No se ha juzgado necesario la implantación de un servidor de este tipo en nuestro caso particular.


Cabe destacar la peculiaridad de que el servicio caché y el DNS principal se alojarán en la misma máquina por facilitar la configuración. Esto será así porque el DNS caché debe realizar sus preguntas siempre al servidor raiz, y éste se encargará de buscar el DNS de menor nivel que guarde la información de las máquinas de la red local. El servidor caché no puede preguntar directamente a nuestro DNS primario porque cualquier mensaje DNS se dirige hacia el encaminador, y éste tendría que discriminar los mensajes dirigidos a uno u otro servidor DNS primario.


El esquema de configuración actual se refleja de la siguiente forma:

DNS.JPG



4. SSH y FTP

| 149 Comments
SSH

Para crear un servidor que permita acceso mediante SSH, sólo hay que añadir la opción al fichero /etc/rc.conf de la máquina servidora. Posteriormente se lanza el servicio con el demonio dedicado a ello: "sshd".
Para modificar la configuración de este servicio se debe modificar el fichero /etc/ssh/sshd_config, en el cual se puede permitir, entre otras cosas, que se inicie sesión como root, o que sólo se pueda acceder a través de determinadas direcciones IP.

Para acceder desde el exterior a este servicio se deberá redirigir el puerto 22 en el Encaminador, que es el puerto por defecto que escucha peticiones SSH. Como se puede habilitar el servicio SSH en varias máquinas, se deberán redirigir todos los puertos del Encaminador destinados a tal efecto, cada uno redirigido al puerto 22 de la máquina asociada a dicho número de puerto.



FTP

Este servicio se ofrece por el demonio inetd. Para activarlo sólo hay que habilitar la linea correspondiente en el fichero /etc/inetd.conf.

Además se pueden modificar las opciones de configuración de este servicio en el fichero /etc/ftpusers, denegando a usuarios o grupos el acceso a este servicio.

En caso de utilizar FTP Anónimo, se creará la cuenta de usuario "ftp". Todos los permisos de la carpeta /home/ftp/pub serán de tipo 444

El puerto a redirigir en el NAT será el 21 tcp


Esquema SSH FTP.jpg

5. NFS

| 4 Comments
Un servidor NFS permitirá a todos los usuarios de la red acceder de forma transparente al disco duro de la máquina servidora.

Para crear este servicio, se deben añadir las lineas correspondientes en el fichero /etc/rc.conf, seguidamente se debe crear el directorio a partir del cual se va a colgar la información compartida, y por último se informa de que esta carpeta será pública. Para realizar esta última acción se debe añadir en /etc/exports el path del directorio compartido, una serie de opciones sobre los permisos de acceso, y un filtro que indica a que direcciones IP se les permite utilizar el recurso.


En cualquier máquina a la que el servidor NFS haya permitido el acceso, se puede montar la nueva unidad con una fácil modificación del fichero /etc/fstab. Es interesante poner dentro de las opciones de montaje la opción -b, para que la máquina pueda arrancar sin esperar que el servicio NFS esté disponible.
También deberá hacer una ligera modificación en /etc/rc.conf donde se especifique el arranque del demonio que hará de cliente NFS.


Esquema NFS.jpg

6. NIS

| 46 Comments

NIS es un servicio que permite compartir, y así unificar, información en una red local. En nuestro supuesto de laboratorio, el objetivo de añadir un servicio NIS es tener una lista de usuarios común para todas las estaciones de trabajo.

Lo problemático de obtener esta configuración es que, no sólo se debe compartir la información relacionada a la creación de un usuario, sino que además se debe poder acceder al mismo directorio de trabajo desde todas las máquinas. Aquí es donde entra en juego el servidor NFS creado anteriormente.


Servidor Maestro NIS:

Para crear el servidor Maestro del servicio NIS se deben activar los demonios ypserv, rpc.ypasswdd y rpc.ypxfrd. Para que se haga de forma automática modificaremos, como viene siendo habitual cada vez que queremos que un demonio se lance durante el arranque del sistema, el fichero /etc/rc.conf.

Ahora se deben crear los ficheros passwd, master.passwd, netgroup e ypservers en el directorio /var/yp. En ellos se almacenará la información que se va a compartir entre este servidor y los clientes NIS.

Una vez ajustada la configuración deseada en los anteriores ficheros (en caso de necesitar introducir alguna información), se tecleará el comando para inicializar el servicio: ypinit.

En caso de modificar manualmente los ficheros que distribuirán la información entre todas las estaciones de trabajo con el servicio NIS activo, se deberá ejecutar el comando make para que las variaciones se propaguen a todas las máquinas.

Todos los usuarios que se deseen añadir al dominio NIS se crearán en esta máquina servidora. Esto se debe a que al crear un usuario, se debe especificar que la información del usuario se debe almacenar no sólo en el directorio local del equipo, sino también en el fichero /var/yp/master.passwd para que se informe al resto de ordenadores.

Para tener acceso al directorio de trabajo del usuario creado, recordamos que éste directorio tenía que corresponder con el punto de montaje de la unidad NFS. Por ello, en la creación del usuario se definirá como directorio base, por convenio: /home/nis


Servidor Esclavo NIS:

Siempre es útil tener un segundo servidor de un servicio por si el servidor maestro falla. Para aprovechar una máquina anteriormente instalada y que no soportará una carga excesiva de trabajo dentro de nuestra red de trabajo, este servidor esclavo NIS se alojará en la misma máquina que el servicio FTP.

El servidor esclavo se configura prácticamente igual que el maestro, con un par de excepciones:
En el fichero /etc/rc.conf no se activa el demonio rpc.yppasswdd.
Al lanzar el servicio, la opción del comando ypinit será -s, lo que indica que actuará como Slave.

Una vez creado el esclavo, se deben producir ciertas modificaciones en el servidor maestro, para que éste pueda reconocer al nuevo servidor como esclavo suyo, y que así le propague la información necesaria.
El comando ypinit con la opción -u permite configurar nuevamente el servidor, y así añadirle el nombre de la nueva máquina servidora esclava de NIS.
En el fichero Makefile del directorio /var/yp, se eliminará o comentará la línea NOPUSH=True, para que el servidor maestro propague la información a sus esclavos.

Llegados a este punto, el servidor esclavo NIS almacena en cada momento la información que el maestro le envía, y se almacena en /var/yp/raul. Pero para que esta información se guarde de la forma adecuada, se tiene que aplicar el comando ypxfr a cada uno de esos ficheros. Para realizar dicha tarea, se creará un script que se ejecute cada poco tiempo.


Cliente NIS:

Para tener un cliente NIS hay que activar el demonio ypbind en /etc/rc.conf. A continuación se especifican los mapas que se desean importar y el lugar donde buscará dicha información. Esto se consigue con el fichero /etc/nsswitch.conf, en el cual se pone el nombre del fichero y el lugar donde se accede a su información, siendo files el fichero de la máquina local, y nis el servicio aportado por el servidor NIS



Una vez creada una cuenta de un usuario a través de NIS, se observa que en la máquina servidor de NFS se crea el directorio de trabajo correspondiente al usuario. Pero el dueño de dicho directorio es root, por lo que el usuario no puede trabajar en ella. Para conseguir que el servidor NFS sepa de la existencia del nuevo usuario, esta máquina también debe ser cliente del servicio NIS; y posteriormente se podrá cambiar el dueño de la carpeta con el comando chown.


Esquema NIS.jpg

7. WWW

| 3 Comments
Proporcionar un servicio de alojamiento de páginas web es una tarea muy sencilla en FreeBSD si se utiliza un servidor Apache. El servidor Apache se puede lanzar a través de /etc/inetd, pero la cantidad de carga de trabajo que puede llegar a soportar este servicio nos aconseja que se realice de forma independiente.

Para instalar el servicio Apache en una máquina de la red se puede descargar el paquete que necesitamos: pkg_add -r apache20; o bien compilarlo por nuestra cuenta y con nuestras opciones personalizadas descargando los ports como se hizo con el servicio DHCP.

Para que el motor Apache arranque al inicio, se reconfigura el fichero /etc/rc.conf con la nueva opción. Además, para obtener un correcto funcionamiento, se debe comprobar que exista el usuario www. En caso de no existir dicho usuario, se debe crear, o se modificará el fichero httpd.conf para que el usuario y grupo pasen a ser nobody.

En /usr/local/www, se deben borrar enlaces simbólicos y directorios-dist, y crear los directorios nuevos a los que se podrán acceder. Los nuevos ficheros deben ser legibles para el usuario "www", pero no modificables.

La configuración por defecto de /usr/local/etc/apache20/httpd.conf nos servirá por completo, exceptuando la dirección de correo del administrador. Además se deben añadir los 2 sitios virtuales diferenciados por su nombre. Puede ser interesante que uno de esos sitios sea sólo accesible por las máquinas de la red de trabajo, y no por las externas.

Parte de la información necesaria para realizar este apartado se ha obtenido de la página: http://blog.jorgeivanmeza.com/2008/05/03/instalacion-y-configuracion-inicial-de-apache-en-freebsd/



Esquema WWW.jpg

Wave

| 3 Comments
Wave de google:

Find recent content on the main index or look in the archives to find all content.

Recent Assets

  • Esquema WWW.jpg
  • Esquema NIS.jpg
  • Esquema NFS.jpg
  • Esquema SSH FTP.jpg
  • DNS.JPG
  • esquema DNS.jpg
  • Esquema DHCP.jpg
  • esquema NAT.jpg
  • Esquema.JPG
  • Esquema1.JPG

Categories

Pages

Powered by Movable Type 4.23-en