Je vais vous expliquer comment configurer un serveur DNS sous Fedora Linux en
utilisant BIND (Berkeley Internet Name Domain) :
1. Installation des paquets nécessaires :
```bash
sudo dnf install bind bind-utils
```
2. Configuration du fichier principal (/etc/[Link]) :
```bash
options {
directory "/var/named";
listen-on port 53 { [Link]; [Link]/24; };
allow-query { localhost; [Link]/24; };
recursion yes;
dnssec-validation yes;
forwarders { [Link]; [Link]; };
};
zone "[Link]" IN {
type master;
file "[Link]";
allow-update { none; };
};
zone "[Link]" IN {
type master;
file "[Link]";
allow-update { none; };
};
```
3. Création du fichier de zone directe (/var/named/[Link]) :
```bash
$TTL 86400
@ IN SOA [Link]. [Link]. (
2024012601 ; Serial
3600 ; Refresh
1800 ; Retry
604800 ; Expire
86400 ) ; Minimum TTL
@ IN NS [Link].
@ IN A [Link]
ns1 IN A [Link]
www IN A [Link]
mail IN A [Link]
```
4. Création du fichier de zone inverse (/var/named/[Link]) :
```bash
$TTL 86400
@ IN SOA [Link]. [Link]. (
2024012601 ; Serial
3600 ; Refresh
1800 ; Retry
604800 ; Expire
86400 ) ; Minimum TTL
@ IN NS [Link].
10 IN PTR [Link].
20 IN PTR [Link].
30 IN PTR [Link].
```
5. Configuration des permissions :
```bash
sudo chown named:named /var/named/[Link]
sudo chown named:named /var/named/[Link]
sudo chmod 640 /var/named/[Link]
sudo chmod 640 /var/named/[Link]
```
6. Vérification de la configuration :
```bash
named-checkconf /etc/[Link]
named-checkzone [Link] /var/named/[Link]
named-checkzone [Link] /var/named/[Link]
```
7. Configuration du pare-feu :
```bash
sudo firewall-cmd --permanent --add-service=dns
sudo firewall-cmd --reload
```
8. Démarrage et activation du service :
```bash
sudo systemctl start named
sudo systemctl enable named
sudo systemctl status named
```
9. Configuration SELinux :
```bash
sudo setsebool -P named_write_master_zones 1
```
10. Test de la configuration :
```bash
# Test de résolution directe
dig @localhost [Link]
# Test de résolution inverse
dig @localhost -x [Link]
```
11. Configuration des clients DNS :
Éditez /etc/[Link] :
```bash
nameserver [Link] # Adresse IP du serveur DNS
search [Link]
```
Dépannage courant :
1. Vérifiez les logs :
```bash
sudo journalctl -u named
```
2. Vérifiez la connectivité :
```bash
netstat -lnp | grep named
```
3. Test de la résolution DNS :
```bash
nslookup [Link]
dig [Link]
host [Link]
```
Conseils de sécurité :
- Limitez l'accès aux zones DNS autorisées
- Utilisez DNSSEC pour sécuriser vos zones
- Mettez régulièrement à jour BIND
- Surveillez les logs pour détecter les anomalies