Saltar al contenido
sudoquest@root
MikroTik

Direcciones y rutas

El router de un hostal: la dirección de la fibra, DHCP para los huéspedes, reservas, DNS y un 4G de respaldo que entra solo cuando hace falta.

30 min de lectura

El hostal Alba tiene doce habitaciones, una recepción y un hEX en el armario de la escalera. Por ether1 le llega la fibra del operador; por ether3, la red de los huéspedes; en ether5, la recepción con su ordenador y su impresora; y en ether4, un router 4G que el dueño compró «por si un día se cae la fibra». Nadie lo ha configurado. Hoy toca dejarlo todo listo: que el router salga a internet, que los móviles de los huéspedes cojan dirección solos, que la impresora no cambie de dirección cada día y que, si la fibra falla, el hostal siga conectado.

La dirección de la fibra: el cliente DHCP

El router del operador, al otro lado de ether1, da la dirección por DHCP, como el router de casa se la da a tu móvil. Para que el hEX la pida, hay que ponerle un cliente DHCP en ese puerto: IP ▸ DHCP Client ▸ +, con Interface: ether1.

[admin@R-Alba] > /ip dhcp-client add interface=ether1
[admin@R-Alba] > /ip dhcp-client print
Columns: NAME, INTERFACE, USE-PEER-DNS, ADD-DEFAULT-ROUTE, STATUS, ADDRESS
# NAME     INTERFACE  USE-PEER-DNS  ADD  STATUS  ADDRESS
0 client1  ether1     yes           yes  bound   100.64.37.112/24

bound quiere decir que ya la tiene. Con ella llegan tres cosas, y las tres salen con la D de dynamic (las pone el router, no tú):

  • la dirección, en IP ▸ Addresses;
  • la ruta por defecto (la de «todo lo demás, por aquí»), en IP ▸ Routes, porque está marcado Add Default Route;
  • el servidor de DNS del operador, en IP ▸ DNS (Dynamic Servers), porque está marcado Use Peer DNS.

Ejercicio

La fibra da la dirección

El router del hostal Alba aún no sale a internet. El router del operador, en ether1, da la dirección por DHCP: ponle un cliente DHCP en ese puerto y comprueba con un ping a 8.8.8.8 que hay internet.

Encendiendo el router…

Direcciones para los huéspedes: el servidor DHCP

Doce habitaciones, y cada huésped con su móvil, su portátil y su tableta: nadie va a poner direcciones a mano. Para eso está el servidor DHCP. Necesita tres piezas:

  • un pool: el rango de direcciones que puede repartir (IP ▸ Pool);
  • una network: lo que les dice a los equipos además de su dirección (la puerta de enlace, que es el propio router, y el DNS) (IP ▸ DHCP Server ▸ Networks);
  • el servidor, en una interfaz, que usa ese pool (IP ▸ DHCP Server ▸ DHCP).

Lo más cómodo es DHCP Setup (el botón de la pestaña DHCP): pregunta la interfaz y propone lo demás a partir de la dirección que el router ya tiene en ella. Por dentro hace esto mismo:

[admin@R-Alba] > /ip pool add name=huespedes ranges=192.168.10.100-192.168.10.200
[admin@R-Alba] > /ip dhcp-server network add address=192.168.10.0/24 gateway=192.168.10.1 dns-server=192.168.10.1
[admin@R-Alba] > /ip dhcp-server add name=huespedes interface=ether3 address-pool=huespedes

En Leases se ve a quién le ha dado qué. RouterOS reparte de arriba abajo: el primero se lleva la última del pool.

[admin@R-Alba] > /ip dhcp-server lease print
Flags: D - DYNAMIC
Columns: ADDRESS, MAC-ADDRESS, HOST-NAME, SERVER, STATUS, LAST-SEEN
#   ADDRESS         MAC-ADDRESS        HOST-NAME     SERVER     STATUS  LA
0 D 192.168.10.200  02:00:00:00:03:2A  movil-hab-12  huespedes  bound   0s

Ejercicio

DHCP para los huéspedes

La red de los huéspedes (ether3) ya tiene su dirección, 192.168.10.1/24, pero los móviles que se conectan se quedan sin IP. Monta un servidor DHCP en ether3 (DHCP Setup lo hace en un momento) y comprueba que el móvil de la habitación 12 coge dirección.

Encendiendo el router…

Siempre la misma: las reservas

A un móvil le da igual qué dirección tenga. A una impresora, no: los ordenadores la buscan en una dirección concreta, y si cambia, dejan de imprimir. La solución es una reserva: una concesión estática (sin la D) que une una MAC con una dirección.

La forma rápida: en Leases, abrir la de la impresora y pulsar Make Static; después, cambiarle Address a la que quieras. A mano, en la consola:

[admin@R-Alba] > /ip dhcp-server lease add address=192.168.20.30 mac-address=02:00:00:00:05:1E server=recepcion

Ejercicio

La impresora, siempre en la misma

La impresora de recepción coge cada vez una dirección distinta y los ordenadores la pierden. Resérvale la 192.168.20.30: que el servidor DHCP de recepción se la dé siempre a ella.

Encendiendo el router…

Nombres: el DNS del router

Los equipos no se acuerdan de direcciones: preguntan nombres (reservas.example.com) a un servidor de DNS. El router tiene el suyo, en IP ▸ DNS: pregunta a los Servers que le pongas y a los Dynamic Servers que le llegaron por DHCP, y guarda las respuestas.

Para que los equipos de la red le pregunten a él (el DHCP les dice que el DNS es el router), hay que marcar Allow Remote Requests. Y en Static se ponen nombres propios del hostal, que no existen en internet:

[admin@R-Alba] > /ip dns static add name=impresora.hostal address=192.168.20.30
[admin@R-Alba] > :put [:resolve impresora.hostal]
192.168.20.30

Ejercicio

El DNS del hostal

El DHCP de recepción les dice a los equipos que su DNS es el router (192.168.20.1), pero el router no contesta preguntas de la red. Arréglalo, y dale a la impresora (192.168.20.30) un nombre: impresora.hostal. Compruébalo con un ping por nombre.

Encendiendo el router…

Las rutas y la distance

En IP ▸ Routes están todas las rutas del router. Las letras de la primera columna dicen de dónde sale cada una (c, conectada: la red de una dirección del router; d, del cliente DHCP; s, estática, puesta a mano) y si se está usando (A, active).

Para el 4G de respaldo hace falta una dirección en su red y una segunda ruta por defecto por él. ¿Cuál gana, si las dos son 0.0.0.0/0? La de menor distance. La de la fibra tiene 1; si la del 4G tiene 2, solo se usa cuando la de la fibra no puede usarse (por ejemplo, si el cable de la fibra pierde el enlace):

[admin@R-Alba] > /ip route add gateway=192.168.8.1 distance=2 comment="4G respaldo"
[admin@R-Alba] > /ip route print
Flags: D - DYNAMIC; A - ACTIVE; c - CONNECT, s - STATIC, d - DHCP
Columns: DST-ADDRESS, GATEWAY, ROUTING-TABLE, DISTANCE
#     DST-ADDRESS      GATEWAY      ROUTING-TABLE  DISTANCE
DAd 0.0.0.0/0        100.64.37.1  main                  1
;;; 4G respaldo
0   s 0.0.0.0/0        192.168.8.1  main                  2
DAc 100.64.37.0/24   ether1       main                  0
DAc 192.168.8.0/24   ether4       main                  0
DAc 192.168.10.0/24  ether3       main                  0

La del 4G está ahí, sin la A: espera su turno. Las dinámicas no llevan número (no se cambian a mano); las estáticas, sí.

Ejercicio

El 4G de respaldo

Si se cae la fibra, el hostal se queda sin internet. En ether4 hay un router 4G (192.168.8.1). Dale al router una dirección en esa red y una ruta por defecto por el 4G que solo se use si la fibra falla.

Encendiendo el router…

Con luz y sin internet: check-gateway

Si se desenchufa la fibra, el router lo nota (el puerto pierde el enlace) y el 4G entra solo. Pero a veces el router del operador se cuelga: el puerto sigue con enlace, la ruta parece buena… y no pasa nada por ella. Para eso está check-gateway=ping: el router hace ping a la puerta de enlace cada pocos segundos y, si no contesta, deja la ruta inactiva (I). En una ruta del cliente DHCP se pone en el propio cliente (Check Gateway en su ventana):

[admin@R-Alba] > /ip dhcp-client set 0 check-gateway=ping
[admin@R-Alba] > /ip route print
Flags: D - DYNAMIC; I - INACTIVE, A - ACTIVE; c - CONNECT, s - STATIC, d - DHCP
Columns: DST-ADDRESS, GATEWAY, ROUTING-TABLE, DISTANCE
#     DST-ADDRESS      GATEWAY      ROUTING-TABLE  DISTANCE
DId 0.0.0.0/0        100.64.37.1  main                  1
;;; 4G respaldo
0  As 0.0.0.0/0        192.168.8.1  main                  2
DAc 100.64.37.0/24   ether1       main                  0
DAc 192.168.8.0/24   ether4       main                  0
DAc 192.168.10.0/24  ether3       main                  0

Ejercicio

La fibra, con luz y sin internet

El router de la fibra se ha colgado: el puerto sigue con enlace, pero no contesta nada. El 4G de respaldo está puesto… y el hostal sigue sin internet, porque la ruta de la fibra parece buena. Haz que el router se dé cuenta y salga por el 4G.

Encendiendo el router…

Lo del tema, en la consola

Para En Winbox En la consola
Coger la dirección de la fibra IP ▸ DHCP Client ▸ + /ip dhcp-client add interface=ether1
Repartir direcciones IP ▸ DHCP Server ▸ DHCP Setup /ip dhcp-server setup
Ver quién tiene qué IP ▸ DHCP Server ▸ Leases /ip dhcp-server lease print
Reservar una dirección Leases ▸ Make Static /ip dhcp-server lease make-static 0
Que el router conteste DNS IP ▸ DNS ▸ Allow Remote Requests /ip dns set allow-remote-requests=yes
Un nombre propio IP ▸ DNS ▸ Static ▸ + /ip dns static add name=… address=…
Una ruta de respaldo IP ▸ Routes ▸ + (Distance) /ip route add gateway=… distance=2
Notar una puerta colgada Check Gateway: ping check-gateway=ping