Tôi đến đây khi tôi đang tìm kiếm thông tin tương tự và rất ngạc nhiên khi nhiều người nói rằng thật tốt khi rò rỉ địa chỉ IP riêng tư của bạn. Tôi đoán về việc bị hack, nó không tạo ra sự khác biệt lớn nếu bạn ở trong một mạng an toàn. Tuy nhiên, DigitalOcean đã có tất cả lưu lượng truy cập mạng cục bộ trên cùng một dây cáp với tất cả mọi người thực sự có quyền truy cập vào lưu lượng truy cập của mọi người khác (có thể thực hiện được với cuộc tấn công Man in the Middle.) Nếu bạn chỉ cần có một máy tính trong cùng một trung tâm dữ liệu, sẽ có điều đó thông tin chắc chắn cung cấp cho bạn một bước gần hơn để hack lưu lượng truy cập của tôi. (Bây giờ mỗi khách hàng có mạng riêng dành riêng như với các dịch vụ đám mây khác như AWS.)
Điều đó đang được nói, với dịch vụ BIND9 của riêng bạn, bạn có thể dễ dàng xác định IP công khai và riêng tư của mình. Điều này được thực hiện bằng cách sử dụng view
tính năng, bao gồm một điều kiện. Điều này cho phép bạn truy vấn một DNS và nhận được câu trả lời về IP nội bộ chỉ khi bạn hỏi từ một trong những địa chỉ IP nội bộ của riêng bạn.
Việc thiết lập đòi hỏi hai vùng. Các lựa chọn sử dụng match-clients
. Dưới đây là ví dụ về thiết lập từ máy chủ DNS hai trong một với 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; };
};
};
Đây là khu vực bên ngoài và chúng ta có thể thấy IP không riêng tư
; 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.
Đối với khu vực nội bộ, trước tiên chúng tôi bao gồm khu vực bên ngoài, đó là cách nó hoạt động. tức là nếu bạn là một máy tính nội bộ, bạn chỉ truy cập vào vùng bên trong nên bạn vẫn cần các định nghĩa vùng bên ngoài, do đó $include
lệnh:
$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
Cuối cùng, bạn phải đảm bảo rằng tất cả các máy tính của bạn hiện sử dụng DNS đó và nô lệ của nó. Giả sử một mạng tĩnh, điều đó có nghĩa là chỉnh sửa /etc/network/interfaces
tệp của bạn và sử dụng IP DNS của bạn trong nameserver
tùy chọn. Một cái gì đó như thế này:
iface eth0 inet static
...
nameserver 10.0.0.1 10.0.0.103 ...
Bây giờ bạn nên được thiết lập tất cả.