Je suis arrivé ici car je cherchais des informations similaires et j'ai été surpris de voir que beaucoup disent qu'il n'y a pas de problème à divulguer ses adresses IP privées. Je suppose qu'en termes de piratage, cela ne fait pas une grande différence si vous êtes sur un réseau sûr. Cependant, DigitalOcean a eu tout le trafic du réseau local sur les mêmes câbles exacts avec tout le monde ayant vraiment accès au trafic de tous les autres (probablement faisable avec une attaque Man in the Middle.) Si vous obtenez juste un ordinateur dans le même centre de données, avoir cette information vous donne certainement un pas plus près de pirater mon trafic. (Maintenant, chaque client a son propre réseau privé réservé comme avec d'autres services en nuage tels que AWS).
Cela dit, avec votre propre service BIND9, vous pouvez facilement définir vos IP publiques et privées. Cela se fait à l'aide de la fonction view
qui comprend une fonction conditionnelle. Cela vous permet d'interroger un DNS et d'obtenir une réponse sur les IP internes uniquement si vous demandez à partir de l'une de vos propres adresses IP internes.
La configuration nécessite deux zones. La sélection utilise le match-clients
. Voici un exemple de configuration de Serveur DNS deux en un avec BIND9 :
acl slaves {
195.234.42.0/24; // XName
193.218.105.144/28; // XName
193.24.212.232/29; // XName
};
acl internals {
127.0.0.0/8;
10.0.0.0/24;
};
view "internal" {
match-clients { internals; };
recursion yes;
zone "example.com" {
type master;
file "/etc/bind/internals/db.example.com";
};
};
view "external" {
match-clients { any; };
recursion no;
zone "example.com" {
type master;
file "/etc/bind/externals/db.example.com";
allow-transfer { slaves; };
};
};
Voici la zone externe et nous pouvons voir que les IPs ne sont pas privées.
; example.com
$TTL 604800
@ IN SOA ns1.example.com. root.example.com. (
2006020201 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800); Negative Cache TTL
;
@ IN NS ns1
IN MX 10 mail
IN A 192.0.2.1
ns1 IN A 192.0.2.1
mail IN A 192.0.2.128 ; We have our mail server somewhere else.
www IN A 192.0.2.1
client1 IN A 192.0.2.201 ; We connect to client1 very often.
Comme pour la zone interne, nous incluons d'abord la zone externe, c'est ainsi que cela fonctionne. Par exemple, si vous êtes un ordinateur interne, vous n'accédez qu'à la zone interne, vous avez donc encore besoin des définitions de la zone externe, d'où l'expression $include
commandement :
$include "/etc/bind/external/db.example.com"
@ IN A 10.0.0.1
boss IN A 10.0.0.100
printer IN A 10.0.0.101
scrtry IN A 10.0.0.102
sip01 IN A 10.0.0.201
lab IN A 10.0.0.103
Enfin, vous devez vous assurer que tous vos ordinateurs utilisent désormais ce DNS et ses esclaves. Dans l'hypothèse d'un réseau statique, cela signifierait modifier votre /etc/network/interfaces
et en utilisant vos adresses IP DNS dans le fichier nameserver
option. Quelque chose comme ça :
iface eth0 inet static
...
nameserver 10.0.0.1 10.0.0.103 ...
Maintenant, vous devriez être prêt.