# Reglas-Rutas-Red

**Primero comprobamos el estado del demonio que configura la red.**

**sudo systemctl status route-rules.service**

root@vader:~# sudo systemctl status route-rules.service  
● route-rules.service - Configurar reglas de enrutamiento  
 Loaded: loaded (/etc/systemd/system/route-rules.service; enabled; vendor preset: enabled)  
 Active: active (exited) since Fri 2024-10-18 19:55:21 CEST; 2s ago  
 Process: 830285 ExecStart=/usr/local/bin/route-rules.sh (code=exited, status=0/SUCCESS)  
 Main PID: 830285 (code=exited, status=0/SUCCESS)  
 CPU: 15ms

oct 18 19:55:21 vader systemd\[1\]: Starting Configurar reglas de enrutamiento...  
oct 18 19:55:21 vader route-rules.sh\[830286\]: RTNETLINK answers: File exists  
oct 18 19:55:21 vader route-rules.sh\[830287\]: RTNETLINK answers: File exists  
oct 18 19:55:21 vader route-rules.sh\[830288\]: RTNETLINK answers: File exists  
oct 18 19:55:21 vader route-rules.sh\[830289\]: RTNETLINK answers: File exists  
oct 18 19:55:21 vader systemd\[1\]: Finished Configurar reglas de enrutamiento.  
root@vader:~#

**Comprobamos la existencia del script.**

 sudo nano /usr/local/bin/route-rules.sh

ls -l /usr/local/bin/route-rules.sh

**Y si existe el script pero el demonio no existe hay que crearlo y activarlo.**

**Modificamos permisos del script.**

sudo chmod +x /usr/local/bin/route-rules.sh

**Creamos el servicio.**

sudo nano /etc/systemd/system/route-rules.service

**Añadimos lo siguiente.**

\[Unit\]  
Description=Configurar reglas de enrutamiento  
After=network.target

\[Service\]  
Type=oneshot  
ExecStart=/usr/local/bin/route-rules.sh  
RemainAfterExit=yes

\[Install\]  
WantedBy=multi-user.target

**Y activamos el servicio e iniciamos el servicio.**

sudo systemctl enable route-rules.service

sudo systemctl start route-rules.service

**Comprobamos que este todo correcto.**

sudo systemctl status route-rules.service

## <span style="color: rgb(224, 62, 45);">**SI NADA FUNCIONA HACED LO SIGUIENTE**</span>

**Editar archivo rt\_tables y añadir las tablas table\_1 y table\_2 al final del archivo.**

nano /etc/iproute/rt\_tables

200 table\_1  
201 table\_2

**Aplicamos rutas a las tablas.**

ip route add 192.168.1.0/24 dev enp7s0 src 192.168.1.13 table table\_1  
ip route add default via 192.168.1.1 dev enp7s0 table table\_1

ip route add 192.168.2.0/24 dev ens6 src 192.168.2.14 table table\_2  
ip route add default via 192.168.2.1 dev ens6 table table\_2

**Aplicamos reglas de enrutamiento**

ip rule add from 192.168.1.0/24 table table\_1  
ip rule add from 192.168.2.0/24 table table\_2

##### **VERIFICAMOS LA CONFIGURACIÓN**

ip rule show  
ip route show table table\_1  
ip route show table table\_2

#### <span style="color: rgb(53, 152, 219);">**Creamos script** </span>

sudo nano /usr/local/bin/route-rules.sh

\#!/bin/bash

\# Rutas para la red 192.168.1.0/24  
ip route add 192.168.1.0/24 dev enp7s0 src 192.168.1.13 table table\_1  
ip route add default via 192.168.1.1 dev enp7s0 table table\_1

\# Rutas para la red 192.168.2.0/24  
ip route add 192.168.2.0/24 dev ens6 src 192.168.2.14 table table\_2  
ip route add default via 192.168.2.1 dev ens6 table table\_2

\# Reglas de enrutamiento basadas en origen  
ip rule add from 192.168.1.0/24 table table\_1  
ip rule add from 192.168.2.0/24 table table\_2

**Modificamos permisos del script.**

sudo chmod +x /usr/local/bin/route-rules.sh

**Creamos el servicio.**

sudo nano /etc/systemd/system/route-rules.service

**Añadimos lo siguiente.**

\[Unit\]  
Description=Configurar reglas de enrutamiento  
After=network.target

\[Service\]  
Type=oneshot  
ExecStart=/usr/local/bin/route-rules.sh  
RemainAfterExit=yes

\[Install\]  
WantedBy=multi-user.target

**Y activamos el servicio e iniciamos el servicio.**

sudo systemctl enable route-rules.service

sudo systemctl start route-rules.service

**Comprobamos que este todo correcto.**

sudo systemctl status route-rules.service