Ich kam hier an, als ich nach ähnlichen Informationen suchte und war überrascht, dass viele sagen, es sei in Ordnung, Ihre privaten IP-Adressen zu verlieren. Ich denke, in Bezug auf das Hacken macht es keinen großen Unterschied, ob Sie sich in einem sicheren Netzwerk befinden. DigitalOcean hat jedoch den gesamten lokalen Netzwerkverkehr auf genau den gleichen Kabeln gehabt, wobei jeder wirklich Zugriff auf den Datenverkehr aller anderen hatte (wahrscheinlich mit einem Man-in-the-Middle-Angriff machbar) Informationen geben Ihnen sicherlich einen Schritt näher, um meinen Datenverkehr zu hacken. (Jetzt hat jeder Client sein eigenes reserviertes privates Netzwerk wie bei anderen Cloud-Diensten wie AWS.)
Mit Ihrem eigenen BIND9-Dienst können Sie jedoch problemlos Ihre öffentlichen und privaten IP-Adressen definieren. Dies geschieht mit der view
Funktion, die eine Bedingung enthält. Auf diese Weise können Sie nur dann einen DNS abfragen und eine Antwort zu internen IP-Adressen erhalten, wenn Sie eine Frage zu Ihrer eigenen internen IP-Adresse stellen.
Das Setup erfordert zwei Zonen. Die Auswahl verwendet die match-clients
. Hier ist ein Beispiel für die Einrichtung eines Two-in-One-DNS-Servers mit 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; };
};
};
Hier ist die externe Zone und wir können sehen, dass IPs nicht privat sind
; 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.
In Bezug auf die interne Zone wird zunächst die externe Zone einbezogen, wie dies funktioniert. Wenn Sie also ein interner Computer sind, greifen Sie nur auf die interne Zone zu, sodass Sie weiterhin die Definitionen der externen Zone benötigen, daher der $include
Befehl:
$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
Schließlich müssen Sie sicherstellen, dass jetzt alle Computer diesen DNS und seine Slaves verwenden. Unter der Annahme eines statischen Netzwerks würde dies bedeuten, dass Sie Ihre /etc/network/interfaces
Datei bearbeiten und Ihre DNS-IPs in der nameserver
Option verwenden. Etwas wie das:
iface eth0 inet static
...
nameserver 10.0.0.1 10.0.0.103 ...
Jetzt solltest du fertig sein.