Я приехал сюда, когда искал подобную информацию, и был удивлен, что многие говорят, что это нормально - утечка ваших личных IP-адресов. Я думаю, с точки зрения взлома, это не имеет большого значения, если вы находитесь в безопасной сети. Тем не менее, у DigitalOcean весь локальный сетевой трафик передавался по одним и тем же кабелям, и у всех действительно есть доступ ко всем остальным трафикам (вероятно, это возможно при атаке «Человек посередине»). Если вы просто получите компьютер в том же центре обработки данных, имея информация, безусловно, дает вам один шаг ближе к взлому моего трафика. (Теперь каждый клиент имеет свою собственную зарезервированную частную сеть, как и другие облачные сервисы, такие как AWS.)
При этом с помощью собственной службы BIND9 вы можете легко определить свои публичные и частные IP-адреса. Это делается с помощью view
функции, которая включает в себя условную. Это позволяет вам запрашивать один DNS и получать ответ о внутренних IP-адресах, только если вы запрашиваете свой собственный внутренний IP-адрес.
Настройка требует две зоны. Выбор использует match-clients
. Вот пример установки с DNS-сервера Two-in-one с 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; };
};
};
Вот внешняя зона, и мы видим, что IP-адреса не являются частными
; 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.
Что касается внутренней зоны, мы сначала включаем внешнюю зону, как она работает. т. е. если вы внутренний компьютер, вы получаете доступ только к внутренней зоне, поэтому вам все еще нужны определения внешней зоны, поэтому введите $include
команду:
$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
Наконец, вы должны убедиться, что все ваши компьютеры теперь используют этот DNS и его подчиненные. Предполагая статическую сеть, это будет означать редактирование вашего /etc/network/interfaces
файла и использование ваших IP-адресов DNS в nameserver
опции. Что-то вроде этого:
iface eth0 inet static
...
nameserver 10.0.0.1 10.0.0.103 ...
Теперь у вас должно быть все готово.