Trang chủ » Cài đặt và Cấu hình Dnsmasq trên CentOS 8

Cài đặt và Cấu hình Dnsmasq trên CentOS 8

bởi Vinh Leo
1,1K views
3/5 - (2 bình chọn)

Tìm hiểu về Dnsmasq

Dnsmasq là một trình chuyển tiếp DNS nhẹ, dễ cấu hình, được thiết kế để cung cấp các dịch vụ DNS (và tùy chọn là DHCP và TFTP ) cho một mạng quy mô nhỏ. Nó có thể phục vụ tên của các máy cục bộ không có trong DNS chung.


Dnsmasq chấp nhận các truy vấn DNS và trả lời chúng từ một bộ nhớ cache cục bộ nhỏ hoặc chuyển tiếp chúng đến một máy chủ DNS đệ quy, thực. Nó tải nội dung của / etc / hosts để các tên máy chủ cục bộ không xuất hiện trong DNS chung có thể được giải quyết. Điều này cũng có nghĩa là các bản ghi được thêm vào tệp cục bộ / etc / hosts của bạn có định dạng “0.0.0.0 crazysite.com” có thể được sử dụng để ngăn trình duyệt của bạn giải quyết các tham chiếu đến “crazysite.com”. Điều này có thể nhanh chóng phát triển thành trình chặn quảng cáo cục bộ khi được kết hợp với các nhà cung cấp danh sách trang web chặn quảng cáo . Nếu được thực hiện trên bộ định tuyến, người ta có thể xóa nội dung quảng cáo cho cả hộ gia đình hoặc công ty một cách hiệu quả.

Dnsmasq hỗ trợ các tiêu chuẩn Internet hiện đại như IPv6 và DNSSEC , khởi động mạng với hỗ trợ BOOTP , PXE và TFTP và cả tập lệnh Lua .

Một số nhà cung cấp dịch vụ Internet viết lại các phản hồi NXDOMAIN (miền không tồn tại) từ máy chủ DNS, điều này buộc các trình duyệt web đến trang tìm kiếm bất cứ khi nào người dùng cố gắng duyệt đến một miền không tồn tại. dnsmasq có thể lọc ra các bản ghi NXDOMAIN “không có thật” này, ngăn chặn hành vi có thể không mong muốn này.

Hướng dẫn Cài đặt và Cấu hình Dnsmasq trên CentOS 8

1. Cài đặt Dnsmasq

dnf -y install dnsmasq
[root@dlp ~]# dnf -y install dnsmasq

2. Cấu hình Dnsmasq

vi /etc/dnsmasq.conf
systemctl enable --now dnsmasq
[root@dlp ~]# vi /etc/dnsmasq.conf
# line 19: uncomment
# never forward addresses in the non-routed address spaces
domain-needed
# line 21: uncomment
# query with each server strictly in the order in resolv.conf
bogus-priv
# line 53: uncomment
# query with each server strictly in the order in [resolv.conf]
strict-order
# line 67: add if you need
# query the specific domain name to the specific DNS server
# example below means query [server.education] domain to [10.0.0.10] server
server=/server.education/10.0.0.10
# line 135: uncomment
# add domain name automatically to hostnames
expand-hosts
# line : add your own domain name
domain=srv.world
[root@dlp ~]# systemctl enable --now dnsmasq

3. Đối với các bản ghi DNS, hãy thêm chúng vào [/etc/hosts]
Sau đó, Dnsmasq sẽ trả lời các truy vấn từ các máy khách.

vi /etc/hosts

Khởi đụng lại dịch vụ dnsmasq

systemctl restart dnsmasq
[root@dlp ~]# vi /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
# add records
10.0.0.30   dlp.srv.world dlp 

[root@dlp ~]# systemctl restart dnsmasq

4. Nếu Firewalld đang chạy, hãy cho phép dịch vụ DNS. DNS sử dụng [53/TCP,UDP].

firewall-cmd --add-service=dns --permanent
firewall-cmd --reload
[root@dlp ~]# firewall-cmd --add-service=dns --permanent
success
[root@dlp ~]# firewall-cmd --reload
success

5. Xác minh Tên hoặc phân gải Địa chỉ từ một máy khách trong mạng của bạn.

dnf -y install bind-utils
nmcli connection modify ens2 ipv4.dns 10.0.0.30
nmcli connection down ens2; nmcli connection up ens2
dig dlp.srv.world.
dig -x 10.0.0.30
[root@node01 ~]# dnf -y install bind-utils
# change DNS to Dnsmasq Server (replace [ens2] to your own environment)
[root@node01 ~]# nmcli connection modify ens2 ipv4.dns 10.0.0.30
[root@node01 ~]# nmcli connection down ens2; nmcli connection up ens2
[root@node01 ~]# dig dlp.srv.world.

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-17.P2.el8_0.1 <<>> dlp.srv.world.
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 43384
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;dlp.srv.world.                 IN      A

;; ANSWER SECTION:
dlp.srv.world.          0       IN      A       10.0.0.30

;; Query time: 1 msec
;; SERVER: 10.0.0.30#53(10.0.0.30)
;; WHEN: Thu Oct 02 23:34:54 JST 2019
;; MSG SIZE  rcvd: 58

[root@node01 ~]# dig -x 10.0.0.30

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-17.P2.el8_0.1 <<>> -x 10.0.0.30
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 32941
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;30.0.0.10.in-addr.arpa.                IN      PTR

;; ANSWER SECTION:
30.0.0.10.in-addr.arpa. 0       IN      PTR     dlp.srv.world.

;; Query time: 0 msec
;; SERVER: 10.0.0.30#53(10.0.0.30)
;; WHEN: Thu Oct 03 15:35:36 JST 2019
;; MSG SIZE  rcvd: 78

Chúc các bạn thành công! Mọi thắc mắc, cần hỗ trợ hãy bình luận bên dưới hoặc qua Fanpage Facebook, form liên hệ.

Xem tiếp các bài trong Series Học Centos 8 căn bản

CÓ THỂ BẠN QUAN TÂM

Subscribe
Thông báo cho
guest
0 Góp ý
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x