cách cấu hình bind làm server lưu trữ hoặc chuyển tiếp DNS trên Ubuntu 16.04
DNS, hay Hệ thống domain , thường là một thành phần khó thực hiện khi học cách cấu hình trang web và server . Mặc dù hầu hết mọi người có thể sẽ chọn sử dụng server DNS được cung cấp bởi công ty lưu trữ hoặc công ty đăng ký domain của họ, nhưng có một số lợi thế khi tạo server DNS của bạn .Trong hướng dẫn này, ta sẽ thảo luận về cách cài đặt và cấu hình server DNS Bind9 làm server DNS chuyển tiếp hoặc bộ nhớ đệm trên các máy Ubuntu 16.04. Hai cấu hình này đều có lợi thế khi phục vụ mạng của các máy.
Yêu cầu và Mục tiêu
Để hoàn thành hướng dẫn này, trước tiên bạn cần phải làm quen với một số thuật ngữ DNS phổ biến. Hãy xem hướng dẫn này để tìm hiểu về một số khái niệm mà ta sẽ triển khai trong hướng dẫn này.
Ta sẽ trình bày hai cấu hình riêng biệt để thực hiện các mục tiêu tương tự: bộ nhớ đệm và server DNS chuyển tiếp.
Để làm theo, bạn cần có quyền truy cập vào hai máy tính (ít nhất một trong số đó phải là server Ubuntu 16.04). Một sẽ hoạt động như client và cái kia sẽ được cấu hình làm server DNS. Để đưa server vào trạng thái ban đầu tốt, hãy làm theo hướng dẫn cài đặt server ban đầu Ubuntu 16.04 .
Chi tiết cấu hình ví dụ của ta là:
| Role | Địa chỉ IP | 
|---|---|
| Server DNS | 192.0.2.2 | 
| Khách hàng | 192.0.2.100 | 
Ta sẽ hướng dẫn bạn cách cấu hình client để sử dụng server DNS cho các truy vấn. Ta sẽ hướng dẫn bạn cách cấu hình server DNS theo hai cấu hình khác nhau, tùy thuộc vào nhu cầu của bạn.
Cache DNS Server
Cấu hình đầu tiên sẽ dành cho server DNS trong bộ nhớ đệm . Loại server này còn gọi là trình phân giải vì nó xử lý các truy vấn đệ quy và nói chung có thể xử lý công việc theo dõi dữ liệu DNS từ các server khác.
Khi server DNS lưu vào bộ nhớ đệm theo dõi câu trả lời cho truy vấn của khách hàng, nó sẽ trả về câu trả lời cho client . Nhưng nó cũng lưu trữ câu trả lời trong bộ nhớ cache trong repository ảng thời gian được cho phép bởi giá trị TTL của bản ghi. Sau đó, bộ nhớ đệm được dùng làm nguồn cho các yêu cầu tiếp theo để tăng tốc tổng thời gian khứ hồi.
Hầu hết tất cả các server DNS mà bạn có thể có trong cấu hình mạng của bạn sẽ là các server DNS vào bộ nhớ đệm. Những điều này bù đắp cho việc thiếu các thư viện trình phân giải DNS đầy đủ được triển khai trên hầu hết các client . Server DNS bộ nhớ đệm là một lựa chọn tốt cho nhiều trường hợp. Nếu bạn không muốn dựa vào DNS của ISP hoặc các server DNS công khai khác, thì việc tạo server lưu trong bộ nhớ đệm của bạn là một lựa chọn tốt. Nếu nó ở gần client , nó cũng có khả năng cải thiện thời gian truy vấn DNS.
Server DNS chuyển tiếp
Cấu hình thứ hai mà ta sẽ giới thiệu là một server DNS chuyển tiếp . Server DNS chuyển tiếp sẽ trông gần giống với server bộ nhớ đệm từ góc nhìn của khách hàng, nhưng cơ chế và tải công việc khá khác nhau.
Server DNS chuyển tiếp cung cấp cùng một ưu điểm là duy trì cache để cải thiện thời gian phân giải DNS cho client . Tuy nhiên, nó thực sự không thực hiện truy vấn đệ quy. Thay vào đó, nó chuyển tiếp tất cả các yêu cầu đến một server phân giải bên ngoài và sau đó lưu kết quả vào bộ nhớ cache để sử dụng cho các truy vấn sau này.
Điều này cho phép server chuyển tiếp phản hồi từ bộ nhớ cache của nó, trong khi không yêu cầu nó thực hiện tất cả công việc của các truy vấn đệ quy. Điều này cho phép server chỉ thực hiện các yêu cầu đơn lẻ (yêu cầu client được chuyển tiếp) thay vì phải thực hiện toàn bộ quy trình đệ quy. Đây có thể là một lợi thế trong môi trường mà việc truyền băng thông ra bên ngoài rất tốn kém, nơi các server lưu trong bộ nhớ đệm của bạn có thể cần được thay đổi thường xuyên hoặc khi bạn muốn chuyển tiếp các truy vấn local đến một server và các truy vấn bên ngoài tới một server khác.
Cài đặt Bind trên Server DNS
Dù lựa chọn cấu hình nào bạn muốn sử dụng, bước đầu tiên trong việc triển khai server DNS Bind là cài đặt phần mềm thực tế.
 Phần mềm Bind có sẵn trong repository  lưu trữ mặc định của Ubuntu, vì vậy  ta  chỉ cần cập nhật  index gói  local   của bạn  và cài đặt phần mềm bằng apt .  Ta  cũng sẽ bao gồm tài liệu và một số tiện ích phổ biến:
- sudo apt-get update 
- sudo apt-get install bind9 bind9utils bind9-doc 
Bây giờ các thành phần Bind đã được cài đặt, ta có thể bắt đầu cấu hình server . Server chuyển tiếp sẽ sử dụng cấu hình server bộ nhớ đệm như một điểm khởi đầu, vì vậy, dù mục tiêu cuối cùng của bạn là gì, hãy cấu hình server làm server Cache ẩn trước.
Cấu hình làm Server DNS lưu vào cache
Đầu tiên, ta sẽ giới thiệu cách cấu hình Bind để hoạt động như một server DNS bộ nhớ đệm. Cấu hình này sẽ buộc server tìm kiếm một cách đệ quy câu trả lời từ các server DNS khác khi client đưa ra một truy vấn. Điều này nghĩa là nó đang thực hiện công việc truy vấn lần lượt từng server DNS liên quan cho đến khi tìm thấy toàn bộ phản hồi.
 Các file  cấu hình Bind được giữ theo mặc định trong một folder  tại /etc/bind . Chuyển vào folder  đó ngay bây giờ:
- cd /etc/bind 
 Ta  sẽ không quan tâm đến phần lớn các file  trong folder  này. Tệp cấu hình chính được gọi là named.conf ( named và bind là hai tên cho cùng một ứng dụng).  File  này chỉ đơn giản là lấy nguồn các named.conf.options  file , các named.conf.local  file , và các named.conf.default-zones  file .
 Đối với  server  DNS trong  cache ,  ta  sẽ chỉ sửa đổi file  named.conf.options . Mở phần này trong editor  của bạn với các  quyền  sudo:
- sudo nano named.conf.options 
Với các comment được loại bỏ để dễ đọc, file trông giống như sau:
options {         directory "/var/cache/bind";          dnssec-validation auto;          auth-nxdomain no;    # conform to RFC1035         listen-on-v6 { any; }; }; Để cấu hình bộ nhớ đệm, bước đầu tiên là cài đặt danh sách kiểm soát truy cập, hoặc ACL.
Là một server DNS sẽ được sử dụng để giải quyết các truy vấn đệ quy, ta không muốn server DNS bị lạm dụng bởi những user độc hại. Một cuộc tấn công được gọi là cuộc tấn công khuếch đại DNS đặc biệt rắc rối vì nó có thể khiến server của bạn tham gia vào các cuộc tấn công từ chối dịch vụ phân tán.
Tấn công khuếch đại DNS là một cách mà user độc hại cố gắng đánh sập các server hoặc trang web trên internet. Để làm như vậy, họ cố gắng tìm các server DNS công cộng sẽ giải quyết các truy vấn đệ quy. Chúng giả mạo địa chỉ IP của nạn nhân và gửi một truy vấn sẽ trả về một phản hồi lớn cho server DNS. Khi làm như vậy, server DNS phản hồi một yêu cầu nhỏ với trọng tải lớn hướng đến server nạn nhân, khuếch đại hiệu quả băng thông có sẵn của kẻ tấn công.
Lưu trữ một server DNS đệ quy, công cộng yêu cầu rất nhiều cấu hình và quản trị đặc biệt. Để tránh khả năng server của bạn bị sử dụng cho mục đích xấu, ta sẽ cấu hình danh sách địa chỉ IP hoặc dải mạng mà ta tin tưởng.
 Phía trên khối options ,  ta  sẽ tạo một khối mới có tên là acl . Tạo nhãn cho  group  ACL mà bạn đang  cấu hình . Trong hướng dẫn này,  ta  sẽ gọi  group  là khách hàng tốt .
acl goodclients { };  options {     . . . Trong khối này, hãy liệt kê các địa chỉ IP hoặc mạng được phép sử dụng  server  DNS này. Vì cả  server  và client  của  ta  đều hoạt động trong cùng một mạng con / 24 trong ví dụ của  ta ,  ta  sẽ giới hạn ví dụ cho mạng này. Bạn nên điều chỉnh điều này để bao gồm khách hàng  của bạn  và không có bên ngoài.  Ta  cũng sẽ thêm localhost và localnets sẽ cố gắng thực hiện việc này tự động:
acl goodclients {     192.0.2.0/24;     localhost;     localnets; };  options {     . . . Bây giờ  ta  có ACL của các client  mà  ta  muốn giải quyết yêu cầu,  ta  có thể  cấu hình  các khả năng đó trong khối options . Trong khối này, thêm các dòng sau:
. . .  options {     directory "/var/cache/bind";      recursion yes;     allow-query { goodclients; };     . . .  Ta  đã bật đệ quy một cách rõ ràng, và sau đó  cấu hình  tham số allow-query để sử dụng đặc tả ACL của  ta .  Ta  có thể đã sử dụng một tham số khác, như allow-recursion để tham chiếu  group  ACL của  ta . Nếu hiện tại và đệ quy được bật, allow-recursion sẽ chỉ ra danh sách các client  có thể sử dụng các dịch vụ đệ quy.
 Tuy nhiên, nếu allow-recursion không được đặt, thì Bind sẽ trở lại danh sách allow-query-cache , sau đó là danh sách allow-query và cuối cùng là mặc định chỉ dành localnets và localhost . Vì  ta  đang  cấu hình  một  server  chỉ lưu vào bộ nhớ đệm (nó không có vùng có thẩm quyền riêng và không chuyển tiếp các yêu cầu), danh sách allow-query sẽ luôn chỉ áp dụng cho đệ quy.  Ta  đang sử dụng nó vì nó là cách chung nhất để chỉ định ACL.
Khi bạn thực hiện xong những thay đổi này, hãy lưu file .
Đây thực sự là tất cả những gì cần thiết cho một server DNS bộ nhớ đệm. Nếu bạn quyết định rằng đây là loại server bạn muốn sử dụng, vui lòng bỏ qua để tìm hiểu cách kiểm tra file cấu hình của bạn, khởi động lại dịch vụ và triển khai cấu hình client .
Nếu không, hãy tiếp tục đọc để tìm hiểu cách cài đặt server DNS chuyển tiếp.
Cấu hình làm Server DNS chuyển tiếp
Nếu server DNS chuyển tiếp phù hợp hơn với cơ sở hạ tầng của bạn, ta có thể dễ dàng cài đặt thay thế.
  Ta  sẽ bắt đầu với cấu hình mà  ta  đã bỏ qua trong cấu hình  server  bộ nhớ đệm. Tệp có named.conf.options sẽ giống như sau:
acl goodclients {         192.0.2.0/24;         localhost;         localnets; };  options {         directory "/var/cache/bind";          recursion yes;         allow-query { goodclients; };          dnssec-validation auto;          auth-nxdomain no;    # conform to RFC1035         listen-on-v6 { any; }; }; Ta sẽ sử dụng cùng một danh sách ACL để hạn chế server DNS của ta trong một danh sách khách hàng cụ thể. Tuy nhiên, ta cần thay đổi cấu hình để server không còn cố gắng thực hiện các truy vấn đệ quy nữa.
 Để làm điều này,  ta  không thay đổi recursion thành không.  Server  chuyển tiếp vẫn đang cung cấp các dịch vụ đệ quy bằng cách trả lời các truy vấn cho các vùng mà nó không có thẩm quyền. Thay vào đó,  ta  cần  cài đặt  một danh sách các  server  bộ nhớ đệm để chuyển tiếp các yêu cầu của  ta  tới.
 Điều này sẽ được thực hiện trong khối options {} . Đầu tiên,  ta  tạo một khối bên trong được gọi là bộ forwarders chứa địa chỉ IP của  server  định danh đệ quy mà  ta  muốn chuyển tiếp yêu cầu tới. Trong hướng dẫn của  ta ,  ta  sẽ sử dụng các  server  DNS công cộng của Google ( 8.8.8.8 và 8.8.4.4 ):
. . .  options {         directory "/var/cache/bind";          recursion yes;         allow-query { goodclients; };          forwarders {                 8.8.8.8;                 8.8.4.4;         };         . . . Sau đó,  ta  nên đặt lệnh forward thành “only” vì  server  này sẽ chuyển tiếp tất cả các yêu cầu và không nên cố gắng tự giải quyết các yêu cầu.
Tệp cấu hình sẽ trông như thế này khi bạn hoàn tất:
. . .  options {         directory "/var/cache/bind";          recursion yes;         allow-query { goodclients; };          forwarders {                 8.8.8.8;                 8.8.4.4;         };         forward only;          dnssec-validation auto;          auth-nxdomain no;    # conform to RFC1035         listen-on-v6 { any; }; }; Một thay đổi cuối cùng mà  ta  nên thực hiện là đối với các tham số dnssec . Với cấu hình hiện tại, tùy thuộc vào cấu hình của  server  DNS được chuyển tiếp, bạn có thể thấy một số lỗi giống như thế này trong log :
Jun 25 15:03:29 cache named[2512]: error (chase DS servers) resolving 'in-addr.arpa/DS/IN': 8.8.8.8#53 Jun 25 15:03:29 cache named[2512]: error (no valid DS) resolving '111.111.111.111.in-addr.arpa/PTR/IN': 8.8.4.4#53 Để tránh điều này, hãy thay đổi cài đặt dnssec-validation thành  “yes”  và bật dnssec một cách rõ ràng:
. . .  forward only;  dnssec-enable yes; dnssec-validation yes;  auth-nxdomain no;    # conform to RFC1035 . . . Lưu file khi bạn hoàn tất. Đến đây bạn sẽ có một server DNS chuyển tiếp tại chỗ. Tiếp tục đến phần tiếp theo để xác thực các file cấu hình của bạn và khởi động lại daemon.
Kiểm tra cấu hình của bạn và khởi động lại ràng buộc
Đến đây bạn đã cấu hình server Bind của bạn làm server DNS bộ nhớ đệm hoặc server DNS chuyển tiếp, ta đã sẵn sàng áp dụng các thay đổi của bạn .
Trước khi bắt đầu và khởi động lại server Bind trên hệ thống của bạn , ta nên sử dụng các công cụ đi kèm của Bind để kiểm tra cú pháp của các file cấu hình.
Ta có thể làm điều này một cách dễ dàng bằng lệnh :
- sudo named-checkconf 
Nếu không có lỗi cú pháp nào trong cấu hình của bạn, dấu nhắc shell sẽ trả về ngay lập tức mà không hiển thị bất kỳ kết quả nào.
Nếu bạn có lỗi cú pháp trong file cấu hình của bạn , bạn sẽ được cảnh báo về lỗi và số dòng nơi nó xảy ra. Nếu điều này xảy ra, hãy quay lại và kiểm tra các file của bạn để tìm lỗi.
Khi bạn đã xác minh các file cấu hình của bạn không có bất kỳ lỗi cú pháp nào, hãy khởi động lại daemon Bind để thực hiện các thay đổi :
- sudo systemctl restart bind9 
Nếu bạn đã làm theo hướng dẫn cài đặt server ban đầu, firewall UFW được bật trên server của bạn. Ta cần cho phép lưu lượng DNS đến server của bạn để phản hồi các yêu cầu của khách hàng.
Bật một ngoại lệ đối với policy firewall cho Bind bằng lệnh :
- sudo ufw allow Bind9 
Sau đó, hãy theo dõi log server trong khi bạn cài đặt client của bạn đảm bảo rằng mọi thứ diễn ra suôn sẻ. Để nó chạy trên server :
- sudo journalctl -u bind9 -f 
Bây giờ, hãy mở một cửa sổ terminal mới để cấu hình các client của bạn.
Cấu hình Máy khách
Đến đây bạn đã cài đặt và chạy server của bạn , bạn có thể cấu hình client của bạn để sử dụng server DNS này cho các truy vấn.
Đăng nhập vào client của bạn. Đảm bảo rằng client bạn đang sử dụng đã được chỉ định trong group ACL mà bạn đặt cho server DNS của bạn . Nếu không, server DNS sẽ từ chối phục vụ các yêu cầu cho client .
  Ta  cần chỉnh sửa file  /etc/resolv.conf để trỏ  server  của  ta  đến  server  định danh. Các thay đổi được thực hiện ở đây sẽ chỉ kéo dài cho đến khi khởi động lại, điều này rất tốt để thử nghiệm. Nếu hài lòng với kết quả kiểm tra  của bạn ,  ta  có thể thực hiện những thay đổi này vĩnh viễn.
Mở file với quyền sudo trong editor của bạn:
- sudo nano /etc/resolv.conf 
Tệp sẽ liệt kê các  server  DNS sẽ sử dụng để giải quyết các truy vấn bằng cách  cài đặt  các chỉ thị của nameserver .  Comment  tất cả các mục hiện tại và thêm một dòng nameserver trỏ đến  server  DNS của bạn:
nameserver 192.0.2.2 # nameserver 8.8.4.4 # nameserver 8.8.8.8 # nameserver 209.244.0.3 Lưu và đóng file .
Bây giờ, bạn có thể kiểm tra đảm bảo các truy vấn có thể giải quyết chính xác bằng cách sử dụng một số công cụ phổ biến.
 Bạn có thể sử dụng ping để kiểm tra xem kết nối có thể được thực hiện với các domain :
- ping -c 1 google.com 
OutputPING google.com (173.194.33.1) 56(84) bytes of data. 64 bytes from sea09s01-in-f1.1e100.net (173.194.33.1): icmp_seq=1 ttl=55 time=63.8 ms  --- google.com ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 63.807/63.807/63.807/0.000 ms Điều này  nghĩa là  khách hàng của  ta  có thể kết nối với google.com bằng  server  DNS của  ta .
  Ta  có thể lấy thêm thông tin chi tiết bằng cách sử dụng các công cụ DNS cụ thể như dig . Hãy thử một domain  khác lần này:
- dig linuxfoundation.org 
Output; <<>> DiG 9.9.5-3-Ubuntu <<>> linuxfoundation.org ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 35417 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1  ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;linuxfoundation.org.       IN  A  ;; ANSWER SECTION: linuxfoundation.org.    6017    IN  A   140.211.169.4  ;; Query time: 36 msec ;; SERVER: 192.0.2.2#53(192.0.2.2) ;; WHEN: Wed Jun 25 15:45:57 EDT 2014 ;; MSG SIZE  rcvd: 64 Bạn có thể thấy rằng truy vấn mất 36 mili giây. Nếu ta thực hiện lại yêu cầu, server sẽ lấy dữ liệu từ bộ nhớ cache của nó, làm giảm thời gian phản hồi:
- dig linuxfoundation.org 
Output; <<>> DiG 9.9.5-3-Ubuntu <<>> linuxfoundation.org ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 18275 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1  ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;linuxfoundation.org.       IN  A  ;; ANSWER SECTION: linuxfoundation.org.    6012    IN  A   140.211.169.4  ;; Query time: 1 msec ;; SERVER: 192.0.2.2#53(192.0.2.2) ;; WHEN: Wed Jun 25 15:46:02 EDT 2014 ;; MSG SIZE  rcvd: 64 Như bạn thấy , phản hồi được lưu trong bộ nhớ cache nhanh hơn đáng kể.
  Ta  cũng có thể kiểm tra tra cứu ngược bằng cách sử dụng địa chỉ IP mà  ta  đã tìm thấy ( 140.211.169.4 trong trường hợp của  ta ) với tùy chọn dig's -x :
- dig -x 140.211.169.4 
Output; <<>> DiG 9.9.5-3-Ubuntu <<>> -x 140.211.169.4 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 61516 ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1  ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;4.169.211.140.in-addr.arpa.    IN  PTR  ;; ANSWER SECTION: 4.169.211.140.in-addr.arpa. 3402 IN CNAME   4.0-63.169.211.140.in-addr.arpa. 4.0-63.169.211.140.in-addr.arpa. 998 IN PTR load1a.linux-foundation.org.  ;; Query time: 31 msec ;; SERVER: 192.0.2.2#53(192.0.2.2) ;; WHEN: Wed Jun 25 15:51:23 EDT 2014 ;; MSG SIZE  rcvd: 117 Như bạn thấy, tra cứu ngược cũng thành công.
Quay lại server DNS, bạn sẽ xem có lỗi nào được ghi lại trong quá trình kiểm tra hay không. Một lỗi phổ biến có thể hiển thị như sau:
Output from sudo journalctl -u bind9 -f. . . Jun 25 13:16:22 cache named[2004]: error (network unreachable) resolving 'ns4.apnic.net/A/IN': 2001:dc0:4001:1:0:1836:0:140#53 Jun 25 13:16:22 cache named[2004]: error (network unreachable) resolving 'ns4.apnic.com/A/IN': 2001:503:a83e::2:30#53 Jun 25 13:16:23 cache named[2004]: error (network unreachable) resolving 'sns-pb.isc.org/AAAA/IN': 2001:500:f::1#53 Jun 25 13:16:23 cache named[2004]: error (network unreachable) resolving 'ns3.nic.fr/A/IN': 2a00:d78:0:102:193:176:144:22#53 Những điều này cho biết server đang cố gắng phân giải thông tin IPv6 nhưng server không được cấu hình cho IPv6. Bạn có thể khắc phục sự cố này bằng cách yêu cầu Bind chỉ sử dụng IPv4.
Để làm điều này, ta có thể sửa đổi file đơn vị systemd khởi động Bind9:
- sudo systemctl edit --full bind9 
Bên trong file  xuất hiện, thêm -4 vào cuối dòng ExecStart để hạn chế  server  đối với các yêu cầu IPv4:
[Unit] Description=BIND Domain Name Server Documentation=man:named(8) After=network.target  [Service] ExecStart=/usr/sbin/named -f -u bind -4 ExecReload=/usr/sbin/rndc reload ExecStop=/usr/sbin/rndc stop  [Install] WantedBy=multi-user.target Lưu file khi bạn hoàn tất.
Reload daemon systemd để đọc file đơn vị đã thay đổi vào hệ thống init:
- sudo systemctl daemon-reload 
Khởi động lại dịch vụ Bind9 để áp dụng các thay đổi :
- sudo systemctl restart bind9 
Bạn sẽ không thấy lại những lỗi này trong log .
Đặt Cài đặt DNS Máy khách vĩnh viễn
 Như đã đề cập trước đây, cài đặt /etc/resolv.conf trỏ client  đến  server  DNS của  ta  sẽ không tồn tại sau khi khởi động lại. Để  áp dụng các thay đổi  cuối cùng,  ta  cần sửa đổi các file  được sử dụng để tạo file  này.
 Nếu client  đang chạy Debian hoặc Ubuntu, hãy mở file  /etc/network/interfaces với các  quyền  sudo:
- sudo nano /etc/network/interfaces 
Tìm tham số dns-nameservers . Bạn có thể xóa  các giá trị đã nhập  và thay thế chúng bằng  server  DNS  của bạn  hoặc chỉ cần thêm  server  DNS của bạn làm một trong các tùy chọn:
. . .  iface eth0 inet static         address 192.168.2.100         netmask 255.255.255.0         gateway 192.168.2.1         dns-nameservers 192.0.2.2  . . . Lưu file khi bạn hoàn tất. Lần tới khi bạn khởi động, cài đặt của bạn sẽ được áp dụng.
 Nếu client  đang chạy CentOS hoặc Fedora, bạn cần mở file  /etc/sysconfig/network/network-scripts/ifcfg-eth0 :
- sudo nano /etc/sysconfig/network-scripts/ifcfg-eth0 
Bên trong, hãy tìm các dòng bắt đầu bằng DNS . Thay đổi DNS1 thành  server  DNS của bạn. Nếu bạn không muốn sử dụng các  server  DNS khác làm dự phòng, hãy xóa các mục nhập khác:
. . . DNS1=192.0.2.2 . . . Lưu file khi bạn hoàn tất. Khách hàng của bạn nên sử dụng các cài đặt đó ở lần khởi động tiếp theo.
Kết luận
Đến đây bạn sẽ có server DNS chuyển tiếp hoặc bộ nhớ đệm được cấu hình để phục vụ các client của bạn . Đây có thể là một cách tốt để tăng tốc truy vấn DNS cho các máy bạn đang quản lý.
Các tin liên quan
Cách lưu trữ server chia sẻ tệp bằng Pydio trên Ubuntu 14.042016-04-29
Cách cài đặt và cấu hình Postfix làm server SMTP chỉ gửi trên Ubuntu 16.04
2016-04-29
Cách cài đặt Linux, Apache, MySQL, PHP (LAMP) trên Ubuntu 16.04
2016-04-21
Cách cài đặt Linux, Nginx, MySQL, PHP ( LEMP) trong Ubuntu 16.04
2016-04-21
Cách cài đặt Linux, Nginx, MySQL, PHP ( LEMP) trong Ubuntu 16.04
2016-04-21
Thiết lập server ban đầu với Ubuntu 16.04
2016-04-21
Cách di chuyển một ứng dụng phân tích cú pháp sang server phân tích cú pháp trên Ubuntu 14.04
2016-02-20
Cách sử dụng Ansible và Tinc VPN để bảo mật cơ sở hạ tầng server của bạn
2016-02-18
Cách chạy server phân tích cú pháp trên Ubuntu 14.04
2016-02-03
Cách thiết lập server VNC trên Debian 8
2015-09-29
 

