DNS SEGURO PI-HOLE configurar DNS-Over-HTTPS con Cloudflared

 Instalación del servicio Cloudflare en la Raspberry Pi

Arquitectura armhf (Raspberry Pi de 32 bits)

Aquí estamos descargando el binario precompilado y copiándolo en el directorio para permitir la ejecución por parte del usuario cloudflared. Proceda a ejecutar el binario con el indicador para comprobar que todo funciona:/usr/local/bin/-v

wget https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-arm
sudo mv -f ./cloudflared-linux-arm /usr/local/bin/cloudflared
sudo chmod +x /usr/local/bin/cloudflared
cloudflared -v

Información:

Los usuarios han informado de que la versión actual de cloudflared produce un error de fallo de segmentación en Raspberry Pi Zero W, Model 1B y 2B. Actualmente, no se conoce ninguna solución alternativa.

Arquitectura arm64 (Raspberry Pi de 64 bits)

wget https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-arm64
sudo mv -f ./cloudflared-linux-arm64 /usr/local/bin/cloudflared
sudo chmod +x /usr/local/bin/cloudflared
cloudflared -v

Configuración para ejecutarse al inicio cloudflared

Cree un usuario para ejecutar el demonio:cloudflared

sudo useradd -s /usr/sbin/nologin -r -M cloudflared

Proceda a crear un archivo de configuración para:cloudflared

sudo nano /etc/default/cloudflared

Edite el archivo de configuración copiando lo siguiente en . Este archivo contiene las opciones de línea de comandos que se pasan a cloudflared al inicio:/etc/default/cloudflared

# Commandline args for cloudflared, using Cloudflare DNS
CLOUDFLARED_OPTS=--port 5053 --upstream https://1.1.1.1/dns-query --upstream https://1.0.0.1/dns-query

Actualice los permisos del archivo de configuración y el binario para permitir el acceso del usuario cloudflared:cloudflared

sudo chown cloudflared:cloudflared /etc/default/cloudflared
sudo chown cloudflared:cloudflared /usr/local/bin/cloudflared

A continuación, cree el script copiando lo siguiente en . Esto controlará la ejecución del servicio y permitirá que se ejecute al inicio:systemd/etc/systemd/system/cloudflared.service

sudo nano /etc/systemd/system/cloudflared.service
[Unit]
Description=cloudflared DNS over HTTPS proxy
After=syslog.target network-online.target

[Service]
Type=simple
User=cloudflared
EnvironmentFile=/etc/default/cloudflared
ExecStart=/usr/local/bin/cloudflared proxy-dns $CLOUDFLARED_OPTS
Restart=on-failure
RestartSec=10
KillMode=process

[Install]
WantedBy=multi-user.target

Habilite el servicio para que se ejecute al inicio, inicie el servicio y compruebe su estado:systemd

sudo systemctl enable cloudflared
sudo systemctl start cloudflared
sudo systemctl status cloudflared

¡Ahora prueba que está funcionando! Ejecute el siguiente comando, se debe devolver una respuesta similar a la siguiente:dig

pi@raspberrypi:~ $ dig @127.0.0.1 -p 5053 google.com

; <<>> DiG 9.11.5-P4-5.1-Raspbian <<>> @127.0.0.1 -p 5053 google.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12157
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: 22179adb227cd67b (echoed)
;; QUESTION SECTION:
;google.com.                    IN      A

;; ANSWER SECTION:
google.com.             191     IN      A       172.217.22.14

;; Query time: 0 msec
;; SERVER: 127.0.0.1#5053(127.0.0.1)
;; WHEN: Wed Dec 04 09:29:50 EET 2019
;; MSG SIZE  rcvd: 77

Configuración de Pi-hole

Por último, configure Pi-hole para utilizar el servicio local como servidor DNS ascendente especificando como DNS personalizado (IPv4): 127.0.0.1#5053

Captura de pantalla de la configuración de Pi-hole

(no olvide presionar Retorno o hacer clic en Save)

Si quieres comprobar si funciona correctamente, solo tienes que visitar: https://1.1.1.1/help:

pi-hole cloudflared check

Actualización 

La herramienta no recibirá actualizaciones a través del administrador de paquetes. Sin embargo, debe mantener actualizada la actualización del programa. Puede hacerlo manualmente o a través de un script cron.

El procedimiento de actualización depende de cómo haya configurado el binario.

Si configuraste cloudflared con tus propios archivos de servicio

Si configuró manualmente (escribiendo una unidad systemd usted mismo), para actualizar el binario, simplemente volverá a descargar el binario desde el mismo enlace y repetirá el procedimiento de instalación.

wget https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-arm
sudo systemctl stop cloudflared
sudo mv -f ./cloudflared-linux-arm /usr/local/bin/cloudflared
sudo chmod +x /usr/local/bin/cloudflared
sudo systemctl start cloudflared
cloudflared -v
sudo systemctl status cloudflared

Si configuró cloudflared a través de service install

Si configuró con su comando, puede usar el comando update incorporado.

sudo cloudflared update
sudo systemctl restart cloudflared

Automatización de las actualizaciones de Cloudflared

Si desea que el sistema se actualice automáticamente, simplemente coloque los comandos update para su método de configuración en el archivo y ajustar los permisos: /etc/cron.weekly/cloudflared-updater

sudo chmod +x /etc/cron.weekly/cloudflared-updater
sudo chown root:root /etc/cron.weekly/cloudflared-updater

Advertencia

Asegúrate de agregar shebang al principio de . De lo contrario, el comando no se ejecutaría. #!/bin/bash /etc/cron.weekly/cloudflared-updater

El sistema ahora intentará actualizar el binario cloudflared automáticamente, una vez por semana.

 
 
Fuente:

cloudflared (DoH) – Pi-hole documentation

Configure PiHole usando Docker MacVlan Networks

Descripción general

 

 

Internet está lleno de anuncios estos días y el pihole es una forma fantástica de bloquear todos estos anuncios de forma configurable. No todo el mundo tiene una Raspberry Pi de repuesto, pero algunas personas sí tienen un servidor con Docker instalado.

Esta publicación de blog mostrará algunos trucos realmente interesantes utilizando las redes Macvlan de Docker y las redes Linux para crear una instancia pihole conectada a su red local.

El resultado final será un contenedor acoplable pihole que se ejecutará con una IP dedicada, expuesta a su red local. Esto permitirá que todos los clientes lo utilicen como servidor DNS y habilitará bonitos gráficos de uso y desgloses de clientes en su panel de administración de pihole.

 

 

 

Usaremos el siguiente código:

version: '2'

services:
  pihole:
    container_name: pihole-vlan
    image: pihole/pihole:latest # check the latest version on docker hub.
    hostname: pihole # set an easy hostname to remember
    domainname: exampledomain # your local domain name
    mac_address: de:ad:be:ef:ff:01 # can change or leave this
    cap_add:
      - NET_ADMIN
    networks:
      macvlan: # same as network specified below
        ipv4_address: 192.168.1.3 # the IP of the pihole container
    dns:
      - 127.0.0.1 # use local DNS, since the pihole 
      - 1.1.1.1 # optional fallback DNS
    ports: # expose all pihole ports.
      - 443/tcp
      - 53/tcp
      - 53/udp
      - 67/udp
      - 80/tcp
    volumes: # mount our data volumes.
       - '/Externo/pihole/etc-pihole:/etc/pihole/etc-pihole/:/etc/pihole/'
       - '/Externo/pihole/etc-pihole:/etc/pihole/etc-dnsmasq.d/:/etc/dnsmasq.d/'
       - '/Externo/pihole/etc-pihole:/etc/pihole/backups/:/backups/' # backups explained later
    environment: # set variables for pihole configuration.
      ServerIP: 192.168.1.3 # must match ipv4_address above
      VIRTUAL_HOST: pihole.exampledomain  # Must be hostname + domainname from above
      WEBPASSWORD: "SirGamba"
      TZ: 'Europe/Madrid' # pick your timezone
    restart: unless-stopped

networks:
  macvlan:   # externally created network (later in article)
    external: true
    

Explicación de algunas líneas del archivo acoplable:

  • Configuramos el container_nameimagehostnamecomo de costumbre.
  • Tenemos que especificar una dirección mac para que los enlaces de red funcionen correctamente más adelante.
  • Agregamos la NET_ADMINcapacidad que permite la modificación de interfaces de red en el sistema host.
  • configuramos una estática ipv4_addressen nuestra macvlan0red (usada más adelante): esta es la dirección que será su DNS local para toda su red
  • Configuramos manualmente DNS en el contenedor de host en localhost, para que utilice el solucionador pihole
  • Exponemos todos los puertos pihole.
  • Establecemos algunas variables de entorno obligatorias. IMPORTANTE: asegúrese de que la ServerIPvariable coincida con la dirección IP estática que eligió anteriormente.

Nota: también notarás que hacemos referencia a una red externa llamada macvlan0, en lugar de incluir una sección como esta que define una red en el archivo docker-compose:

networks:
  pihole_network:
    driver: macvlan
    driver_opts:
      parent: eth0
    ipam:
      config:
        - subnet: 10.0.37.9/24
          gateway: 10.0.37.1 
          ip_range: 10.0.37.59/28

Esta sería una solución decente si solo usa un contenedor, pero para un mejor mantenimiento se recomienda crear la red macvlan externamente y simplemente conectar el contenedor configurando

networks:
  macvlan0:
    external: true

Esto asegurará que su red no desaparezca cuando ejecute un archivo docker-compose down, ya que eso interrumpiría los scripts de inicio definidos a continuación.

Crear la red macvlan

Como se mencionó anteriormente, queremos crear la red acoplable manualmente:

docker network create -d macvlan \
    --subnet=10.0.37.9/24 --gateway=10.0.37.1 \
    --ip-range 10.0.37.59/28 \
    -o parent=eth0 \
    --aux-address="myserver=10.0.37.60" \
    macvlan0

Aquí hay una explicación de las banderas :

  • -destablece el driver, que en este caso es macvlan
  • --subnet  dirección de su subred local. Tome la IP de su servidor y agregue la /24bandera para que el rango se establezca de .1  a.254
  • --gatewayes la IP de su enrutador local, para que el contenedor acoplable pueda marcar a Internet
  • -oestablece opciones específicas del controlador. En este caso, le informamos al macvlanconductor que utilice la eth0interfaz principal. Esto debe configurarse en la misma interfaz física que utiliza su servidor para la IP física.
  • --aux-addressdefine una dirección reservada en esta nueva red. Esto garantiza que a ningún contenedor acoplable se le asigne esta IP, ya que provocaría una colisión de red. Debe elegir una dirección que esté dentro del rango de IP de macvlan.
  • --ip-rangees el comando más importante aquí. Consulte a continuación una explicación sobre cómo configurar esto.

Nota: el rango de ip debe ser:

  1. Una subsección de su red local principal (es decir, dentro de la subred). En este caso, el rango de IP es 10.0.37.59/28, que se expande a 10.0.37.49:10.0.37.62
  2. Debería --aux-addressestar presente dentro del rango de IP, por lo que en este caso elegimos 10.0.37.60

Set up a PiHole using Docker MacVlan Networks — Blog :: Ivan Smirnov

Agregar nuevas LISTAS DE BLOQUEO en PI-HOLE

Vamos a ver como ampliar la lista de bloqueo de dominios para así quitarnos publicidad, rastreadores y demás cosas que no nos interesan.

Primero tienes que tener Pi-Hole instalado.

Una vez que ya tenemos Pi-Hole, tenemos que acceder a la siguiente Web, e ir copiando de las listas que hay, las URLs, podemos copiar varias, y pegarlas en el Pi-Hole en el menú: Groups Management – Adlist

https://firebog.net/

En este vídeo lo explicamos detallado:

 

 

Instalar PI-HOLE en Raspberry Pi 4 y configuración

Buenos días, vamos a instalar Pi-Hole en nuestra Raspberry PI o en otro equipo con Linux, en este caso con Raspbian. Para ello vamos a usar los siguientes comandos.

Actualización, en el siguiente enlace te dejo un Script que lo hace todo, solo tienes que descargarlo, pasarlo donde quieres, darle permisos con chmod +x nombrearchivo.sh y ejecutar con ./nombrearchivo.sh

Actualizar nuestro sistema operativo:

apt update
apt upgrade

Instalar Curl si no lo tenemos ya dado que nos hará falta en el siguiente comando:

apt install curl

Ahora ya sí, vamos con la instalación:

curl -sSL https://install.pi-hole.net | bash

Después de seguir el asistente, ejecutamos el siguiente comando para cambiar la contraseña:

pihole -a -p

Con esto ya estaría instalado, ahora puedes acceder por la IP o nombre de tú equipo desde un navegador seguido de /admin

nombre/admin o IP/admin

Listas adicionales

Lista 1 y Lista 2.

✅ ¿Quieres AYUDAR al canal?

🛒 Haz tus compras en AMAZON a través de este enlace

☕ Invítate a un café

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies