Está en la página 1de 19

REDES

Linux es un sistema operativo tipo NOS (Network Operating System), trae implícito todo lo
relacionado con redes incluido el protocolo TCP/IP.

Protocolo

Introducción al TCP/IP

El protocolo TCP/IP es un realidad un conjunto de protocolos básicos que se han ido agregando al
principal para satisfacer las diferentes necesidades en la comunicación ordenador-ordenador
como son TCP, UDP, IP, ICMP, ARP.

TCP (Transmissión control protocol)

Define las reglas de comunicación para que un computador pueda “hablar” con otro. Corresponde
a la cuarta capa del modelo de comunicación OSI/ISO.

IP (Internet Protocol)

Define el protocolo que permite identificar las redes y establecer los caminos entre los diferentes
computadores. Es decir, encamina los datos entre dos ordenadores a través de las redes.
Corresponde a la capa tres del modelo OSI/ISO.

UDP: Es una alternativa al TCP, la conforma el protocolo UDP (User Datagram Protocol), el cual
trata los datos como un mensaje (datagrama) y envía paquetes. Es un protocolo sin conexión (el
computador destino no debe necesariamente estar escuchando cuando un computador establece
comunicación con él). Tiene la ventaja que ejerce una menor sobrecarga a la red que las
conexiones de TCP, pero la comunicación no es fiable: los paquetes pueden llegar duplicados o no
llegar.

ICMP: (Internet Control Message Protocol), se utiliza para mensaje de error o control.

Internet/intranet: Intranet se refiere a la aplicación de tecnologías de internet dentro de una


organización, básicamente para distribuir y tener disponible información dentro de la compañía.

Nodo: Se denomina nodo (host) a una máquina que se conecta a la red (puede ser un computador,
impresora, UPS, etc) es decir un elemento activo y diferenciable en la red que reclama o presta
algún servicio y/o comparte información.

Dirección de red Ethernet (Ethernet address o MAC address): Es un número de 48 bits (ejemplo:
00:88:40:73:AB:FF en binario seria: 0000 0000 1000 1000 0100 0000 0111 0011 1010 1011
1111 1111) que se encuentra disponible físico (hardware) del controlador (NIC) de red Ethernet y
es grabado por el fabricante del mismo. (Este número debe ser único en el mundo, por lo que cada
fabricante de NIC tiene un rango preasignado).

Host Name: Cada nodo debe tener además un único nombre en l red. BIOS puede ser solo
nombres o bien utilizar un esquema de nombres jerárquico basado en dominios (Hierarchical
domain naming scheme. Los nombre de los nodos deben ser únicos lo cual resulta fácil en
pequeñas redes.

Dirección Internet: (IP address), está compuesto por cuatro números en el rango 0-255 separados
por puntos. Ejemplo: 192.168.10.100 y es utilizado universalmente para identificar los
ordenadores sobre una red o internet. La traslación de nombres en direcciones IP es realizada por
un servidor DNS (Domain Name System) que transforma los nombres del nodo en direcciones IP.

Puerto (Port): Identificador numérico del buzón en un nodo que permite que un mensaje (TCP,
UDP) pueda ser leído por una aplicación concreta dentro de este nodo (Ejemplo puerto 23, 80,
etc). Se puede tener diferentes aplicaciones comunicándose entre dos nodos a través de
diferentes puertos simultáneamente.

Nodo router (Gateway): Es un nodo que realiza encaminamientos (transferencia de datos


rounting). Un router según sus características podrá transferir información entre dos redes de
protocolos similares o diferentes y puede ser además selectivo.

Domain Name Systema (DNS): permite asegurar un único nombre y facilitar la administración de
las bases de datos que realizan la traslación entre nombres y dirección internet y se estructuran
en forma de árbol. Para ello se especifican dominios separados por puntos de derecha a izquierda,
describe la categoría, institución o país.

 COM: comercial
 EDU: educación
 GOV: gubernamental
 MIL: Militar
 ORG: Organismo sin ánimo de lucro
 XX: dos letras del país. Ejemplo co Colombia, mx  Mexico, es 

España. Ejemplo: www.unicesar.edu.co

www.sena.edu.co

www.kernel.org

DHCP: (Dynamic Host Control Protocol) , asignar direcciones IP automáticas. Muy utilizado en
redes grandes.
Tipos de Redes o direcciones

Clase A: (red.host.host.host). 1.0.0.1 a 126.254.254.254

Consta de 126 redes, 16 millones de nodos. Para grandes redes (patrón binario: 0 + 7 bits red + 24
bits nodos)

Clase B: (red.red.host.host) 128.1.0.1 a 191.255.254.254

Consta de 16k redes, 65k nodos. (patrón binario: 10 + 14 bits de red + 16 bits nodos)

Clase c: (red.red.red.host) 192.1.1.1 a 223.255.255.254

Dos millones de bits de redes, 254 nodos. (patrón binario: 110 + 21 bits red + 8 bits de nodos)

Clase D y E: (red.red.red.host) 224.1.1.1 a 255.255.255.254

Reservado para multicast (desde un nodo a un conjunto de nodos que forman parte de un grupo)
y propósitos experimentales.

Cada tipo de direcciones tiene un rango específico que han sido reservados para ser utilizadas en
redes privadas, máquinas que se conectan entre ellas sin tener en conexión con el exterior, lo cual
es comúnmente conocido como intranet. Son utilizadas para crear las redes internas de una
organización. No se utilizan en la extranet.

Estos rangos son:

 Clase A: 10.0.0.0 hasta 10.255.255.255


 Clase B: 172.16.0.0 hasta 172.31.0.0
 Clase C: 192.168.0.0 hasta 192.168.255.0

NOTA: El rango 127 está reservado para pruebas. Ejemplo: 127.0.0.1 reservado para un loopback o
local host (autorreferencia).
Modelo OSI/ISO (Open System Interconnection Reference Model / International Standards
Organization).

Es un modelo teórico adoptado por muchas redes. Existen siete capas de comunicación donde
cada una tiene una interfaz para comunicarse con la anterior o posterior.

Nivel Nombre Utilización


7 Aplicación SMTP, simple mail transfer protocol, el servicio propiamente dicho
6 Presentación Telnet, FTP , implementa el protocolo del servicio
5 Sesión Generalmente no se utiliza
4 Transporte TCP, UDP, transformación de acuerdo a protocolo de comunicación
3 Red IP permite encaminar el paquete (routing)
2 Link Controladores (drivers) transformación de acuerdo al protocolo físico
1 Físico Ethernet, ADSL…. Envío del paquete físicamente.

Existen dos versiones del protocolo IP:

 IPV4
 IPV6 también llamado IPng (IP next generation).

En este capítulo solo se tratará la versión IPV4.

Configuración de la interfaz NIC (Network interface controller)

Ifconfig interfaz dirección IP [netmask] [opciones]

 Ifconfig: comando
 Interfaz: interfaz tarjeta red
 Dirección Ip: dirección de la máquina
 Netmask: Mascara dirección
 Opciones: opciones

Ejemplos:

Ifconfig eth0 192.168.110.23 netmask 255.255.255.0 up

Up significa que automáticamente suba la dirección. (Valor por default).

El comando ifup es similar al ifconfig subir la dirección del equipo.


El comando ifdown similar al ifconfig pero con la opción down. Bajar la dirección.

NOTA: La herramienta PING es utilizada para probar la configuración de una máquina en la red.

IP aliasing

Existen algunas aplicaciones donde es útil configurar múltiples direcciones IP a un único dispositivo
de la red (único NIC).Los ISP (Internet Service Providers) utiliza frecuentemente esta característica
para proveer de características personalizadas a sus usuarios. Para ello el Kernel debe estar
configurado con la opción : Network Aliasing e IP.

Ejemplo:

Ifconfig eth0 192.168.110.23 netmask 255.255.255.0 up

Ifconfig eth0:0 192.168.10.100 netmask 255.255.255.0 up

En este caso puede accesar la máquina por cualquiera de las dos (2) direcciones IP

Para borrar un alias agregar “-“ al final del nombre.

Ifconfig eth0:0 -0

Configuración del routing

En un nodo con múltiples conexiones, el routing consiste en decidir donde hay que enviar y que se
recibe. Un nodo simple (una sola conexión de red) también necesita routing, ya que todos los
nodos disponen de un loopback y una conexión de red. Existe una tabla llamada routing table que
contiene filas con diversos campos donde hay tres importantes: dirección de destino, interfaz por
donde saldrá el mensaje y la dirección ip que efectuará el siguiente paso en la red (Gateway).

El comando route permite modificar esta tabla para realizar las tareas de routing. Cuando llega un
mensaje se mira su dirección destino, se compara con las entradas en la tabla y se envía por la
interfaz cuya dirección que mejor coincida con el destino del paquete.

El comando route (solo, sin opciones) muestra la tabla.

route

Ejemplos:

route add –net 192.168.4.0 netmask 255.255.254.0 dev en01

route add –net 192.168.4.0 ethernet mask 255.255.255.0 dev eth0


route add –net 127.0.0.0 netmask 255.255.255.0 en01

En este ejemp lo permitirá conectarse a todos los nodos dentro del segment de red (192.1)

route add default gw 192.168.110.3 eth0

Nota: ver archivo /etc/protocols

/etc/services

IP MASQUERADE

Es un recurso para que un conjunto de máquinas puedan utilizar una única dirección IP. Esto
permite que los nodos ocultos (es decir los que utilizan una IP privada) puedan salir hacia internet,
pero no pueden aceptar llamadas o servicios del exterior directamente sino a través de la máquina
que tiene la IP real.

Se pueden utilizar como IP privadas: 10.0.0.0 / 255.0.0.0; 172.16.0.0 / 255.254.0.0;


192.168.0.0/255.255.0.0

VIRTUAL PRIVATE NETWORK (VPN)

Una VPN (Virtual Private Network) es una red que utiliza como transporte de datos internet, pero
impide que los datos puedan ser accedidos por miembros externos a ella. Por lo general se utiliza
el algoritmo RSA

SERVIDOR WEB APACHE

El servidor web Apache es un servidor web HTTP de código abierto, para plataformas Unix
(BSD, GNU/Linux, etc.), Microsoft Windows, Macintosh. Cuando comenzó su desarrollo en 1995 se
basó inicialmente en código del popular NCSA HTTPd 1.3, pero más tarde fue reescrito por completo.
Su nombre se debe a que alguien quería que tuviese la connotación de algo que es firme y enérgico pero
no agresivo, y la tribu Apache fue la última en rendirse al que pronto se convertiría en gobierno de
EEUU, y en esos momentos la preocupación de su grupo era que llegasen las empresas y "civilizasen" el
paisaje que habían creado los primeros ingenieros de internet. Además Apache consistía solamente en un
conjunto de parches a aplicar al servidor de NCSA. En inglés, a patchy server (un servidor
"parcheado") suena igual que Apache Server.

El servidor Apache es desarrollado y mantenido por una comunidad de usuarios bajo la supervisión de la
Apache Software Foundation dentro del proyecto HTTP Server (httpd).
Apache presenta entre otras características altamente configurables, bases de datos de autenticación y
negociado de contenido, pero fue criticado por la falta de una interfaz gráfica que ayude en su
configuración.

Apache tiene amplia aceptación en la red: desde 1996, Apache, es el servidor HTTP más usado. Jugó un
papel fundamental en el desarrollo fundamental de la World Wide Web y alcanzó su máxima cuota de
mercado en 2005 siendo el servidor empleado en el 70% de los sitios web en el mundo, sin embargo ha
sufrido un descenso en su cuota de mercado en los últimos años. (Estadísticas históricas y de uso diario
proporcionadas por Netcraft ). En 2009 se convirtió en el primer servidor web que alojó más de 100
millones de sitios web.

La mayoría de las vulnerabilidades de la seguridad descubiertas y resueltas tan sólo pueden ser
aprovechadas por usuarios locales y no remotamente. Sin embargo, algunas se pueden accionar
remotamente en ciertas situaciones, o explotar por los usuarios locales malévolos en las disposiciones de
recibimiento compartidas que utilizan PHP como módulo de Apache.

Características

 Modular
 Código abierto
 Multi-plataforma
 Extensible
 Popular (fácil conseguir ayuda/soporte)

Ficha técnica

Desarrolladores: Apache Software Foundation (httpd.apache.org)

Autor: Robert McCool

Fecha lanzamiento: 1995

Última versión estable: 2.4.32 (03-17-2018).

Género: servidor web

Lenguaje: C

Sistema operativo: Multiplataforma

Licencia: Licencia Apache 2.0


Logotipo:

Instalación

sudo apt–get update

sudo apt–get install apache2

Localhost en Ubuntu y Debian: /var/www/html

Archivo de configuración: /etc/apache2/apache2.conf

SERVIDOR DNS

Usando la distribución Ubuntu 14.04. DNS proviene de las siglas en inglés (Domain
Name System). Lo que hace principalmente es relacionar una @ip con un dominio y
viceversa. En un principio, para hacer cualquier consulta a una máquina externa a
la nuestra mediante la red, ya sea un recurso compartido, una página web etc,
deberíamos conocer la @ip de la máquina que queremos consultar. Yo siempre lo
comparo como una llamada telefónica. Para realizar la llamada, tenemos que
conocer el número de la persona a la que vamos a llamar. Porque los teléfonos no
entienden de nombres, solo de números. Hoy en día, en nuestros teléfonos
móviles, tenemos nuestra agenda de contactos. Donde asignamos un número de
teléfono a cada contacto. Esto se hace porque para el ser humano es más fácil
recordar el nombre de una persona que su número de teléfono. Imaginaros que
tuvierais que recordar todos los números de teléfono de vuestros amigos,
familiares, compañeros de trabajo etc. Sería un follón verdad. Pues bueno. Un
servidor DNS realiza una función muy similar a la de la agenda de nuestro teléfono
móvil. Lo único que entienden las máquinas, son @ip. Seríais capaces de recordar
todas la @ip’s de las páginas web que os gustan o os interesa. Sería complicado ¡¿a
que si? Pues justamente lo que hace el servidor DNS es “traducir” esa @ip que
nombre de dominio le corresponde o un determinado dominio, a que @ip apunta. De
esta forma podemos hacer consultas en la red sin necesidad de conocer la @ip.
Simplemente sabiendo el dominio el DNS es capaz de
“traducir” ese dominio a una @ip. Esto se hace, porque es mucho más fácil, para un
ser humano, recordar nombre de dominio que una @ip. Ya hecha la aclaración, voy
a pasar a la acción y voy ha empezar a instalar el servidor DNS en nuestra máquina
Linux.

Configuración de la red. Lo primero que haré es mirar como tengo configurada o


configuradas la o las tarjetas de red en mi servidor con el comando ifconfig.

Una vez ya se de que tarjetas de red dispongo, ya podemos pasar a configurar la red
a nuestras necesidades. Lo primero que haremos es asignar una @IP estática a la
tarjeta de red que dará servicio a nuestra red. Lo haremos editando el fichero
/etc/network/interfaces.
A continuación reiniciamos la red con el comando /etc/init.d/networking restart
y comprobaremos que la configuración de red es correcta con el comando ifconfig
que ya utilizamos antes.

Ahora ya podemos instalar nuestro servidor DNS instalando el paquete bind9.


Antes de instalarlo, comprobaremos que no esté ya instalado con el
comando dpkg -L bind9. Si esta orden nos muestra todos los ficheros del paquete,
es que ya está instalado. De lo contrario, nos arrojará un mensaje diciendo que el
paquete no está instalado. En ese caso, lo instalaremos con el comando apt-get
install bind9. Una vez instalado, ya podemos pasar a la configuración del servidor
DNS. El primer fichero que editaremos, será el archivo
/etc/bind/named.conf.options. En este archivo sólo hemos de descomentar las
líneas de forward only y forwarders como se puede ver en la imagen de abajo y
añadir las @ip de servidores DNS externos donde consultará nuestro servicio en
caso de que no encuentre la respuesta a nuestra petición.

Después pasaremos a editar el archivo /etc/bind/named.conf.local. En este


archivo especificaremos las zonas de búsqueda directa e inversa del servicio DNS.
El dominio de nuestra zona directa y la subred del la zona
inversa. También tendremos que incluir qué tipo de servicio es (maestro o esclavo) y
en que archivos hará la búsqueda de nombres.

Podemos comprobar que no tenemos errores de sintaxis en al fichero, gracias al


comando named-checkconf. No te asustes si no devuelve nada. Significa que no
hay errores. De lo contrario nos especificará cual es el error de sintaxis y en qué
línea se encuentra el error. Ojo errores de sintaxis. Si nos equivocamos al poner, por
ejemplo, al poner el nombre de un fichero de las tablas directa o inversa, no lo
detectará. El siguiente archivo a editar es el que contendrá las tablas de la
búsqueda directa
/etc/bind/db.webebre.net.host. Este archivo contiene las tablas de búsqueda
directa. Las primeras líneas son unos parámetros relacionados con la actualización
del DNS (número de serie y periodos de actuación). La siguiente línea indica quién
es el servidor primario (NS = Name Server). Las siguientes líneas especifican las
@IP’s de los diferentes PC’s componentes del dominio (A = Address). En la
siguiente imagen puedes ver cómo quedaría el fichero.
Seguidamente editaremos el archivo /etc/bind/db.192.168.83.rev. Este archivo
contiene las tablas de búsqueda inversa. Así quedaría el fichero.
Al igual como ya hice con el fichero /etc/bind/named.conf.local. También
puedo comprobar que estos dos ficheros que contienen las tablas de búsqueda
directa e inversa estén sintácticamente correctos gracias al comando named-
checkzone webebre.net /etc/bind/db.webebre.net.host para el fichero de
la zona directa y named-checkzone webebre.net
/etc/bind/db.192.168.83.rev para el fichero de la inversa. Si están correctos nos
devolverá un OK.

Ya casi hemos acabado. Una vez configurado nuestro servidor DNS, debemos
indicar a nuestro PC que el servidor DNS es él mismo, se especifica editando el
archivo /etc/resolv.conf. Indicando la @ip del servidor y el dominio de donde
realizará las búsquedas.

Ya hemos terminado de configurar nuestro servidor DNS. Para finalizar,


reiniciaremos el bind para que los cambios realizados en los archivos anteriores
tengan efecto. Lo haremos con el comando /etc/init.d/bind9 restart. Nuestro
servidor DNS ya está funcionando, para comprobar que lo hace correctamente,
realizaremos alguna comprobaciones con el comando nslookup. Con este comando
podremos comprobar que resuelve peticiones de la zona directa.

Y también de la zona inversa.


De esta forma ya podemos afirmar que nuestro servidor DNS está instalado,
configurado y funcionando correctamente.
Cómo instalar un servidor DNS en
Ubuntu Server
El servidor que se elige para esta tarea -por excelencia- es BIND. Así que Bind es lo que
vamos a instalar y configurar.

Si queremos conectarnos a nuestro servidor lo hacemos:

ssh

Antes de instalar BIND vamos a actualizar los repositorios en nuestro sistema; para eso
ejecutamos:

sudo apt-get install update

Luego procedemos a instalar BIND con el siguiente comando:

sudo apt-get install bind9 bind9utils bind9-doc

Una vez instalado, vamos a poner a BIND en modo IPv4, editando el siguiente archivo de
esta manera:

sudo nano /etc/default/bind9

Una vez abierto el archivo, buscamos la variable OPTIONS y hacemos que quede de la
siguiente manera:

OPTIONS="-4 -u bind"

Configurando una zona DNS en BIND

Ahora bien, BIND no tiene solamente un archivo de configuración sino varios, aunque hay
uno que los invoca a todos. Ese archivo en cuestión es named.conf.

De todos modos, primero vamos a configurar los Forwarders. Esto permite que, si el
servidor DNS no encuentra un registro y no resuelve una dirección, el mismo sea capaz de
consultar a otros servidores DNS. Para hacer esto, vamos a tocar el archivo
named.conf.options.

sudo nano /etc/bind/named.conf.options

Una vez abierto, buscamos la siguiente directiva dentro del archivo:

forwarders
Y abajo especificamos algunos servidores DNS externos, como el de Google por ejemplo u
otro, quedando esa parte del archivo de la siguiente manera:

forwarders {
8.8.8.8;
8.8.4.4;
};
...
};

Una vez hecho esto crearemos una zona. Para eso debemos crear una carpeta en la cual esas
zonas serán guardadas.

sudo mkdir /etc/bind/zones

Ahora bien, atención a los siguientes pasos. Vamos a crear un archivo donde guardaremos
nuestros registros DNS:

sudo nano /etc/bind/zones/db.ns1.midominio.com

El archivo que se abrirá estará vacío; nosotros tenemos que crear algo como este ejemplo:

$TTL 604800
@ IN SOA localhost. root.localhost. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS localhost. ; delete this line
@ IN A 127.0.0.1 ; delete this line
@ IN AAAA ::1 ; delete this line

Si les queda cómodo, péguenlo en el archivo para poder guiarse mejor al hacer las
modificaciones.

Ahora, lo primero que debemos modificar de este archivo es el SOA y lo que pondremos
ahí es el FQDN o el nombre completo de nuestro host, que debería llamarse
ns1.midominio.com. Si aún no configuraste eso, tomate un minuto
y leete els –l

ste tutorial.

Ahora bien, tu servidor ahora se llama ns1.midominio.com? Perfecto, sigamos.


Como les decía, el SOA debe tener el nombre completo de tu equipo, en nuestro caso, esa
parte va a quedar de la siguiente manera:

$TTL 604800
@ IN SOA ns1.midominio.com
root.ns1.midominio.com (

Hecho esto, borramos los registros que aparecen como @ IN NS y creamos los nuestros.
¿Cómo? Muy fácil! Primero, nos especificaremos a nosotros mismos como NS. Para eso,
en el archivo pondremos lo siguiente:

; name servers - NS records


INNSns1.midominio.com.

No olvides el punto (.) al final.

Una vez hecho esto, vamos a crear registros A donde indiquemos qué dirección IP es
ns1.midominio.com, quedando de la siguiente manera:

; name servers - A records ns1.midominio.com.IN


A 181.121.254.x

Esa dirección IP de arriba deberá reemplazarse por la dirección IP de tu Cloud Server.

Por último, en ese archivo vamos a específicar los host que queremos que nuestro servidor
DNS resuelva hacia una determinada dirección, lo cual quedará más o menos así:

; A records
host1.midominio.com. IN A 10.128.100.101
host2.midominio.com. IN A 10.128.200.102
host3.otrodominio.com IN A 10.128.200.102

Nuestro resultado final de la zona de DNS debería quedar algo así:

$TTL 604800
@ IN SOA ns1.midominio.com
root.ns1.midominio.com (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL

; name servers - A records


ns1.midominio.com. IN A 181.121.254.x

; A records
host1.midominio.com. IN A 10.128.100.101
host2.midominio.com. IN A 10.128.200.102
host3.otrodominio.com IN A 10.128.200.103

Si ya terminamos de configurar los registros, vamos a reiniciar BIND y lo hacemos de la


siguiente manera:

sudo service bind9 restart

Consultar el siguiente enlace:


https://blog.baehost.com/tutorial-como-instalar-un-servidor-dns-en-ubuntu-server/

También podría gustarte