Actividad – La Red del Dictador: La ley de la censura.

Ya hemos llegado, la democracia se ha convertido en un recuerdo, poco a poco los organismos oficiales han implementado diferentes sistemas de control a la población, primero en las calles, luego en la prensa y televisión y ahora le toca a internet.

Tú anque estas infiltrado en el Incibe, demomento tienes que hacerte pasar por un escoria-censurador. 

Te han encargado hacerel prototipo. Como deberas instalar diferentes tipos de herramientas de control y vigilancia, te han pedido que utilices Docker para ir montando los diferentes servicios.

Lo primero, decidir que podra y que no ver los ciudadanos y asi poder adoctirnar a lo mas jovenes e identificar a los mas adultos para someterlos a una dura vigilancia.

Entregar el README con toda la documentación necesaria para su instalación en Raspberry y Ubuntu. Adjuntar comentarios, instrucciones de uso de las acciones mas comunes con el programa Hole y añadir biblioteca de direcciones. 

1. Instalar Docker

Actualiza el sistema y añade Docker:

sudo apt update && sudo apt upgrade -y
curl -sSL https://get.docker.com | sh
sudo usermod -aG docker $USER

Reinicia para aplicar permisos:

sudo reboot

Comprueba que funciona:

docker run hello-world

⚙️ 2. Crear el volumen y red para Pi-hole

Esto permite que los datos persistan aunque elimines el contenedor.

docker volume create pihole_etc
docker volume create pihole_dnsmasq

🧩 3. Ejecutar Pi-hole con Docker (modo manual)

Puedes hacerlo con un solo comando o con docker-compose.
Empiezo por el comando directo (útil para enseñar):

docker run -d \
    --name pihole \
    --restart=unless-stopped \
    -e TZ="Europe/Madrid" \
    -e WEBPASSWORD="tu_contraseña_segura" \
    -e DNSMASQ_LISTENING=all \
    -v pihole_etc:/etc/pihole \
    -v pihole_dnsmasq:/etc/dnsmasq.d \
    -p 53:53/tcp -p 53:53/udp \
    -p 80:80/tcp \
    --hostname pi-hole \
    --dns=127.0.0.1 --dns=1.1.1.1 \
    pihole/pihole:latest

Después de unos segundos, abre en el navegador:

http://<IP_de_tu_Raspberry>/admin

🧭 4. Configurar IP estática

Tu Raspberry necesita una IP fija, por ejemplo:

sudo nano /etc/dhcpcd.conf

Y añade:

interface eth0 static ip_address=192.168.0.200/24 static routers=192.168.0.1 static domain_name_servers=1.1.1.1

📦 5. (Opcional) Usar Docker Compose

Es mucho más limpio para mantener el servicio.
Crea un archivo docker-compose.yml en /home/pi/pihole:

version: "3"
services:
  pihole:
    container_name: pihole
    image: pihole/pihole:latest
    restart: unless-stopped
    network_mode: "host"
    environment:
      TZ: 'Europe/Madrid'
      WEBPASSWORD: 'tu_contraseña_segura'
    volumes:
      - ./etc-pihole:/etc/pihole
      - ./etc-dnsmasq.d:/etc/dnsmasq.d

Y lánzalo:

docker compose up -d

Usar network_mode: host es muy recomendable en Raspberry, porque simplifica el uso de los puertos 53 y 80 (evitas conflictos con el firewall de Docker).


🌐 6. Configurar el router

Ahora tu Pi-hole está sirviendo DNS en la IP fija (ejemplo: 192.168.0.200).

Entra en tu router y en Configuración WAN o DNS manual, pon:

DNS primario: 192.168.0.200 (ojo las ips mostradas son las de este ejemplo)

DNS secundario: 1.1.1.1

7. Pruebas

Desde cualquier dispositivo en la red:

nslookup google.com

Debería mostrar como servidor DNS tu Pi-hole.
Y desde el panel web (http://192.168.0.200/admin) verás todas las peticiones y bloqueos.



🧠 Preguntas de ejemplo para reflexionar (añadir al Readme.me)

  1. ¿Qué diferencia hay entre cambiar el DNS en un solo dispositivo y hacerlo en el router?
  2. ¿Por qué es importante que la Raspberry tenga una IP fija?
  3. ¿Qué ventajas de privacidad aporta Pi-hole frente a usar DNS públicos?
  4. ¿Qué limitaciones podría tener Pi-hole en una red grande?

LISTAS DE SERVIDORES

Estas se añaden desde la interfaz de Holi o Pi-hole en Group Management → Adlists.

1. General (publicidad y rastreadores):

https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts https://adaway.org/hosts.txt https://v.firebog.net/hosts/Easyprivacy.txt https://v.firebog.net/hosts/Easylist.txt https://v.firebog.net/hosts/AdguardDNS.txt https://v.firebog.net/hosts/Admiral.txt

2. Malware y phishing:

https://v.firebog.net/hosts/Prigent-Malware.txt https://v.firebog.net/hosts/Prigent-Phishing.txt https://mirror.cedia.org.ec/malwaredomains/justdomains https://malware-filter.gitlab.io/malware-filter/urlhaus-filter-hosts.txt

3. SmartTV y telemetría:

https://raw.githubusercontent.com/Perflyst/PiHoleBlocklist/master/SmartTV.txt https://raw.githubusercontent.com/Perflyst/PiHoleBlocklist/master/AmazonFireTV.txt

4. Redes sociales (si quieres bloquearlas):

https://v.firebog.net/hosts/Social.txt

🧩 Listas de permiso (Allowlists)

Estas son útiles para evitar falsos positivos.

https://raw.githubusercontent.com/anudeepND/whitelist/master/domains/whitelist.txt https://raw.githubusercontent.com/StevenBlack/hosts/master/whitelist/whitelist.txt


⚡ Servidores DNS recomendados para Holi

Estos son servidores DNS upstream (los que Holi consulta cuando no tiene la respuesta en caché):

NombreDirección IPv4Privacidad / Seguridad
Cloudflare1.1.1.1 y 1.0.0.1Muy rápido y privado
Quad99.9.9.9Bloquea malware
AdGuard DNS94.140.14.14 y 94.140.15.15Bloqueo de anuncios integrado
OpenDNS208.67.222.222 y 208.67.220.220Filtro parental opcional
Google DNS8.8.8.8 y 8.8.4.4Muy estable, menos privacidad