mirror of
https://github.com/Alkatrazz24/Funk-lab.git
synced 2026-07-08 05:34:43 +02:00
Structure avant : 20 fichiers à plat dans admin/ — difficile à naviguer.
Structure après : 4 sous-répertoires thématiques + index clair.
Réorganisation :
admin/ops/ → cluster.md, ansible.md, systeme.md
admin/infra/ → reseau.md, nfs.md, dnsmasq.md, ssh.md
admin/k8s/ → talos.md, argocd.md, monitoring.md
admin/ia/ → llama_server.md, rocm.md, litellm.md, hermes.md
Suppressions :
- ask-agent.md : contenu fusionné dans ia/hermes.md (section ask-agent)
- lm_studio.md : obsolète (LM Studio remplacé par llama-server)
Mises à jour contenu :
- ia/hermes.md : fusion complète avec ask-agent.md (profils, skills,
SOUL.md, ask-agent CLI, dépannage) — doc unifiée sans redondance
- ops/cluster.md : section GitOps réduite à 2 lignes + lien argocd.md
- incidents.md : tableau de résumé en tête + 4 nouveaux incidents
(Grafana OOMKilled, AlertManager null receiver, llama-server 501,
nftables règle après drop)
- README.md : réécrit — navigation rapide + index par domaine
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
120 lines
2.9 KiB
Markdown
120 lines
2.9 KiB
Markdown
# dnsmasq — DNS local lab.local
|
|
|
|
dnsmasq tourne sur **storage-01** (`192.168.10.1:53`).
|
|
Il répond pour `*.lab.local` et forward le reste vers `8.8.8.8`.
|
|
|
|
---
|
|
|
|
## Statut et logs
|
|
|
|
```bash
|
|
# Statut du service
|
|
ssh s01 "sudo systemctl status dnsmasq"
|
|
|
|
# Logs en temps réel
|
|
ssh s01 "sudo tail -f /var/log/dnsmasq.log"
|
|
|
|
# Logs systemd
|
|
ssh s01 "sudo journalctl -u dnsmasq -f"
|
|
ssh s01 "sudo journalctl -u dnsmasq --since '10 minutes ago'"
|
|
```
|
|
|
|
---
|
|
|
|
## Tester la résolution DNS
|
|
|
|
```bash
|
|
# Depuis le poste perso — tester via storage-01 directement
|
|
dig @192.168.1.200 gpu-01.lab.local +short
|
|
dig @192.168.1.200 storage-01.lab.local +short
|
|
dig @192.168.1.200 google.com +short
|
|
|
|
# Depuis storage-01
|
|
ssh s01 "dig @192.168.10.1 gpu-01.lab.local +short"
|
|
ssh s01 "nslookup gpu-01.lab.local 192.168.10.1"
|
|
|
|
# Depuis gpu-01 (doit utiliser 192.168.10.1 automatiquement)
|
|
ssh g01 "dig gpu-01.lab.local +short"
|
|
ssh g01 "dig storage-01.lab.local +short"
|
|
ssh g01 "dig google.com +short"
|
|
|
|
# Tester un service k8s futur (ex: open-webui)
|
|
dig @192.168.10.1 open-webui.lab.local +short
|
|
```
|
|
|
|
---
|
|
|
|
## Config et rechargement
|
|
|
|
```bash
|
|
# Voir la config actuelle
|
|
ssh s01 "cat /etc/dnsmasq.conf"
|
|
|
|
# Tester la config sans redémarrer
|
|
ssh s01 "sudo dnsmasq --test"
|
|
|
|
# Recharger après modif manuelle
|
|
ssh s01 "sudo systemctl restart dnsmasq"
|
|
|
|
# Via Ansible (idempotent, recommandé)
|
|
cd /mnt/nvme0n1/nvme0n1p3/Projets/lab/ansible
|
|
../.venv/bin/ansible-playbook playbooks/storage-01.yml --tags dnsmasq
|
|
```
|
|
|
|
---
|
|
|
|
## Ajouter une entrée DNS (ex: nouveau service k8s)
|
|
|
|
Modifier `ansible/roles/dnsmasq/defaults/main.yml` :
|
|
```yaml
|
|
dns_cluster_hosts:
|
|
- name: storage-01
|
|
ip: 192.168.10.1
|
|
# ... ajouter ici
|
|
- name: mon-service
|
|
ip: 192.168.10.200 # IP MetalLB
|
|
```
|
|
Puis : `make apply-storage`
|
|
|
|
Pour les services k8s exposés via Traefik/MetalLB, une seule entrée wildcard suffira :
|
|
```
|
|
address=/.lab.local/192.168.10.200
|
|
```
|
|
(à ajouter dans le template quand MetalLB sera en place)
|
|
|
|
---
|
|
|
|
## Problème connu — crash au boot (interface USB ethernet)
|
|
|
|
L'interface cluster `enp6s0f3u2c2` est un adaptateur USB ethernet qui prend plus
|
|
de temps à apparaître que `network.target`. dnsmasq peut démarrer avant qu'elle
|
|
soit disponible et crasher avec `unknown interface enp6s0f3u2c2`.
|
|
|
|
**Fix permanent** : override systemd déployé via Ansible :
|
|
```ini
|
|
# /etc/systemd/system/dnsmasq.service.d/wait-for-network.conf
|
|
[Unit]
|
|
After=network-online.target
|
|
Wants=network-online.target
|
|
```
|
|
|
|
**Fix immédiat** (si dnsmasq est en état `failed` après un reboot) :
|
|
```bash
|
|
sudo systemctl reset-failed dnsmasq
|
|
sudo systemctl start dnsmasq
|
|
```
|
|
|
|
**Symptôme** : les machines du LAN cluster (gpu-01...) ne peuvent plus résoudre
|
|
de noms DNS → `yum makecache` bloque, `nslookup` timeout.
|
|
|
|
---
|
|
|
|
## Vérifier le DNS configuré sur chaque machine
|
|
|
|
```bash
|
|
# storage-01
|
|
ssh s01 "cat /etc/resolv.conf && nmcli dev show enp6s0f3u2c2 | grep DNS"
|
|
|
|
# gpu-01 (doit pointer sur 192.168.10.1)
|
|
ssh g01 "cat /etc/resolv.conf && nmcli dev show enp4s0 | grep DNS"
|
|
```
|