Delete docs-es/v2.0/Quickstart directory

This commit is contained in:
Robert Chacón authored and GitHub committed 2026-05-18 07:19:14 -06:00
1 parent df2718717b
commit dfd9408a6d
5 files changed
-356

No files matched your search

-113
View File
@@ -1,113 +0,0 @@
# Configurar LibreQoS
## Archivo de configuración principal
### /etc/lqos.conf
La configuración de LibreQoS para cada shaper box se almacena en el archivo `/etc/lqos.conf`.
Edite el archivo para que coincida con su configuración
```shell
sudo nano /etc/lqos.conf
```
En la sección ```[bridge]``` , cambie `to_internet` y `to_network` para que coincida con sus interfaces de red.
- `to_internet = "enp1s0f1"`
- `to_network = "enp1s0f2"`
Luego, si usa Bifrost/XDP, configure `use_xdp_bridge = true` en la misma sección `[bridge]`. Si no está seguro de que lo necesite, le recomendamos dejarlo como `false`.
- Configure downlink_bandwidth_mbps y uplink_bandwidth_mbps para que coincidan con el ancho de banda en Mbps de la conexión a internet de subida/WAN de su red. Puede hacer lo mismo con generated_pn_download_mbps y generated_pn_upload_mbps.
- to_internet sería la interfaz que da a su enrutador de borde y a la red de Internet en generla
- to_network sería la interfaz que da a su enrutador central (o red interna puenteada si su red está puenteada)
Nota: Si observa que el tráfico no se está modelando cuando debería, asegúrese de intercambiar el orden de las interfaces y reinicie lqosd, así como lqos_scheduler con ```sudo systemctl restart lqosd lqos_scheduler```.
Después de cambiar cualquier parte de `/etc/lqos.conf`, se recomienda encarecidamente reiniciar siempre lqosd, utilizando `sudo systemctl restart lqosd`. Esto vuelve a analizar cualquier nuevo valor en lqos.conf, haciendo que esos nuevos valores sean accesibles tanto para el lado Rust como para el lado Python del código.
### Integraciones
Más información sobre cómo [configurar integraciones aquí](../TechnicalDocs/integrations.md).
## Jerarquía de red
### Network.json
Network.json permite a los operadores de ISP definir una topología de red jerárquica o una topología de red plana.
Si planea utilizar las integraciones UISP, Splynx o Netzur integradas, no es necesario que cree un archivo network.json todavía.
Si planea utilizar la integración UISP integrada, esta se creará automáticamente la primera vez que se ejecute (suponiendo que network.json aún no exista).
Si no va a utilizar una integración, puede definir manualmente el archivo network.json siguiendo el archivo de plantilla: network.example.json
```text
+-----------------------------------------------------------------------+
| Entire Network |
+-----------------------+-----------------------+-----------------------+
| Parent Node A | Parent Node B | Parent Node C |
+-----------------------+-------+-------+-------+-----------------------+
| Parent Node D | Sub 3 | Sub 4 | Sub 5 | Sub 6 | Sub 7 | Parent Node F |
+-------+-------+-------+-------+-------+-------+-------+-------+-------+
| Sub 1 | Sub 2 | | | | Sub 8 | Sub 9 |
+-------+-------+-------+-----------------------+-------+-------+-------+
```
Para redes sin nodos principales (sin puntos de acceso o sitios estrictamente definidos), edite el archivo network.json para utilizar una topología de red plana con
```nano network.json```
estableciendo el siguiente contenido del archivo:
```json
{}
```
#### Ayuda para la conversión de CSV a JSON
Puede utilizar
```shell
python3 csvToNetworkJSON.py
```
para convertir manualNetwork.csv en un archivo network.json.
manualNetwork.csv se puede copiar desde el archivo de plantilla, manualNetwork.template.csv.
Nota: El nombre del nodo principal debe coincidir con el utilizado para los clientes en ShapedDevices.csv.
## Circuitos
LibreQoS configura los dispositivos individuales según sus direcciones IP, que se agrupan en «circuitos».
Un circuito representa el servicio de Internet de un suscriptor de ISP, que puede tener una sola IP asociada (por ejemplo, al enrutador del suscriptor se le puede asignar una sola IPv4 /32) o puede tener varias IP asociadas (tal vez su enrutador tenga asignada una /29 o varias /32)..
LibreQoS sabe cómo configurar estos dispositivos y en qué nodo (AP, sitio, etc.) se encuentran, gracias al archivo ShapedDevices.csv.
### ShapedDevices.csv
El archivo ShapedDevices.csv correlaciona las direcciones IP de los dispositivos con los circuitos (el servicio exclusivo de cada suscriptor de Internet).
A continuación se muestra un ejemplo de una entrada en el archivo ShapedDevices.csv:
| Circuit ID | Circuit Name | Device ID | Device Name | Parent Node | MAC | IPv4 | IPv6 | Download Min Mbps | Upload Min Mbps | Download Max Mbps | Upload Max Mbps | Comment |
|------------|--------------|-----------|-------------|-------------|-----|---------------------------|----------------------|-------------------|-----------------|-------------------|-----------------|---------|
| 10001 | Person Name | 10001 | Device 1 | AP_A | | 100.64.0.2, 100.64.0.8/29 | fdd7:b724:0:100::/56 | 25 | 5 | 155 | 20 | |
Si utiliza una de nuestras integraciones CRM, este archivo se generará automáticamente. Si no utiliza una integración, puede editar el archivo manualmente utilizando la interfaz de usuario web o editando directamente el archivo ShapedDevices.csv a través de la CLI.
#### Edición manual mediante WebUI
Navegue hasta el WebUI LibreQoS (http://a.b.c.d:9123) y seleccione Configuration > Shaped Devices.
#### Edición manual mediante CLI
- Modifique el archivo ShapedDevices.csv utilizando su editor de hojas de cálculo preferido (LibreOffice Calc, Excel, etc.), siguiendo la plantilla del archivo - ShapedDevices.example.csv
- Se requiere el ID del circuito. Debe ser una cadena de algún tipo (int está bien, se analiza como cadena). NO debe incluir ningún símbolo numérico (#). Cada circuito necesita un CircuitID único, no se pueden reutilizar. Aquí, circuito significa esencialmente la ubicación del cliente. Si un cliente tiene varias ubicaciones en diferentes partes de su red, utilice un CircuitID único para cada una de esas ubicaciones.
- Se requiere al menos una dirección IPv4 o IPv6 para cada entrada.
- El nombre del punto de acceso o del sitio debe configurarse en el campo Nodo principal. El campo Nodo principal puede dejarse en blanco para redes planas.
- El archivo ShapedDevices.csv le permite establecer el ancho de banda mínimo garantizado y máximo permitido por suscriptor.
- Las tarifas mínimas permitidas para los Circuitos son de 2 Mbit. El ancho de banda mínimo y máximo deben estar por encima de ese umbral.
- Recomendación: establezca el ancho de banda mínimo en algo así como 25/10 y el máximo en 1,15 veces la velocidad anunciada en el plan utilizando bandwidthOverheadFactor = 1,15
- De esta manera, cuando un punto de acceso alcanza su límite máximo, los usuarios disponen de la capacidad restante del punto de acceso distribuida de forma equitativa entre ellos.
- Garantizar un ancho de banda mínimo razonable para cada suscriptor, permitiéndoles utilizar hasta el máximo proporcionado cuando la utilización del punto de acceso sea inferior al 100 %.
Nota sobre los SLA: para los clientes con contratos SLA que les garantizan un ancho de banda mínimo, establezca la tarifa de su plan como el ancho de banda mínimo. De esta forma, cuando un punto de acceso se acerque a su límite máximo, los clientes con SLA siempre obtendrán esa cantidad.
![image](https://user-images.githubusercontent.com/22501920/200134960-28709d0f-48fe-4129-b4fd-70b204cade2c.png)
Una vez completada la configuración, ya está listo para ejecutar la aplicación e iniciar los [Deamons](./services-and-run.md)
@@ -1,29 +0,0 @@
# Install LibreQoS 1.5/2.0
## Step 1 - Validate Network Design Assumptions and Hardware Selection
- [Network Design Assumptions](../../Quickstart/networkdesignassumptions.md)
- [System Requirements](../../SystemRequirements/Compute.md)
## Step 2 - Complete The Installation Prerequisites
[LibreQoS Installation Prerequisites](quickstart-prereq.md)
## Step 3 - Install LibreQoS
### Download .DEB Package (Recommended Method)
Donwload the latest .deb from [https://libreqos.io/download/](https://libreqos.io/download/).
Unzip the .zip file and transfer the .deb to your LibreQoS box, installing with:
```
sudo apt install ./deb_file_name.deb
```
### Git Install (For Developers Only - Not Recommended)
[Complex Installation](../TechnicalDocs/git-install.md)
## Step 4 - Configure LibreQoS
You are now ready to [Configure](./configuration.md) LibreQoS!
@@ -1,109 +0,0 @@
# Server Setup - Pre-requisites
Disable hyperthreading on the BIOS/UEFI of your host system. Hyperthreaading is also known as Simultaneous Multi Threading (SMT) on AMD systems. Disabling this is very important for optimal performance of the XDP cpumap filtering and, in turn, throughput and latency.
- Boot, pressing the appropriate key to enter the BIOS settings
- For AMD systems, you will have to navigate the settings to find the "SMT Control" setting. Usually it is under something like ```Advanced -> AMD CBS -> CPU Common Options -> Thread Enablement -> SMT Control``` Once you find it, switch to "Disabled" or "Off"
- For Intel systems, you will also have to navigate the settings to find the "hyperthrading" toggle option. On HP servers it's under ```System Configuration > BIOS/Platform Configuration (RBSU) > Processor Options > Intel (R) Hyperthreading Options.```
- Save changes and reboot
## Install Ubuntu Server
You can download Ubuntu Server 22.04 from <a href="https://releases.ubuntu.com/22.04/?_ga=2.149898549.2084151835.1707729318-1126754318.1683186906">here</a>.
1. Boot Ubuntu Server from USB.
2. Follow the steps to install Ubuntu Server.
3. If you use a Mellanox network card, the Ubuntu Server installer will ask you whether to install the mellanox/intel NIC drivers. Check the box to confirm. This extra driver is important.
4. On the Networking settings step, it is recommended to assign a static IP address to the management network interface.
5. Ensure SSH server is enabled so you can more easily log into the server later.
6. You can use scp or sftp to access files from your LibreQoS server for easier file editing. Here's how to access via scp or sftp using an [Ubuntu](https://www.addictivetips.com/ubuntu-linux-tips/sftp-server-ubuntu/) or [Windows](https://winscp.net/eng/index.php) machine.
### Choose Bridge Type
There are two options for the bridge to pass data through your two interfaces:
- Option A: Regular Linux Bridge
- Option B: Bifrost XDP-Accelerated Bridge
The regular Linux bridge is recommended for Nvidia/Mellanox NICs such as the ConnectX-5 series (which have superior bridge performance), and VM setups using virtualized NICs. The Bifrost Bridge is recommended for Intel NICs with XDP support, such as the X520 and X710.
To use the Bifrost bridge, be sure to enable Bifrost/XDP in lqos.conf in the [Configuration](configuration.md) section.
Below are the instructions to configure Netplan, whether using the Linux Bridge or Bifrost XDP bridge:
## Netplan config
### Option A: Netplan config for a regular Linux bridge
Ubuntu Server uses NetPlan, which uses .yaml files in /etc/netplan to determine interface settings.
Here, we will add a .yaml specifically for LibreQoS - that way it is not overwritten when changes are made to the default .yaml file.
```shell
sudo nano /etc/netplan/libreqos.yaml
```
Assuming your interfaces are ens19 and ens20, here is what your file would look like:
```yaml
network:
ethernets:
ens19:
dhcp4: no
dhcp6: no
ens20:
dhcp4: no
dhcp6: no
bridges:
br0:
interfaces:
- ens19
- ens20
version: 2
```
```{note}
Please be sure to replace ens19 and ens20 in the example above with the correct shaping interfaces. The order of the interfaces does not matter for this section.
```
By setting `dhcp4: no` and `dhcp6: no`, the interfaces will be brought up as part of the normal boot cycle, despite not having IP addresses assigned.
Then run
```shell
sudo chmod 600 /etc/netplan/libreqos.yaml
sudo netplan apply
```
### Option B: Netplan config for the Bifrost XDP bridge
Ubuntu Server uses NetPlan, which uses .yaml files in /etc/netplan to determine interface settings.
Here, we will add a .yaml specifically for LibreQoS - that way it is not overwritten when changes are made to the default .yaml file.
```shell
sudo nano /etc/netplan/libreqos.yaml
```
Assuming your interfaces are ens19 and ens20, here is what your file would look like:
```yaml
network:
ethernets:
ens19:
dhcp4: no
dhcp6: no
ens20:
dhcp4: no
dhcp6: no
version: 2
```
```{note}
Please be sure to replace ens19 and ens20 in the example above with the correct shaping interfaces. The order of the interfaces does not matter for this section.
```
By setting `dhcp4: no` and `dhcp6: no`, the interfaces will be brought up as part of the normal boot cycle, despite not having IP addresses assigned.
Then run
```shell
sudo chmod 600 /etc/netplan/libreqos.yaml
sudo netplan apply
```
@@ -1,70 +0,0 @@
# LibreQoS systemd services
## What each service does
### lqosd
- Manages actual XDP code.
- Coded in Rust.
- Runs the GUI available at http://a.b.c.d:9123
### lqos_scheduler
- lqos_scheduler performs continuous refreshes of LibreQoS' shapers, including pulling from any enabled CRM Integrations (UISP, Splynx, Netzur).
- Actions:
- On start: Run a full setup of queues
- Every X minutes: Update queues, pulling new configuration from CRM integration, if enabled.
- The default minute interval is 30, so the refresh occurs every 30 minutes by default.
- The minute interval is adjustable with the setting `queue_refresh_interval_mins` in `/etc/lqos.conf`.
## Checking service status
```
sudo systemctl status lqosd lqos_scheduler
```
If the status of one of the two services shows 'failed', examine why using journalctl, which shows the full status of the service. For example, if lqosd failed, you would run:
```
sudo journalctl -u lqosd -b
```
Press the End key on the keyboard to take you to the bottom of the log to see the latest updates to that log.
Lqosd will provide specific reasons it failed, such as an interface not being up, an interface lacking multi-queue, or other cocnerns.
## Debugging lqos_scheduler
In the background, lqos_scheduler runs the Python script scheduler.py, which in turn runs the Python script LibreQoS.py
- scheduler.py: performs continuous refreshes of LibreQoS' shapers, including pulling from any enabled CRM Integrations (UISP, Splynx, Netzur).
- LibreQoS.py: creates and updates queues / shaping of devices
One-time runs of these individual components can be very helpful for debugging and to make sure everything is correctly configured.
First, stop lqos_scheduler
```shell
sudo systemctl stop lqos_scheduler
```
For one-time runs of LibreQoS.py, use
```shell
sudo ./LibreQoS.py
```
- To use the debug mode with more verbose output, use:
```shell
sudo ./LibreQoS.py --debug
```
To confirm that lqos_scheduler (scheduler.py) is able to work correctly, run:
```shell
sudo python3 scheduler.py
```
Once you have any errors eliminated, restart lqos_scheduler with
```shell
sudo systemctl start lqos_scheduler
```
-35
View File
@@ -1,35 +0,0 @@
# Share your before and after
We ask that you please share an anonymized screenshot of your LibreQoS deployment before (monitor only mode) and after (queuing enabled) to the [LibreQoS Chat](https://chat.libreqos.io/join/fvu3cerayyaumo377xwvpev6/). This helps us gauge the impact of our software. It also makes us smile.
1. Enable monitor only mode
2. Run for 1 week
3. Disable monitor only mode
4. Toggle "Redact" to hide customer info in the LTS WebUI
5. Screenshot
## Enable monitor only mode
```shell
sudo nano /etc/lqos.conf
```
In the `[queues]` section, set `monitor_only = true` to switch to monitor only mode.
The restart lqosd and lqos_scheduler:
```shell
sudo systemctl restart lqosd lqos_scheduler
```
## Disable monitor only mode
```shell
sudo nano /etc/lqos.conf
```
In the `[queues]` section, set `monitor_only = false` to switch off monitor only mode.
The restart lqosd and lqos_scheduler:
```shell
sudo systemctl restart lqosd lqos_scheduler
```