Habilitar Docker Container (RouterOS v7.4beta) en Mikrotik e instalar Pi-Hole

Hola, a continuación les voy a describir unos simples pasos para instalar Docker Container en un CHR de Mikrotik y posteriormente instalar Pi-Hole para tener un servidor DNS local capaz de bloquear publicidad y dominios maliciosos.

Antes de empezar por favor instale el paquete container en su RouterOS el cual puede descargar desde la fuente MikroTik Routers and Wireless – Software

1 – Habilitar el modo contenedor

/system/device-mode/update container=yes

Una vez ejecutado el comando anterior, deben reiniciar el CHR desde el panel de control de su proveedor de hosting, en este caso OVH Cloud antes de que el contador llegue a cero.

Verificación: system/device-mode/print

mode: enterprise
container: yes

2 – Crear red

Agregue la interfaz veth para el contenedor:

/interface/veth/add name=veth1 address=172.17.0.2/16 gateway=172.17.0.1

Cree un puente para contenedores y agréguele veth:

/interface/bridge/add name=dockers
/ip/address/add address=172.17.0.1/16 interface=dockers
/interface/bridge/port add bridge=dockers interface=veth1

Configurar NAT para el tráfico saliente:

/ip/firewall/nat/add chain=srcnat action=masquerade src-address=172.17.0.0/16

3 – Agregar variables de entorno y montajes (opcional)

Crear variables de entorno para contenedor (opcional):

Por favor cambia mysecurepassword por la contraseña que desees antes de ejecutar el código siguiente, esta información es la que utilizaras para ingresar a Pi-Hole una vez termines el proceso de instalación.

/container/envs/add name=pihole_envs key=TZ value="America/Bogota"
/container/envs/add name=pihole_envs key=WEBPASSWORD value="mysecurepassword"
/container/envs/add name=pihole_envs key=DNSMASQ_USER value="root"

Definir montajes (opcional):

/container/mounts/add name=etc_pihole src=disk1/etc dst=/etc/pihole
/container/mounts/add name=dnsmasq_pihole src=disk1/etc-dnsmasq.d dst=/etc/dnsmasq.d

4 – obtener una imagen de una biblioteca externa

Set registry-url (para descargar contenedores desde el registro de Docker) :

/container/config/set registry-url=https://registry-1.docker.io

extraer imagen:

/container/add remote-image=pihole/pihole:latest interface=veth1 root-dir=disk1/pihole mounts=dnsmasq_pihole,etc_pihole envlist=pihole_envs

La imagen se extraerá automáticamente y se extraerá a root-dir, el estado se puede verificar utilizando

/container/print

5 – Iniciar contenedor

Asegúrese de que el contenedor se ha agregado y mediante el uso status=stopped/container/print

/container/start 0

Reenviar puertos a Docker interno

Los puertos se pueden reenviar utilizando dst-nat (donde 192.168.88.1 routers dirección IP):

/ip firewall nat
add action=dst-nat chain=dstnat dst-address=192.168.88.1 dst-port=80 protocol=tcp to-addresses=172.17.0.2 to-ports=80

Para el contenedor Pihole – establecer el servidor DNS en contenedores veth interfaz dirección IP

/ip dns set servers=172.17.0.2

Fuente: Contenedor – RouterOS – Documentación de MikroTik

Last modified: 10 de julio de 2022

Comments

Write a Reply or Comment

Your email address will not be published.