Cómo configurar un servidor Linux como puerta de enlace para una red local

Una computadora de puerta de enlace proporciona a una red local acceso a otra red o a Internet. Linux se puede configurar fácilmente para usarlo como una puerta de enlace de bajo costo y confiable. En esta guía paso a paso, aprenderás cómo configurar un servidor Linux para usarlo como puerta de enlace. No se cubrirá la seguridad de la red ni los procedimientos para instalar el hardware de red para usar con Linux.

Índice de Contenido
  1. Lo que necesitarás
  2. Pasos para configurar una red con una puerta de enlace Linux
  3. Paso 1: Habilitar el reenvío de IP
  4. Paso 2: Configuración de la puerta de enlace
  5. Paso 3: Configuración del enmascaramiento de IP
  6. Paso 4: Configuración de las computadoras host
  7. Paso 5: Prueba de la red

Lo que necesitarás

Para configurar esta puerta de enlace, necesitarás un servidor Linux con el reenvío de IP habilitado en el kernel, una computadora de escritorio que ejecute cualquier sistema operativo, tres tarjetas de interfaz de red (NIC) compatibles con Linux y un concentrador o un cable cruzado.

Debes consultar la guía de compatibilidad de hardware en el sitio web del proveedor de Linux (o consultar el Sitio de Compatibilidad de Hardware de Linux) para confirmar que las tarjetas de interfaz de red que elijas sean compatibles.

Pasos para configurar una red con una puerta de enlace Linux

  1. Habilitar el reenvío de IP en el kernel de Linux en la computadora de la puerta de enlace.
  2. Configurar la computadora de la puerta de enlace.
  3. Configurar el enmascaramiento de IP en la puerta de enlace.
  4. Configurar las computadoras de los host.
  5. Probar la red.

Paso 1: Habilitar el reenvío de IP

El proceso de reenvío de IP permite que una puerta de enlace envíe o reenvíe paquetes de IP a direcciones IP de destino en otra red. Esta capacidad es necesaria tanto si la dirección de destino se encuentra en el mismo edificio de oficinas como en una red en otro continente.

Para configurar un servidor Linux como puerta de enlace, el soporte para el reenvío de IP debe estar integrado en el kernel. Para determinar si el reenvío de IP está habilitado o no, ejecuta el comando:

cat /proc/sys/net/ipv4/ip_forward

Si la salida es 1, el reenvío de IP está habilitado; si la salida es 0, el reenvío de IP no está habilitado. Si la salida es 0, ejecuta el comando:

Cómo utilizar Isearch para buscar archivos de texto en Linux
echo 1 > /proc/sys/net/ipv4/ip_forward

Luego, vuelve a ejecutar:

cat /proc/sys/net/ipv4/ip_forward

Si la respuesta esta vez es 0, deberás recompilar el kernel con soporte para el reenvío de IP. Esto se logra con los siguientes comandos:

cd /usr/src/Linux
make menuconfig o make xconfig

Debes hacer dos cambios para habilitar el reenvío de IP:

  1. Ve al menú "Networking Options" y selecciona "IP: Advanced Router".
  2. Ve al menú "Filesystems" y selecciona "Support For /proc Filesystems".

Después de elegir estas opciones, deberás recompilar el kernel. Reinicia con la nueva configuración del kernel y luego ejecuta los dos comandos mencionados anteriormente para confirmar que el reenvío de IP esté habilitado y para habilitarlo si es necesario.

Paso 2: Configuración de la puerta de enlace

Una dirección IP proporciona a una red, a un servidor de red o a un host de red una identidad única. Hay tres bloques de direcciones IP reservadas. Estas direcciones se pueden usar en una red privada, pero dado que son direcciones no enrutables, son invisibles para Internet. Los tres grupos de direcciones IP no enrutables se muestran en la Tabla A:

Tabla A
Bloque de DirecciónMáscara de RedClase
10.x.x.x255.255.255.0A
176.16.0.0-176.31.255.255255.255.0.0B
192.168.0.0-198.168.255.0255.255.255.0C

Direcciones IP no enrutables

Guía para entender y gestionar los permisos de archivos y directorios en Linux

Para esta configuración, utilizaremos la dirección de red 10.28.3.0 para la red local y la dirección 192.168.1.21 para la puerta de enlace suministrada por el ISP.
Este método es a menudo el único disponible en un servidor Linux. Todo lo que se requiere es un editor de texto como pico, emacs o vi. Al menos uno de estos editores probablemente estará disponible en cualquier sistema Linux que uses. Si no, cualquier editor de texto será suficiente. Además, ten en cuenta que este método es la mejor manera de aprender cómo funciona la red en Linux. Después de usar este método, estarás familiarizado con los archivos y las configuraciones relacionadas con la red que deben configurarse. Los otros métodos funcionan bien, pero este método te proporciona una mayor comprensión de cómo funciona tu sistema.

La primera interfaz de red que configuraremos es la interfaz que reenvía los paquetes de IP. Para configurar esta interfaz, utilizando un editor de texto, sigue los siguientes pasos (utilizaré el editor emacs como ejemplo, pero cualquier editor de texto servirá):

Primero, crea el archivo de configuración de red para la computadora de la puerta de enlace con el comando:

emacs /etc/sysconfig/network

Luego, ingresa la siguiente información en este archivo:

NETWORKING=yes
FORWARD_IPV4=yes
HOSTNAME=admin.training
DOMAINNAME=training
GATEWAY=192.168.1.21
GATEWAYDEV=eth0

Veamos la información en este archivo:

  • La línea NETWORKING=yes especifica que se requiere soporte de red.
  • La línea FORWARD_IPV4 debe tener el valor yes para que el servidor funcione como una puerta de enlace.
  • La línea HOSTNAME especifica el nombre de este host, que generalmente se configura durante la instalación de Linux. La sintaxis estándar para esta línea es nombrehost.nombredominio. El nombre de dominio debe ser el mismo que se encuentra en la línea siguiente.
  • La línea DOMAINNAME especifica el nombre de dominio para esta red y generalmente se configura durante la instalación de Linux.
  • Las dos líneas siguientes especifican la información necesaria para determinar la puerta de enlace predeterminada para esta computadora. Aunque este servidor funcionará como puerta de enlace, en realidad accede a Internet a través de otra puerta de enlace. En este caso, ese enrutador se proporciona por el proveedor de servicios de Internet. La línea GATEWAYDEV es necesaria cuando se configuran más de una interfaz de red en un sistema. Cuando se configuran múltiples interfaces, la línea GATEWAYDEV siempre especifica el dispositivo que está conectado a la puerta de enlace predeterminada provista por el ISP.

Guarda el archivo de red. Asegúrate de que el usuario root sea el propietario y establece los permisos del archivo en (rw-r--r--) con el comando:

Windows al alcance de Linux: Accede a recursos con smbmount y smbclient
chmod 644 /etc/sysconfig/network

Una vez configurado el archivo /etc/sysconfig/network, el siguiente paso es crear archivos de configuración para cada una de las tarjetas de interfaz de red en la puerta de enlace. La primera tarjeta de interfaz para la cual crearemos un archivo de configuración es la interfaz que reenvía los paquetes al mundo exterior. La primera interfaz Ethernet configurada en un sistema Linux siempre es eth0.

Para configurar la primera interfaz de red, crea el archivo /etc/sysconfig/network-scripts/ifcfg-eth0. Para hacer esto, ejecuta el comando:

emacs /etc/sysconfig/network-scripts/ifcfg-eth0

Luego, ingresa la siguiente información en este archivo:

DEVICE=eth0
IPADDR=10.28.3.254
NETMASK=255.255.255.0
NETWORK=10.28.3.0
BROADCAST=10.28.3.255
ONBOOT=yes

Veamos la información en este archivo:

  • La línea DEVICE= especifica el nombre de esta interfaz. Como esta es la primera interfaz configurada, se llama eth0.
  • La línea IPADDR= especifica la dirección IP para la interfaz.
  • La línea NETMASK= especifica la máscara de subred (máscara de red) para esta red.
  • La línea NETWORK= especifica la dirección de esta red.
  • La línea BROADCAST= especifica la dirección de difusión para esta red.
  • La línea ONBOOT= yes garantiza que esta interfaz se active cuando se inicie el sistema.

Para configurar la segunda interfaz (eth1), utiliza un editor de texto para crear el archivo /etc/sysconfig/network-scripts/ifcfg-eth1 y ingresa la información IP para esta interfaz. A continuación se muestra un archivo de configuración típico para eth1:

DEVICE=eth1
IPADDR=10.28.3.20
NETMASK=255.255.255.0
NETWORK=10.28.3.0
BROADCAST=10.28.3.255
ONBOOT=yes

Paso 3: Configuración del enmascaramiento de IP

El enmascaramiento de IP hace que las computadoras fuera de tu red piensen que todos los paquetes de IP de tu LAN provienen de la misma dirección IP, independientemente del host que haya enviado realmente la información. Para configurar el enmascaramiento de IP en tu puerta de enlace, ingresa las siguientes líneas en el archivo /etc/rc.d/rc.local:

Cómo configurar y utilizar logrotate para la gestión de archivos de registro en Linux
#eliminar cualquier regla de reenvío existente
/sbin/ipchains -F forward
#establecer la política de reenvío predeterminada en DENY
/sbin/ipchains -P forward DENY
#habilitar módulos de proxy en el kernel. Esto permitirá que se ejecuten servicios de ftp, irc y audio
#con el enmascaramiento de IP habilitado
MODULES= `ftp irc audio`
for
SERVICE in $MODULES;
do
    /sbin/insmod ip_masq_$SERVICE
done

Paso 4: Configuración de las computadoras host

Las computadoras host son las computadoras de escritorio en la red. Para configurar las computadoras host, cada host necesita conocer la dirección de red, la máscara de subred local y el dispositivo de puerta de enlace.

Configuración de un host Linux
Para configurar un host Linux, sigue estos pasos. Primero, utilizando un editor de texto, crea el archivo /etc/sysconfig/network con el siguiente comando:

emacs /etc/sysconfig/network

Luego, agrega las siguientes entradas al archivo de red. Utiliza la información de IP adecuada para tu red:

NETWORKING=yes
FORWARD_IPV4=yes
HOSTNAME=pc1.training
DOMAINNAME=training
GATEWAY=10.28.3.254
GATEWAYDEV=eth0

Observarás que la línea GATEWAY= en este archivo no es la misma que la del archivo de red en el servidor. Esto se debe a que la computadora host utiliza la dirección IP (del dispositivo eth0) del servidor Linux como puerta de enlace, mientras que eth0 en el servidor Linux utiliza la dirección IP proporcionada por el ISP como su puerta de enlace.

A continuación, crea el archivo /etc/sysconfig/network-scripts/ifcfg-eth0 en el host. Este archivo contiene la información TCP/IP que identifica esta computadora en la red. Recuerda que esta es la primera interfaz de red instalada en esta computadora, por lo que debe llamarse eth0. Utiliza el comando:

emacs /etc/sysconfig/network-scripts/ifcfg-eth0

Agrega las siguientes entradas al archivo ifcfg-eth0 (utiliza la información de IP adecuada para tu red):

Cómo instalar y configurar ALSA en Linux: Guía paso a paso
DEVICE=eth0
IPADDR=10.28.3.1
NETMASK=255.255.255.0
NETWORK=10.28.3.0
BROADCAST=10.28.3.255
ONBOOT=yes

Configuración de un host que no es Linux
Para configurar un host que no es Linux, utiliza las herramientas de configuración de red apropiadas para el sistema operativo de escritorio que estés utilizando.

Paso 5: Prueba de la red

Antes de realizar la prueba de la red, revisemos la configuración. La computadora de la puerta de enlace ahora tiene dos interfaces de red instaladas, eth0 y eth1. Eth0 es la puerta de enlace para tu red local y está conectada a su dispositivo de Internet. Esto puede ser un módem de cable, un enchufe ADSL o una conexión de red que se conecta a otro enrutador o puerta de enlace. La puerta de enlace para esta interfaz es la dirección IP de la puerta de enlace suministrada por tu ISP.

La segunda interfaz en la puerta de enlace está conectada directamente al concentrador local, lo que permite el acceso desde la red local. El reenvío de IPV4 (Protocolo de Internet versión 4) está habilitado en el kernel y está activado. El enmascaramiento de IP está habilitado en la puerta de enlace.

Cada host (computadora de escritorio) tiene una interfaz instalada y cada interfaz está conectada directamente al concentrador. El dispositivo de puerta de enlace para cada host es la dirección IP de eth0 en la computadora de la puerta de enlace.

Una vez que hayas confirmado la configuración, estás listo para probar tu red.
Para eliminar problemas relacionados con DNS durante las pruebas, utiliza solo direcciones IP durante la prueba de la red.
Hay tres pruebas que debes realizar para confirmar que tu red está funcionando correctamente. En primer lugar, desde una computadora host, utiliza el comando ping para hacer ping a otra computadora host en la red. Por ejemplo, desde el host 10.28.3.1, intenta hacer ping a la computadora host 10.28.3.2. Si no recibes una respuesta al comando ping, verifica ambos archivos de configuración de red (/etc/sysconfig/network y /etc/sysconfig/network-scripts/ifcfg-eth0). Corrige cualquier problema y ejecuta el comando /sbin/ifconfig eth0 down para desactivar la interfaz. Luego, vuelve a activar la interfaz utilizando el comando /etc/sysconfig/network-scripts/ifup eth0. Una vez que puedas hacer ping a otra computadora host en la red, realiza la siguiente prueba.

Haz ping a la computadora de la puerta de enlace desde un host en la red. Si no recibes una respuesta al comando ping, verifica los archivos de configuración de la computadora de la puerta de enlace. Desactiva la interfaz y luego reactívala después de realizar los cambios necesarios. Cuando puedas hacer ping a la puerta de enlace desde los hosts de la red, estás listo para la última prueba.

Consejos rápidos para la navegación de directorios en Linux: cd y pushd

Haz ping a una computadora en Internet desde una computadora host en la red local. Si no puedes hacer ping a una computadora en Internet, ejecuta el comando /sbin/traceroute dirección IP para determinar si los paquetes de IP están llegando o no a la puerta de enlace. Si la salida de traceroute muestra que las solicitudes de ping llegan a la puerta de enlace pero no se reenvían a Internet, el problema ocurre en la puerta de enlace. Ahora ejecuta el comando cat /proc/sys/net/ipv4/ip_forward. Si la salida de este comando es 0, o bien el reenvío de IP no está activado o no está habilitado en el kernel. Sigue los pasos mencionados anteriormente para activar o habilitar el reenvío de IP.

En este punto, deberías tener una red funcional con acceso a Internet a través de una conexión compartida a Internet mediante una puerta de enlace Linux.

Conclusión
En esta guía paso a paso, se discute el procedimiento de cinco pasos necesario para configurar un servidor Linux como puerta de enlace y configurar las computadoras host en una red local para usar la puerta de enlace Linux para acceder a Internet compartiendo una conexión.

En Newsmatic nos especializamos en tecnología de vanguardia, contamos con los artículos mas novedosos sobre Código abierto, allí encontraras muchos artículos similares a Cómo configurar un servidor Linux como puerta de enlace para una red local , tenemos lo ultimo en tecnología 2023.

Artículos Relacionados

Subir

Utilizamos cookies para mejorar su experiencia de navegación, mostrarle anuncios o contenidos personalizados y analizar nuestro tráfico. Al hacer clic en “Aceptar todo” usted da su consentimiento a nuestro uso de las cookies.