---
title: "Uso de Túneles TCP con Cloudflare Tunnel: Seguridad y Accesibilidad Mejoradas"
description: "El uso de túneles TCP con Cloudflare Tunnel representa una solución eficiente y segura para la gestión de conexiones remotas a servicios no basados en HTTP(s), como SSH, RDP y bases de datos como Post..."
url: https://revistacloud.com/uso-de-tuneles-tcp-con-cloudflare-tunnel-seguridad-y-accesibilidad-mejoradas/
date: 2025-02-15
modified: 2025-02-15
author: "Antonio"
image: https://revistacloud.com/wp-content/uploads/2024/02/cloudflare-cdn-internet.jpg
categories: ["Noticias", "Tecnología"]
tags: ["Cloudflare", "túneles TCP"]
type: post
lang: es
---

# Uso de Túneles TCP con Cloudflare Tunnel: Seguridad y Accesibilidad Mejoradas

El **uso de túneles TCP con Cloudflare Tunnel representa una solución eficiente y segura para la gestión de conexiones remotas a servicios no basados en HTTP(s), como SSH, RDP y bases de datos como Postgres**. Esta tecnología permite a los administradores de sistemas y desarrolladores conectarse a sus infraestructuras desde cualquier parte del mundo a través de un canal cifrado y protegido, sin necesidad de exponer los servicios directamente a internet.

## **¿Por qué usar túneles TCP con Cloudflare?**

Tradicionalmente, la exposición de servicios como bases de datos a internet implica riesgos de seguridad significativos. Métodos convencionales como VPNs o el uso de IPs fijas pueden resultar en configuraciones complejas y vulnerabilidades potenciales. Con Cloudflare Tunnel, las conexiones son gestionadas a través de la red de Cloudflare, lo que proporciona varias ventajas clave:

1. **Mayor seguridad**: No es necesario abrir puertos ni exponer servicios directamente en la red pública.
2. **Acceso flexible**: Permite la conexión desde cualquier ubicación sin la necesidad de una VPN.
3. **Integración con Cloudflare Access**: Posibilidad de controlar y restringir el acceso con autenticación de múltiples factores.
4. **Simplicidad en la configuración**: Uso de comandos sencillos para establecer y mantener la conexión.

## **Configuración de un túnel TCP con Cloudflare**

La configuración de un túnel TCP con Cloudflare requiere la instalación y autenticación de `cloudflared` tanto en el servidor como en los clientes que accederán al servicio.

### **1. Instalación de `cloudflared`**

El primer paso es actualizar el sistema e instalar `cloudflared`:

```
sudo apt-get updatesudo apt-get -y install cloudflared
```

### **2. Autenticación y creación del túnel**

Para que el servidor pueda iniciar la conexión con Cloudflare, es necesario autenticar `cloudflared`:

```
cloudflared tunnel login
```

Al ejecutar este comando, se abrirá un enlace en el navegador donde se debe iniciar sesión en Cloudflare y autorizar el acceso.

Luego, se crea el túnel con un identificador único:

```
cloudflared tunnel create postgres
```

Este comando generará un UUID que identificará el túnel en la configuración de Cloudflare.

### **3. Configuración del DNS**

Para que el tráfico sea enrutado correctamente, se debe configurar un registro DNS en Cloudflare:

```
cloudflared tunnel route dns  database..com
```

Esto crea un CNAME que direcciona `database.<YOUR_DOMAIN>.com` al túnel de Cloudflare.

### **4. Configuración del túnel en el servidor**

Se debe configurar `cloudflared` en el archivo YAML de configuración en `~/.cloudflared/config.yaml`:

```
tunnel: credentials-file: .json ingress:  - hostname: database..com    service: tcp://:  - service: http_status:404
```

Este archivo define el túnel y la forma en que se redirigirá el tráfico a la base de datos o servicio que se desea proteger.

### **5. Inicio del túnel como servicio**

Para garantizar que el túnel se inicie automáticamente al arrancar el sistema, se instala el servicio en Linux:

```
sudo cloudflared --config ~/.cloudflared/config.yml service install
```

Si es necesario realizar ajustes, se puede editar el archivo de configuración del servicio en `/etc/systemd/system/cloudflared.service`. Finalmente, para verificar que el servicio está activo, se ejecuta:

```
systemctl status cloudflared
```

### **6. Conexión desde el cliente**

El cliente también debe tener `cloudflared` instalado y autenticado. Para establecer la conexión con la base de datos, se ejecuta:

```
cloudflared access tcp --hostname database..com --url 127.0.0.1:
```

Este comando redirige el tráfico del puerto local (por ejemplo, `5432` para Postgres) hacia el servidor remoto a través del túnel de Cloudflare.

A partir de ahí, la conexión con la base de datos se realiza como si estuviera alojada localmente:

```
psql -h 127.0.0.1 -p 5432 -U usuario -d basedatos
```

## **Conclusión**

La implementación de túneles TCP con Cloudflare Tunnel proporciona una alternativa eficiente y segura para la gestión de conexiones remotas a servicios sensibles. Al eliminar la necesidad de exponer puertos y reducir la dependencia de VPNs tradicionales, esta solución facilita la administración y aumenta la seguridad de la infraestructura TI.

Además, su integración con Cloudflare Access permite establecer reglas de acceso avanzadas, mejorando el control sobre quién y cómo accede a los recursos internos. Para organizaciones y administradores de sistemas que buscan optimizar su seguridad sin comprometer la accesibilidad, esta tecnología representa una opción altamente recomendable.

vía: [Ryan Schachte](https://ryan-schachte.com/blog/cf_tunnel_tcp/) y [CloudFlare](https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/)
