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 |