R04B - Software relevante no enrutamento: Colas QoS, OSPF, VPN

Volver ao curso

Colas QoS

Un dos elementos clave do control dos clientes dun WISP é a xestión da QoS. Con ela podes axustar a velocidade de cada conexión segundo o que teñan contratado.

Desactiva fast path en /ip settings

Para que non se descarten paquetes deberás ecualizar (schedule) as taxas de transferencia co parámetro queue-size=unlimited

Exemplo 1: Configuramos o router N1 para que CPE-A reciba 20 Mbps simétricos cun mínimo de 256 kbps simétricos:

/queue simple
add limit-at=256k/256k max-limit=20M/20M name=CPE-A target=172.16.1.3/32

Exemplo 2: Dous CPEs colgan de N1: CPE-A e CPE-A2 (512 kbps subida, 15 Mbps baixada)

/queue simple
add limit-at=256k/256k max-limit=20M/20M name=CPE-A target=172.16.1.3/32
add limit-at=256k/256k max-limit=512k/15M name=CPE-A target=172.16.1.6/32

Exemplo 3: Limitamos toda a subrede 172.16.1.0/24 a 100 Mbps simétricos:

/queue simple
add limit-at=256k/256k max-limit=100M/100M name=barrioCPE-A target=172.16.1.0/24

Exemplo 4: Limitamos o total da zona a 30 Mbps mediante unha “cola pai”, mantendo nela os clientes do exemplo 2.

/queue simple
add max-limit=30M/30M name=barrio target=""
add limit-at=256k/256k max-limit=20M/20M name=CPE-A parent=barrio target=172.16.1.3/32
add limit-at=256k/256k max-limit=512k/15M name=CPE-A parent=barrio target=172.16.1.6/32

Máis información na wiki de MikroTik.

Tests de ancho de banda

Sabemos o ancho de banda teórico: podémolo fixar mediante colas QoS, ou pode que o índice de modulación MCS sexa o que poña o límite. Ocurrirá que habitualmente o MCS non corresponda coa realidade (sobre todo cando queremos aproveitar todo o ancho de banda.

Exemplo de iperf3. Servidor con IP 10.0.0.1:

iperf3 -s

Cliente con IP 10.0.0.2:

iperf3 -c 10.0.0.1

Lembra, non é o mesmo data rate (velocidade teórica) que throughput (velocidade real). iperf3 permite medir o throughput.

Enrutamento dinámico OSPF

OSPF (Open Shortest Path First) é un protocolo de enrutamento dinámico de estado de enlace. O seu equilibrio entre simplicidade e potencia fai que sexa ideal para redes WISP. Neste caso usaremos OSPFv2 (IPv4) dunha soa área (multiárea sería útil en redes de gran tamaño, ou nas que queiramos facer distincións entre zonas xeográficas).

Tomaremos por caso o nodo N1 da topoloxía obxectivo do curso. Nela, o router N1 debe anunciar a rede 172.16.1.0/24 para que N2 e N3 coñezan a súa existencia.

Distintas instancias para

O parámetro router-id debe ser único a cada router. Por simplicidade, podemos copiar a dirección IP da rede clase A do propio router N1: 10.0.1.1

Configuración MikroTik RouterOS 6.xx para N1:

/routing ospf instance add name=default
/routing ospf instance set [find name="default"] router-id=10.0.1.1
/routing ospf network add network=172.16.1.0/24 area=backbone
/routing ospf network add network=10.0.0.0/16 area=backbone

”Backbone” é o nome da área predeterminada. Usamos OSPF de área única. Multiárea se recomenda a partir de 50 routers.

Configuración MikroTik RouterOS 7.xx para N1:

/routing ospf instance
add name=default router-id=10.0.1.1
/routing ospf area
add instance=default name=backbone-v2
/routing ospf interface-template
add area=backbone-v2 networks=172.16.1.0/24
add area=backbone-v2 networks=10.0.0.0/16

Sintaxe similar (ROS v7.xx):

/routing ospf instance
add disabled=no name=default router-id=10.0.1.1
/routing ospf area
add disabled=no instance=default name=backbone
/routing ospf interface-template
add area=backbone disabled=no interfaces=brNARANJAbackhaultransmisionubiquiti networks=10.0.0.0/16
add area=backbone disabled=no interfaces=brVERDEaccesolastmilemikrotik networks=172.16.1.0/24

Comproba que a rede 172.16.1.0/24 foi rexistrada para publicar rutas:

/routing ospf interface print

Comproba que os veciños che envían as súas redes adxacentes:

/routing ospf neighbor print

Non é necesario publicar as rutas en todas as interfaces (e menos nas WAN). Desactiva o envío e recepción de rutas nas interfaces que non o precisen:

/routing ospf interface set [find name="ether10"] passive=yes
/routing ospf interface set [find name="sfp1"] passive=yes

Máis info na wiki de MikroTik.

En Cisco IOS sería moi similar, tan só habería que adaptar algún parámetro. Neste exemplo usamos para a instancia 1 en lugar de default, para área 0en lugar de backbone

router ospf 1
router-id 10.0.1.1
network 172.16.1.0 0.0.0.255 area 0 
network 10.0.0.0 0.0.255.255 area 0 
passive-interface default #! poñemos todas as interfaces como pasivas
no passive-interface g0/0 #! excepto a que nos interesa

Túneis VPN

Os túneis VPN dan para moito. Temos dúas variantes: site-to-site (conexión WAN para unir sucursais) e point-to-site (a máis típica, para meter un só equipo nunha rede remota). Hai moitísimos sistemas: PPTP, L2TP/IPSEC, SSTP, Zerotier, OpenVPN, Wireguard…

As opcións máis populares actualmente en point-to-site son OpenVPN e Wireguard. Este último ten visos de comerse a todos os demais. A súa simplicidade de configuración, xunto coa decisión de implementalo no kernel Linux a partir da versión 5.6 farán de Wireguard o estándar de facto en VPNs a nivel doméstico e semiprofesional.

Por desgraza non está dispoñible na maioría dos routers. Pódese utilizar en OpenWRT e outros sistemas operativos Linux (de ahí a insistencia en que usedes Raspberry Pi), pero non acaba de chegar ós fabricantes de routers. MikroTik fixo un discreto anuncio de que “acabarían por implementalo”, e Ubiquiti só o soporta en routers equipados con EdgeOS.

Instrucións de instalación en Debian e similares (fonte):

sudo apt update && sudo apt upgrade -y
sudo apt install raspberrypi-kernel-headers libmnl-dev libelf-dev build-essential git -y
git clone https://git.zx2c4.com/WireGuard
cd WireGuard/src
sudo make
sudo make install
sudo systemctl enable wg-quick@wg0

Instrucións de configuración na web de Wireguard. Este titorial é máis claro.


Creado para C2001003 - “Radioenlaces e redes metropolitanas sen fíos” e actualizado para V2101002 por Daniel Ríos Suárez.

Licenciado baixo a Licenza Creative Commons Recoñecemento Compartir igual 4.0

Este curso virtual elaborouse para ser impartido no plan anual de formación do profesorado de FP da Consellería de Cultura, Educación e Ordenación Universitaria, Xunta de Galicia

Quedan fora desta licenza os textos, imaxes, recursos... que manteñen a súa propia licenza, sinalada en cada caso.

Úsanse imaxes e recursos de producción propia, que se publican no Dominio público ou con licenza CC BY-SA, outras de dominio público, con licenza creative commons, GNU... tomados prefentemente de bancos de recursos educativos abertos. Tamén se empregan ---acolléndose ao "Dereito de cita" --- imaxes, e recursos diversos de diferentes páxinas web, e se enlaza a súa licenza ao pé dos propios recursos ou na páxina coa atribución da propiedade intelectual dos ODE empregados, dereitos reservados que manteñen integramente. Se detecta algunha imaxe, recurso... con dereitos reservados, agradecemos nos informe para retirala.


Volver ao curso