Hướng dẫn cấu hình BIND làm server DNS nội bộ trên Ubuntu 20.04

Lượt xem
Home

Bài viết này sẽ giúp bạn hiểu rõ hơn về cách cấu hình BIND như một server DNS nội bộ để quản lý và phân giải tên miền trong mạng riêng trên Ubuntu 20.04. Những hướng dẫn chi tiết dưới đây của Vietnix sẽ giúp bạn cài đặt, cấu hình BIND hỗ trợ quá trình quản lý tên miền và truy cập internet thuận tiện, hiệu quả hơn.

Yêu cầu để cấu hình BIND làm server DNS nội bộ trên Ubuntu 20.04

Để hoàn thành hướng dẫn này, bạn cần phải đáp ứng đủ những yêu cầu sau đây. Hãy đảm bảo rằng mỗi server nằm trong cùng một datacenter với mạng riêng được kích hoạt:

  • Một server Ubuntu 20.04 mới (ns1) đóng vai trò server DNS chính (Primary DNS server).
  • Một server Ubuntu 20.04 thứ hai (ns2) đóng vai trò là server DNS phụ (Secondary DNS server).
  • Ít nhất một server bổ sung. Hướng dẫn này giả định bạn có hai server bổ sung (client servers). Những client servers này phải được tạo trong cùng một datacenter với các server DNS của bạn.
Yêu cầu để cấu hình BIND làm server DNS nội bộ trên Ubuntu 20.04
Yêu cầu để cấu hình BIND làm server DNS nội bộ trên Ubuntu 20.04

Trên mỗi server này, cấu hình một tài khoản quản trị có đặc quyền sudo và thiết lập tường lửa đi kèm.

Lưu ý: Để quá trình cấu hình và thiết lập các yếu tố trên server diễn ra thuận lợi, bạn sẽ cần một máy chủ linh hoạt với toàn quyền điều hành. Do đó sử dụng VPS sẽ là lựa chọn tối ưu nhất.

Hiện tại Vietnix đang là nhà cung cấp VPS tốc độ cao, ổn định và uy tín được nhiều người tin dùng tại thị trường Việt Nam hiện nay. Với đa dạng gói cấu hình cùng mức giá và quyền quản trị ở mức cao nhất, các gói VPS tại Vietnix có thể đáp ứng mọi nhu cầu sử dụng của người dùng hiện nay. Liên hệ ngay với Vietnix để nhận tư vấn gói cấu hình tối ưu nhất theo nhu cầu và ngân sách của bạn cũng như nhận ngay bộ công cụ trị giá tới 26.000.000 VND/Năm.

Ví dụ về cơ sở hạ tầng và mục tiêu của hướng dẫn

Bài hướng dẫn này sẽ giả định những yếu tố sau:

  • Bạn có hai server sẽ được chỉ định làm server tên miền DNS. Trong hướng dẫn này chúng sẽ được gọi dưới tên là ns1 ns2.
  • Bạn có hai client servers bổ sung sẽ sử dụng cơ sở hạ tầng DNS mà bạn tạo ra, được gọi là host1host2. Bạn cũng có thể thêm bao nhiêu client server tùy ý.
  • Tất cả các server này tồn tại trong cùng một datacenter là nyc3.
  • Tất cả các server này đã được bật mạng riêng và đang nằm trên subnet 10.128.0.0/16 (bạn sẽ có thể phải điều chỉnh điều này cho các server của mình).
  • Tất cả các server đều được kết nối với một dự án chạy trên example.com. Hướng dẫn này chỉ ra cách thiết lập một hệ thống DNS nội bộ, riêng tư nên bạn có thể sử dụng bất kỳ tên miền nào khác. Các server DNS luôn ưu tiên định tuyến yêu cầu bên trong, có nghĩa là chúng sẽ không cố gắng kết nối đến miền được chỉ định trên internet công cộng. Tuy nhiên, sử dụng một tên miền bạn sở hữu có thể giúp tránh xung đột với các miền được định tuyến công cộng.

Với những giả định trên, các ví dụ trong hướng dẫn này sẽ sử dụng một lược đồ đặt tên dựa trên subdomain nyc3.example.com để tham chiếu đến subnet riêng hoặc zone. Do đó, tên miền đầy đủ của host1 trên mạng riêng sẽ là host1.nyc3.example.com. Bảng sau chứa các chi tiết liên quan được sử dụng trong các ví dụ thuộc toàn bộ hướng dẫn này:

HostRolePrivate FQDNIP Address
ns1Primary DNS Serverns1.nyc3.example.com10.128.10.11
ns2Secondary DNS Serverns2.nyc3.example.com10.128.20.12
host1Generic Host 1host1.nyc3.example.com10.128.100.101
host2Generic Host 2host2.nyc3.example.com10.128.200.102
Bảng hướng dẫn chi tiết

Chú ý: Bạn có thể thay thế dữ liệu thành tên server và địa chỉ IP riêng của mình. Đồng thời cũng không nhất thiết phải sử dụng tên lược đồ làm tên zone của datacenter. Bài viết quy định như vậy chỉ để thể hiện rằng các server này thuộc mạng riêng của một datacenter cụ thể. Nếu server trong nhiều datacenter, bạn có thể thiết lập một DNS nội bộ cho mỗi datacenter tương ứng.

Khi kết thúc hướng dẫn này, bạn sẽ có một server DNS chính là ns1 và một server phụ ns2 (đóng vai trò như server dự phòng).

Ngoài ra, để không bị nhầm lẫn lệnh giữa các server, bài viết này sẽ quy định mã màu như sau:

Bất kỳ lệnh nào chạy trên ns1 sẽ có nền màu xanh lam:

ns1$

Tương tự, bất kỳ lệnh nào chạy trên ns2 sẽ có nền màu đỏ:

ns2$

Lệnh nào chạy trên một trong các client servers sẽ có nền màu xanh lá:

$

Cuối cùng, bất kỳ lệnh nào chạy trên nhiều servers sẽ có nền màu xanh navy:

$

Cuối cùng, hãy nhớ rằng bất kỳ khi nào một lệnh hoặc code block chứa văn bản được làm nổi bật như thế này thì đây là văn bản quan trọng. Chúng sẽ đánh dấu các chi tiết cần phải thay thế bằng cài đặt của riêng bạn hoặc văn bản được đó cần được sửa đổi hoặc thêm vào tệp cấu hình. Giả sử, văn bản host1.nyc3.example.com sẽ cần được thay thế bằng FQDN server của riêng bạn.

Bây giờ, hãy bắt đầu bằng cách cài đặt BIND trên cả server DNS chính và server DNS phụ của bạn, ns1 và ns2.

Bước 1: Cài đặt BIND trên server DNS

Trên cả hai server DNS (ns1 ns2), hãy cập nhật gói apt bằng cách:

sudo apt update

Sau đó hãy cài đặt BIND vào mỗi server:

Sudo apt install bind9 bind9utils bind9-doc

Hãy thiết lập BIND sang chế độ IPv4. Trên cả hai server, hãy chỉnh sửa tệp cài đặt mặc định named bằng trình chỉnh sửa văn bản. Ví dụ sau sử dụng nano:

sudo nano /etc/default/named

Thêm -4 vào cuối của dòng OPTIONS:

OPTIONS="-u bind -4"

Lưu và thoát khi bạn đã hoàn tất. Nếu sử dụng nano, bạn có thể ấn tổ hợp phím CTRL + X, YENTER

Khởi động lại BIND để áp dụng các thay đổi:

sudo systemctl restart bind9

Bây giờ, BIND đã được cài đặt thành công, hãy chuyển sang bước 2.

Bước 2: Hiệu chỉnh server DNS chính

Cấu hình của BIND bao gồm nhiều tệp như tệp cấu hình chính và named.conf. Tên các tệp này bắt đầu bằng named vì đó là tên của tiến trình mà BIND chạy (với named được rút gọn từ “name daemon”, như trong “domain name daemon”). Bạn sẽ bắt đầu bằng cách cấu hình tệp named.conf.options.

Cấu hình tệp Options

Trên server ns1, mở file named.conf.options:

sudo nano /etc/bind/named.conf.options

Ở trên khối options, hãy tạo mới một khối ACL với tên trusted. Đây là nơi bạn sẽ định nghĩa danh sách máy khách, từ đó cho phép các truy vấn đệ quy DNS (tức là các server của bạn nằm trong cùng datacenter với ns1). Để thêm ns1, ns2, host1host2 vào danh sách máy khách được tin tưởng, thực hiện lệnh dưới đây. Lưu ý thay thế những địa chỉ IP riêng trong ví dụ bằng địa chỉ của bạn.

acl "trusted" {
        10.128.10.11;    # ns1 
        10.128.20.12;    # ns2
        10.128.100.101;  # host1
        10.128.200.102;  # host2
};

options {

        . . .

Bây giờ bạn đã có danh sách server DNS tin cậy, giờ thì hãy chỉnh sửa khối options:

        . . .
};

options {
        directory "/var/cache/bind";
        . . .
}

Bên dưới directory, thêm các dòng cấu hình được làm nổi bật (và thay thế địa chỉ IP riêng của ns1 thích hợp):

        . . .

};

options {
        directory "/var/cache/bind";
        
        recursion yes;                 # enables recursive queries
        allow-recursion { trusted; };  # allows recursive queries from "trusted" clients
        listen-on { 10.128.10.11; };   # ns1 private IP address - listen on private network only
        allow-transfer { none; };      # disable zone transfers by default

        forwarders {
                8.8.8.8;
                8.8.4.4;
        };

        . . .
};

Lưu ý rằng khối forwarders sẽ bao gồm hai địa chỉ IP: 8.8.8.88.8.4.4. Khối này xác định forwarders, một cơ chế đặc biệt mà BIND sử dụng để giảm lưu lượng liên kết tới các server bên ngoài. BIND cũng có thể sử dụng forwarders để cho phép các truy vấn bởi các server không có truy cập trực tiếp vào internet. Điều này có thể giúp tăng tốc độ phản hồi cho các truy vấn.

Hai địa chỉ IP trong khối này đại diện cho Public DNS Server của Google, nhưng địa chỉ IP của bất kỳ Public DNS Server nào khác cũng có thể hoạt động ở đây. Ví dụ, bạn có thể sử dụng địa chỉ IP của server DNS của Cloudflare (1.1.1.1) để thay thế.

Sau khi hoàn thành, lưu và đóng tệp named.conf.options. Lúc này, những server của riêng bạn (server trusted) mới có thể truy vấn tới server DNS. Tiếp theo, bạn sẽ chỉ định các DNS zone của mình bằng cách cấu hình tệp named.conf.local.

Cấu hình tệp Local

Trong ns1, mở tệp named.conf.local để chỉnh sửa:

sudo nano /etc/bind/named.conf.local

Ngoại trừ một vài comments, tệp này sẽ trống. Ở đây bạn sẽ chỉ định các forward zones và reverse zones của mình. Các DNS zone chỉ định phạm vi cụ thể để dễ quản lí và xác định các bản ghi DNS. Vì tất cả các tên miền ví dụ trong hướng dẫn này đều nằm trong phân vùng con nyc3.example.com, nên bạn sẽ sử dụng nó để làm forward zone. Địa chỉ IP riêng của các server trong ví dụ này đều nằm trong IP 10.128.0.0/16, ví dụ sau sẽ thiết lập một reverse zone để bạn có thể xác định đảo ngược trong phạm vi đó.

Thêm forward zone với các dòng sau, hãy nhớ thay thế tên zone thành của bạn và địa chỉ IP riêng của server DNS thứ cấp trong allow-transfer:

zone "nyc3.example.com" {
    type primary;
    file "/etc/bind/zones/db.nyc3.example.com"; # zone file path
    allow-transfer { 10.128.20.12; };           # ns2 private IP address - secondary
};

Giả sử subnet riêng của bạn là 10.128.0.0/16, hãy thêm reverse zone bằng các dòng sau (lưu ý rằng tên reverse zone của bạn bắt đầu bằng 128.10 là sự đảo ngược của octet 10.128):

    . . .
};

zone "128.10.in-addr.arpa" {
    type primary;
    file "/etc/bind/zones/db.10.128";  # 10.128.0.0/16 subnet
    allow-transfer { 10.128.20.12; };  # ns2 private IP address - secondary
};

Nếu các server của bạn trải dài trên nhiều subnet riêng nhưng lại nằm trong cùng một datacenter, hãy đảm bảo chỉ định thêm một zone và zone file cho mỗi subnet riêng biệt. Khi bạn đã thêm tất cả các zone mong muốn, hãy lưu và đóng tệp named.conf.local.

Bây giờ khi các zones đã được chỉ định trong BIND, bạn cần tạo các reverse zone files và forward zone files tương ứng.

Khởi tạo forward zone file

Forward zone file là nơi bạn xác định các bản ghi DNS để tra cứu DNS chuyển tiếp. Tức là, khi DNS nhận được một truy vấn tên, ví dụ như host1.nyc3.example.com, nó sẽ tìm kiếm trong forward zone file để phản hồi địa chỉ IP riêng tương ứng của host1.

Tạo một thư mục nơi chứa các zone file. Theo như tệp cấu hình named.conf.local, ví trí của zone file sẽ là /etc/bind/zones:

sudo mkdir /etc/bind/zones

Bạn sẽ dựa trên forward zone file tại mẫu db.local. Sao chép nó đến vị trí đúng bằng các lệnh sau:

sudo cp /etc/bind/db.local /etc/bind/zones/db.nyc3.example.com

Tiếp đến, hãy chỉnh sửa forward zone file:

sudo nano /etc/bind/zones/db.nyc3.example.com

Nó sẽ chứa những thông tin như sau:

$TTL    604800
@       IN      SOA     localhost. root.localhost. (
                              2         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
@       IN      NS      localhost.      ; delete this line
@       IN      A       127.0.0.1       ; delete this line
@       IN      AAAA    ::1             ; delete this line

Đầu tiên, bạn hãy chỉnh sửa bản ghi SOA. Thay localhost đầu tiên bằng FQDN của ns1, sau đó thay root.localhost bằng admin.nyc3.example.com. Mỗi khi chỉnh sửa một zone file, bạn cần tăng giá trị Serial trước khi khởi động lại quá trình named. Ở đây, tăng nó lên 3:

. . .
;
$TTL    604800
@       IN      SOA     ns1.nyc3.example.com. admin.nyc3.example.com. (
                              3         ; Serial

                              . . .

Tiếp theo, xóa 3 bản ghi ở cuối tệp (sau bản ghi SOA). Nếu bạn không chắc chắn xóa những dòng nào thì hãy tìm bằng chú thích ‘delete this line’.

Ở cuối tệp, thêm các bản ghi server với các dòng sau (thay tên bằng tên của bạn). Lưu ý rằng cột thứ hai chỉ định rằng đây là các bản ghi NS:

. . .

; name servers - NS records
    IN      NS      ns1.nyc3.example.com.
    IN      NS      ns2.nyc3.example.com.

Bây giờ, thêm các bản ghi A cho các server thuộc về zone này. Điều này bao gồm bất kỳ server nào có tên kết thúc bằng nyc3.example.com (thay tên và địa chỉ IP riêng). Thực hiện thêm các bản ghi A cho ns1, ns2, host1host2 như sau:

. . .

; name servers - A records
ns1.nyc3.example.com.          IN      A       10.128.10.11
ns2.nyc3.example.com.          IN      A       10.128.20.12

; 10.128.0.0/16 - A records
host1.nyc3.example.com.        IN      A      10.128.100.101
host2.nyc3.example.com.        IN      A      10.128.200.102

Forward zone file cuối cùng của bạn sẽ chứa nội dung sau:

$TTL    604800
@       IN      SOA     ns1.nyc3.example.com. admin.nyc3.example.com. (
                  3     ; Serial
             604800     ; Refresh
              86400     ; Retry
            2419200     ; Expire
             604800 )   ; Negative Cache TTL
;
; name servers - NS records
     IN      NS      ns1.nyc3.example.com.
     IN      NS      ns2.nyc3.example.com.

; name servers - A records
ns1.nyc3.example.com.          IN      A       10.128.10.11
ns2.nyc3.example.com.          IN      A       10.128.20.12

; 10.128.0.0/16 - A records
host1.nyc3.example.com.        IN      A      10.128.100.101
host2.nyc3.example.com.        IN      A      10.128.200.102

Lưu và đóng tệp db.nyc3.example.com. Sau đó hãy chuyển sang bước tiếp theo.

Khởi tạo reverse zone file

Reverse zone files là nơi bạn xác định các bản ghi DNS PTR để tra cứu các DNS ngược. Đó là, khi DNS nhận được một truy vấn bằng địa chỉ IP, ví dụ như 10.128.100.101, nó sẽ tìm kiếm trong các reverse zone files để phản hồi FQDN tương ứng, trong trường hợp này là host1.nyc3.example.com.

Trên ns1, với mỗi reverse zone files được chỉ định trong tệp named.conf.local, hãy tạo một reverse zone file. Bạn sẽ dựa trên reverse zone file mẫu db.127 để tạo các tệp khác. BIND sử dụng tệp này để lưu trữ thông tin cho giao diện loopback cục bộ; 127 là octet đầu tiên của địa chỉ IP đại diện cho localhost (127.0.0.1). Sao chép tệp này vào vị trí đúng với các lệnh sau (thay thế tên tệp đích để phù hợp với định nghĩa reverse zone của bạn):

sudo cp /etc/bind/db.127 /etc/bind/zones/db.10.128

Chỉnh sửa reverse zone file tương ứng với các reverse zones được xác định trong tệp named.conf.local:

sudo nano /etc/bind/zones/db.10.128

Ban đầu, tệp sẽ chứa nội dung như sau:

$TTL    604800
@       IN      SOA     localhost. root.localhost. (
                              1         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
@       IN      NS      localhost.      ; delete this line
1.0.0   IN      PTR     localhost.      ; delete this line

Tương tự như forward zone file, bạn sẽ phải chỉnh sửa bản ghi SOA và tăng giá trị số phiên bản (serial):

@       IN      SOA     ns1.nyc3.example.com. admin.nyc3.example.com. (
                              3         ; Serial

                              . . .

Bây giờ hãy xóa hai bản ghi ở cuối tệp (sau bản ghi SOA). Nếu không chắc chắn dòng nào cần được xóa, hãy chú ý tới những dòng đánh dấu bởi “Delete this line“.

Ở cuối tệp, thêm các bản ghi server bằng các dòng sau (thay thế bằng tên của riêng bạn). Lưu ý rằng cột thứ hai chỉ ra rằng đây là các bản ghi NS:

. . .

; name servers - NS records
      IN      NS      ns1.nyc3.example.com.
      IN      NS      ns2.nyc3.example.com.

Tiếp theo, thêm các bản ghi PTR cho tất cả các server có địa chỉ IP trên subnet của zone file đang chỉnh sửa. Trong phạm vi bài viết này sẽ bao gồm tất cả các server vì chúng đều ở trong subnet 10.128.0.0/16. Lưu ý rằng cột đầu tiên bao gồm hai octet cuối cùng của địa chỉ IP riêng của server theo thứ tự đảo ngược. Hãy đảm bảo thay thế các tên và địa chỉ IP riêng để phù hợp với server của bạn:

. . .

; PTR Records
11.10   IN      PTR     ns1.nyc3.example.com.    ; 10.128.10.11
12.20   IN      PTR     ns2.nyc3.example.com.    ; 10.128.20.12
101.100 IN      PTR     host1.nyc3.example.com.  ; 10.128.100.101
102.200 IN      PTR     host2.nyc3.example.com.  ; 10.128.200.102

Reverse zone file cuối cùng của bạn sẽ chứa nội dung sau:

$TTL    604800
@       IN      SOA     nyc3.example.com. admin.nyc3.example.com. (
                                                  3         ; Serial
                                        604800         ; Refresh
                                          86400         ; Retry
                                     2419200         ; Expire
                                       604800 )       ; Negative Cache TTL
; name servers
      IN      NS      ns1.nyc3.example.com.
      IN      NS      ns2.nyc3.example.com.

; PTR Records
11.10   IN      PTR     ns1.nyc3.example.com.    ; 10.128.10.11
12.20   IN      PTR     ns2.nyc3.example.com.    ; 10.128.20.12
101.100 IN      PTR     host1.nyc3.example.com.  ; 10.128.100.101
102.200 IN      PTR     host2.nyc3.example.com.  ; 10.128.200.102

Lưu và đóng reverse zone file (lặp lại phần này nếu bạn cần thêm reverse zone file). Bạn đã hoàn tất chỉnh sửa tệp của mình, tiếp theo bạn có thể kiểm tra các tệp của mình để tìm lỗi.

Kiểm tra cú pháp cấu hình BIND

Chạy câu lệnh sau để kiểm tra cú pháp của tệp named.conf*:

sudo named-checkconf

Nếu tệp cấu hình của bạn không có lỗi cú pháp, sẽ không có bất kỳ thông báo lỗi nào xuất hiện và bạn sẽ trở lại dấu nhắc shell. Nếu có vấn đề với tệp cấu hình, hãy xem lại thông báo lỗi và phần Configure Primary DNS Server, sau đó thử lại lệnh named-checkconf.

Lệnh named-checkzone có thể được sử dụng để kiểm tra tính chính xác của các zone file. Đối số đầu tiên chỉ định tên zone, và đối số thứ hai chỉ định zone file tương ứng, hai đối số này đều được xác định trong tệp named.conf.local.

Ví dụ, để kiểm tra cấu hình forward zone nyc3.example.com, hãy chạy lệnh sau (thay đổi tên để phù hợp với forward zone và tệp của bạn):

sudo named-checkzone nyc3.example.com /etc/bind/zones/db.nyc3.example.com
Output
zone nyc3.example.com/IN: loaded serial 3
OK

Để kiểm tra cấu hình reverse zone 128.10.in-addr.arpa, hãy chạy lệnh sau (thay đổi số để phù hợp với reverse zone và tệp của bạn):

sudo named-checkzone 128.10.in-addr.arpa /etc/bind/zones/db.10.128

Khi tất cả các tệp cấu hình và vùng không có lỗi, bạn đã sẵn sàng để khởi động lại dịch vụ BIND.

Khởi động lại BIND

Để khởi động lại BIND, thực hiện lệnh sau:

sudo systemctl restart bind9

Nếu bạn đã cấu hình tường lửa UFW, hãy mở truy cập đến BIND bằng cách nhập lệnh:

sudo ufw allow Bind9

Server DNS chính của bạn đã sẵn sàng để phản hồi lại truy vấn DNS. Hãy chuyển sang bước tiếp theo để hiệu chỉnh server DNS thứ cấp.

Bước 3: Cấu hình server DNS thứ cấp

Trong hầu hết các môi trường, việc thiết lập một server DNS phụ sẽ hỗ trợ phản hồi các yêu cầu nếu server chính không khả dụng. Thêm vào đó, quá trình định cấu hình server DNS phụ đơn giản hơn nhiều so với việc thiết lập server chính.

Trên ns2, chỉnh sửa tệp named.conf.options

sudo nano /etc/bind/named.conf.options

Phía trên cùng của tệp, thêm ACL với địa chỉ IP riêng của tất cả server tin cậy:

acl "trusted" {
        10.128.10.11;   # ns1
        10.128.20.12;   # ns2 
        10.128.100.101;  # host1
        10.128.200.102;  # host2
};

options {

Phía dưới directory, thêm dòng bên dưới:

    . . .

        recursion yes;
        allow-recursion { trusted; };
        listen-on { 10.128.20.12; };      # ns2 private IP address
        allow-transfer { none; };          # disable zone transfers by default

        forwarders {
                8.8.8.8;
                8.8.4.4;
        };

    . . .

Lưu và đóng tệp named.conf.options. Tệp này phải giống với tệp named.conf.options của ns1 trừ khi nó được cấu hình để nghe trên địa chỉ IP riêng của ns2.

Bây giờ hãy chỉnh sửa tệp named.conf.local:

sudo nano /etc/bind/named.conf.local

Xác định các zone phụ tương ứng với các zone trên server DNS chính. Lưu ý rằng với loại slave, tệp sẽ không chứa đường dẫn và có một lệnh masters sẽ được đặt thành địa chỉ IP riêng của server DNS chính. Nếu bạn đã xác định nhiều reverse zone trong server DNS chính, hãy đảm bảo thêm tất cả chúng vào đây:

zone "nyc3.example.com" {
    type slave;
    file "db.nyc3.example.com";
    masters { 10.128.10.11; };  # ns1 private IP
};

zone "128.10.in-addr.arpa" {
    type slave;
    file "db.10.128";
    masters { 10.128.10.11; };  # ns1 private IP
};

Lưu ý: Vietnix sẽ tránh các thuật ngữ như “master” và “slave” bất cứ khi nào có thể vì chúng mang lại ý nghĩa khá tiêu cực. Trong các phiên bản BIND gần đây hơn, bạn có thể sử dụng primaries thay vì masterssecondary thay vì slave. Tuy nhiên, phiên bản BIND được cài đặt từ repositories Ubuntu 20.04 mặc định sẽ không nhận ra các tuỳ chọn này, nghĩa là bạn phải sử dụng thuật ngữ cũ trừ khi nâng cấp lên phiên bản cao hơn.

Bây giờ hãy lưu và đóng tệp named.conf.local.

Chạy câu lệnh sau để kiểm tra tính hợp lệ của tệp cấu hình:

sudo named-checkconf

Nếu không có bất cứ lỗi này, hãy khởi động lại BIND:

sudo systemctl restart bind9<br>

Cuối cùng, hãy cho phép các kết nối DNS đến server bằng cách thay đổi tường lửa UFW:

sudo ufw allow Bind9

Bước tiếp theo bạn phải cấu hình các clients server để sử dụng các server DNS riêng của bạn.

Bước 4: Hiệu chỉnh DNS Clients

Trước khi tất cả các server trong danh sách ACL đáng tin cậy có thể truy vấn tới server DNS của bạn, bạn sẽ cần thực hiện cấu hình mỗi server để sử dụng ns1 và ns2 với vai trò name server.

Giả sử các server khách đang chạy Ubuntu, bạn sẽ cần biết được thiết bị nào đang liên kết với mạng riêng của mình. Bạn có thể thực hiện điều này bằng cách truy vấn subnet riêng tư với lệnh ip address. Chạy lệnh sau trên mỗi máy khách của bạn, thay thế subnet bằng mạng của riêng bạn:

ip address show to 10.128.0.0/16
Output
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    inet 10.128.100.101/16 brd 10.128.255.255 scope global eth1
           valid_lft forever preferred_lft forever

Trong ví dụ này, interface riêng tư là eth1. Bạn có thể thay đổi thành interface riêng tư tương ứng trên các server của riêng bạn.

Trên Ubuntu 20.04, mạng được cấu hình với Netplan, một bản tính năng trừu tượng cho phép bạn viết chuẩn hoá cấu hình mạng và áp dụng nó cho phần mềm mạng backend tương thích. Để cấu hình DNS, bạn cần viết một tệp cấu hình Netplan.

Tạo một tệp mới trong /etc/netplan gọi là 00-private-nameservers.yaml:

sudo nano /etc/netplan/00-private-nameservers.yaml

Bên trong tệp cấu hình Netplan, thêm nội dung sau. Bạn sẽ cần sửa đổi interface của mạng riêng, các địa chỉ của server DNS ns1ns2 và khu vực DNS:

Lưu ý: Netplan sử dụng định dạng chuỗi dữ liệu YAML cho các tệp cấu hình. Do YAML sử dụng lùi đầu dòng và khoảng trắng để xác định cấu trúc dữ liệu của nó, vì vậy hãy đảm bảo rằng định nghĩa của bạn sử dụng lùi đầu dòng nhất quán để tránh lỗi. Bạn có thể khắc phục sự cố tệp YAML của mình bằng cách sử dụng một trình kiểm tra YAML như YAML Lint.

network:
    version: 2
    ethernets:
        eth1:                                    # Private network interface
            nameservers:
                addresses:
                - 10.128.10.11                # Private IP for ns1
                - 10.132.20.12                # Private IP for ns2
                search: [ nyc3.example.com ]    # DNS zone

Lưu và đóng tệp khi bạn hoàn tất.

Tiếp theo, cho Netplan sử dụng tệp cấu hình mới bằng cách sử dụng lệnh netplan try. Nếu có vấn đề gây mất kết nối mạng, Netplan sẽ tự động hoàn tác các thay đổi sau một khoảng thời gian chờ đợi:

sudo netplan try
Output
Warning: Stopping systemd-networkd.service, but it can still be activated by:
  systemd-networkd.socket
Do you want to keep these settings?


Press ENTER before the timeout to accept the new configuration


Changes will revert in 120 seconds

Nhấn ENTER để chấp nhận cấu hình mới.

Bây giờ, kiểm tra resolver DNS của hệ thống để xác định liệu cấu hình DNS của bạn đã được áp dụng hay chưa bằng cách chạy lệnh sau:

sudo systemd-resolve --status

Kéo xuống cho đến khi bạn tìm thấy phần interface mạng riêng của mạng. Địa chỉ IP riêng của các server DNS sẽ được liệt kê đầu tiên, tiếp theo là một số giá trị dự phòng. Tên miền của sẽ được liệt kê ở sau DNS Domain:

Output
. . .
Link 3 (eth1)
      Current Scopes: DNS
       LLMNR setting: yes
MulticastDNS setting: no
      DNSSEC setting: no
    DNSSEC supported: no
         DNS Servers: 10.128.10.11
                      10.128.20.12
                      67.207.67.2
                      67.207.67.3
          DNS Domain: nyc3.example.com
. . .

Bây giờ, máy khách Ubuntu của bạn đã được hiệu chỉnh để sử dụng server DNS nội bộ.

Bước 5: Kiểm tra thử Clients

Sử dụng lệnh nslookup để kiểm tra xem các máy khách của bạn có thể truy vấn tới server hay không. Bạn nên thực hiện điều này trên tất cả các máy khách mà bạn đã cấu hình và nằm trong danh sách ACL được tin tưởng.

Bây giờ, hãy bắt đầu bằng một truy vấn chuyển tiếp.

Tra cứu chuyển tiếp

Để thực hiên tra cứu chuyển tiếp nhằm lấy địa chỉ IP của host1.nyc3.example.com, bạn có thể chạy lệnh sau:

nslookup host1

Khi truy vấn tên host1, DNS sẽ tự mở rộng thành host1.nyc3.example.com vì tuỳ chọn tìm kiếm (Search option) đã được đặt thành tên miền riêng của bạn và các DNS sẽ cố gắng tìm kiếm tên miền đó trước khi tìm kiếm host trên các nơi khác. Lệnh sẽ trả về kết quả như sau:

Output
Server:     127.0.0.53
Address:    127.0.0.53#53

Non-authoritative answer:
Name:   host1.nyc3.example.com
Address: 10.128.100.101

Tiếp theo bạn có thể thực hiện kiểm thử tra cứu ngược.

Tra cứu ngược

Để kiểm thử tra cứu ngược, hãy truy vấn server DNS với địa chỉ IP riêng của host1:

nslookup 10.128.100.101

Bạn sẽ nhận được kết quả như sau:

Output
11.10.128.10.in-addr.arpa   name = host1.nyc3.example.com.

Authoritative answers can be found from:

Nếu tất cả các tên và địa chỉ IP resolve đều đúng giá trị, điều đó có nghĩa các zone file của bạn đã được cấu hình đúng. Nếu bạn không may gặp lỗi, hãy xem lại các zone file trên server DNS chính (ví dụ như db.nyc3.example.comdb.10.128)
Bước cuối cùng, hãy tìm hiểu cách duy trì các bản ghi zone của bạn.

Bước 6: Duy trì bản ghi DNS

Bây giờ khi đã có một DNS nội bộ hoạt động, bạn cần duy trì các bản ghi DNS để phản ánh chính xác môi trường server của bạn.

Thêm Host vào DNS

Bất cứ khi nào muốn thêm một server vào môi trường của mình (trong cùng một datacenter), bạn sẽ phải thêm nó vào DNS. Đây là danh sách các bước mà bạn cần thực hiện:

Server chính

  • Forward zone file: Thêm A record cho server mới, tăng giá trị của Serial.
  • Reverse zone file: Thêm PTR record cho server mới, tăng giá trị của Serial.
  • Thêm địa chỉ IP riêng của server mới vào ACL đáng tin cậy (named.conf.options)

Để kiểm tra các tệp cấu hình:

sudo named-checkconf
sudo named-checkzone nyc3.example.com /etc/bind/zones/db.nyc3.example.com
sudo named-checkzone 128.10.in-addr.arpa /etc/bind/zones/db.10.128

Tải lại BIND:

sudo systemctl reload bind9

Bây giờ server chính của bạn đã được cấu hình cho host mới.

Server phụ

Hãy thêm địa chỉ IP riêng của server mới vào mục trusted ACL trong tệp named.conf.options.

Kiểm tra cú pháp tệp cấu hình:

Sudo named-checkconf

Sau đó hãy tải lại BIND:

Sudo systemctl reload bind9

Bây giờ server phụ của bạn đã chấp nhận kết nối từ host mới.

Cấu hình server mới để sử dụng DNS của bạn bằng cách:

  • Hiệu chỉnh /etc/resolv.conf
  • Kiểm thử bằng lệnh nslookup

Xoá host khỏi DNS

Nếu bạn muốn loại bỏ một host khỏi môi trường hoặc chỉ muốn loại nó khỏi DNS, chỉ cần loại bỏ tất cả những gì đã được thêm khi bạn thêm host vào DNS (tức là ngược lại với các bước trước đó).

Lời kết

Sau khi đã cấu hình DNS nội bộ xong, hãy đảm bảo rằng các máy chủ DNS của bạn được bảo trì đúng cách. Nếu cả hai máy chủ trở nên không khả dụng, các dịch vụ và ứng dụng của bạn phụ thuộc vào chúng cũng sẽ ngừng hoạt động. Chúc bạn thực hiện cấu hình thành công và đừng quên theo dõi những bài viết hướng dẫn tiếp theo của Vietnix nhé.

Chia sẻ lên

Theo dõi trên

Logo Google new

Đánh giá

5/5 - (180 bình chọn)

Hưng Nguyễn

Kết nối với mình qua

Icon Quote
Icon Quote
Đăng ký nhận tin
Để không bỏ sót bất kỳ tin tức hoặc chương trình khuyến mãi từ Vietnix

Bình luận

Theo dõi
Thông báo của
guest
0 Comments
Phản hồi nội tuyến
Xem tất cả bình luận

Chỉ số tăng trưởng

Điểm Desktop

100 (+39)

Điểm Mobile

100 (+67)

Core Web Vitals

Passed

Lĩnh vực

Ecommerce

Chỉ số tăng trưởng

Điểm Desktop

99 (+28)

Điểm Mobile

100 (+50)

Core Web Vitals

Passed

Lĩnh vực

SEO

Chỉ số tăng trưởng

Điểm Desktop

99 (+26)

Điểm Mobile

98 (+59)

Core Web Vitals

Passed

Lĩnh vực

Ecommerce

Chỉ số tăng trưởng

Điểm Desktop

100 (+8)

Điểm Mobile

98 (+35)

Core Web Vitals

Passed

Lĩnh vực

Giáo Dục

Chỉ số tăng trưởng

Điểm Desktop

100 (+61)

Điểm Mobile

100 (+61)

Core Web Vitals

Passed

Lĩnh vực

Giáo Dục

Võ Thiên Tòng

25 Tháng 2 lúc 21:09

·

Mình muốn gửi lời cảm ơn chân thành đến Team Vietnix, anh Hưng Nguyễn, anh Vietnix Trung, em Quốc Huy đã hỗ trợ tối ưu Page Speed Insight (PSI) cho website vanvoiminhhoa.vn của mình.
Biết đến anh Hưng đã lâu nhưng chưa có duyên sử dụng dịch vụ bên anh. Tình cờ thấy được bài Post của anh về việc hỗ trợ tối ưu PSI miễn phí chỉ với vài Slot, thấy AE cmt khá nhiều nên cũng không nghĩ tới lượt mình. Hôm sau đánh liều inbox 1 phen xem sao thì may mắn được đưa vào danh sách. Vài ngày sau được Team Vietnix liên hệ và hỗ trợ.
Kết quả đạt được:
• Điểm xanh lè xanh lét
• Tốc độ tải trang nhanh hơn hẳn
• Các chỉ số cũng được cải thiện đáng kể
• Và mình tin rằng với việc PSI được cải thiện cũng thúc đẩy những thứ khác đi lên theo!
Mình thực sự hài lòng với dịch vụ của Vietnix và muốn giới thiệu đến tất cả mọi người:
• Dịch vụ Wordpress Hosting: Tốc độ nhanh, ổn định, bảo mật cao, hỗ trợ kỹ thuật 24/7. (https://vietnix.vn/wordpress-hosting/)
• Dịch vụ Business Hosting: Dung lượng lớn, phù hợp cho website có lượng truy cập cao, tích hợp nhiều tính năng cao cấp. (https://vietnix.vn/business-hosting/)
Đặc biệt, Vietnix đang có chương trình ưu đãi:
• Giảm giá 20% trọn đời khi nhập code THIENTONG_PAGESPEED tại trang thanh toán (Chu kỳ 12 tháng trở lên)
• Tặng 1 lần tối ưu điểm Page Speed Insight cho 1 website
Cám ơn Vietnix một lần nữa!
#Vietnix #Vanvoiminhhoa #Pagespeedinsight
Trước khi tối ưu
Sau khi tối ưu
Thiện Nguyễn - CEO SEO Dạo

5 Tháng 3 lúc 16:21

·

CORE WEB VITAL YẾU TỐ XẾP HẠNG TÌM KIẾM SEO
Core Web Vitals là một tập hợp các chỉ số đo lường hiệu suất của trang web từ góc độ người dùng, được Google sử dụng để đánh giá trải nghiệm người dùng trên các trang web. Các chỉ số chính bao gồm:
– Largest contentful paint (LCP): Tốc độ render của page. Mục tiêu là dưới 2,5 giây.
– First input delay (FID): Tốc độ phản hồi của website với tương tác của người dùng. Mục tiêu là dưới 100ms.
– Cumulative Layout Shift (CLS): Độ ổn định của bố cục trang. Mục tiêu là dưới 0.1.
Tất cả các chỉ số này đo lường các khía cạnh quan trọng của trải nghiệm người dùng trên trang web. Google đã công bố rằng từ tháng 5 năm 2021, các Core Web Vitals sẽ được sử dụng làm một trong các yếu tố đánh giá trong việc xếp hạng trang web trên kết quả tìm kiếm. Do đó, hiểu và cải thiện các Core Web Vitals là rất quan trọng đối với SEO.
Tóm lại, Core Web Vitals không chỉ giúp cải thiện hiệu suất và xếp hạng trang web trên công cụ tìm kiếm, mà còn cải thiện trải nghiệm của người dùng khi họ truy cập và tương tác với trang website.
P/s: mình đang có gói hỗ trợ đặc biệt cho anh em tối ưu tốc độ bên VIETNIX:
– Giảm 20% lifetime dịch vụ Hosting Business và Hosting Wordpress chu kỳ 12 tháng trở lên.
– Tặng 1 lần tối ưu điểm Page Speed Insight cho 1 website.
Anh em có nhu cầu đăng ký qua bạn Vietnix Trung này nhé và nhập mã SEODAO_PAGESPEED để được ưu đãi nhé.😁
Trước khi tối ưu
Sau khi tối ưu SEO Dạo
Icharm review

5 Tháng 3 lúc 15:43

·

[Mình vừa được hỗ trợ tối ưu page speed website]
Trước khi được tối ưu, web của mình điểm rất thấp, đặc biệt là mobile chỉ có 39. Cơ duyên thế nào lúc lướt face lại va phải chương trình tối ưu pagespeed bên Vietnix.
Sau khi được Trần Hoàng Phúc và team Vietnix hỗ trợ nhiệt tình, điểm web vọt lên 98 99 (như hình bên dưới). Dùng thử web thì thấy quá là mượt, 10 điểm cho team Vietnix.
Nói thật thì mình thật sự ấn tượng về sự nhiệt huyết, tận tâm và rất chuyên nghiệp bên Vietnix.
Anh em có nhu cầu về hosting hay có vấn đề về website như:
1. Web load chậm
2. Khách rời web vì đợi tải nội dung, hình ảnh lâu
3. Hay tất tần tật mọi thứ về website
THÌ LIÊN HỆ NGAY VIETNIX NHÉ!
Và đừng quên dùng pass “ICHARM_PAGESPEED” để được giảm 20% trọn đời hosting business và wp hosting. Quả code này còn được tặng 1 lần tối ưu pagespeed nữa nhé, ưu đãi chắc cũng phải nhất nhì thị trường luôn.
Trước khi tối ưu
Sau khi tối ưu
Hoàng Nguyễn

29 Tháng 2 lúc 17:04

·

Xin chào mọi người! Vừa rồi mình có sử dụng dịch vụ tối ưu website, tăng tốc độ tải trang pagespeed của Vietnix kết quả trên cả tuyệt vời nên mình viết bài này để chia sẻ thông tin với các bạn.
Lý do mình chọn dịch vụ tối ưu tốc độ website của Vietnix:
✅ Đội ngũ chuyên gia giàu kinh nghiệm: Đã tối ưu thành công cho hàng nghìn website trong nhiều lĩnh vực khác nhau. Các bạn nhân viên rất thân thiện, nhiệt tình và chủ động trong quá trình làm việc để cập nhật tiến độ.
✅ Quy trình chuyên nghiệp:
– Kiểm tra và phân tích: Vietnix sử dụng các công cụ tiên tiến để kiểm tra và phân tích tốc độ website của bạn.
– Xác định nguyên nhân: Vietnix xác định nguyên nhân khiến website tải chậm và đưa ra giải pháp tối ưu phù hợp.
– Tối ưu hóa website: Vietnix áp dụng các kỹ thuật tối ưu tiên tiến nhất để tăng tốc độ tải trang.
– Báo cáo kết quả: Vietnix cung cấp báo cáo chi tiết về kết quả tối ưu hóa website.
Công nghệ tiên tiến: Vietnix sử dụng các công nghệ tối ưu mới nhất như LiteSpeed, LSCache, Memcached, Redis, v.v.
✅ Cam kết kết quả: Vietnix cam kết tăng tốc độ website của bạn lên tối thiểu 90%.
✅ Giá cả cạnh tranh: Vietnix cung cấp dịch vụ tối ưu tốc độ website với mức giá cạnh tranh nhất trên thị trường.
📣 Để đăng ký sử dụng dịch vụ tối ưu tốc độ website và các dịch vụ khác như hosting, vps, domain… các bạn có thể đăng ký tại https://portal.vietnix.vn/aff.php?aff=57 hoặc Inbox cho sếp Vietnix Trung nhé.
Các bạn có thể kiểm tra tốc độ trang của mình https://lasan.edu.vn hoặc một vài trang khác đã sử dụng dịch vụ của Vietnix như sau:
https://pagespeed.web.dev/…/https…/v8beqewyt2…
https://pagespeed.web.dev/…/https…/etiohjvtl4…
https://pagespeed.web.dev/…/https…/yczuqpw6d1…
https://pagespeed.web.dev/…/https…/xf9y65kuzk…
https://pagespeed.web.dev/…/https…/fdrsms15en…
https://pagespeed.web.dev/…/https…/s7p9cgzeri…
Trước khi tối ưu
Sau khi tối ưu
Dũng cá xinh

30 Tháng 1 lúc 19:09

·

[Đỉnh]
Em có dùng hosting, vps, cloud vps, cloud server, dedicated server của rất nhiều bên từ trong nước đến nước ngoài để hosting khoảng 2,000+ domain. Mỗi bên đều có ưu nhược khác nhau, nhưng có 1 số bên đặc biệt “bá đạo”, trong đó có: Vietnix!!!!

Lần đầu tiên em được cả CEO Hưng Nguyễn lẫn Master về dev Vietnix Trung của 1 đơn vị hàng đầu liên quan đến Hosting, Server support từ A – Z (từ Zalo, Tele, đến FB và cả Phone)

Em có khá nhiều web dạng Big Data (bài, ảnh, database, data) lên đến hàng trăm Gb. Càng to thì nó càng có nhiều vấn đề về phần phản hồi ban đầu (nhược điểm cố hữu của php wordpress so với nativejs, reactjs, html, headless,…), và anh em Vietnix có nhã ý hỗ trợ xử lý phần Speed Insight này.

Kết quả thực sự kinh ngạc, từ cách trao đổi đến xử lý vấn đề, cut off những cái cần cut off, xử lý rất sâu vấn đề và gợi ý rất nhiều ý tưởng optimize hệ thống!!!! Thực sự quá hài lòng về kết quả cũng như cách tương tác của các đầu tầu bên Vietnix ^^!!!

Nhân cơ duyên được kết nối với những cao thủ của Vietnix, em xin chia sẻ và lan tỏa để nhiều anh em có cơ hội được sử dụng những dịch vụ tốt nhất với giá vô cùng hợp lý!!!!

1 – Với anh em chưa có hosting, em đặc biệt recommend sử dụng hosting bên Vietnix:
– Sử dụng mã DUNGCAXINH_PAGESPEED sẽ được giảm 20% trọn đời (lifetime luôn)
– Áp dụng các gói Hosting Business, Hosting wordpress và reg 1 năm trở lên
– Anh em chưa biết cách reg thì còm men hoặc ib để em hướng dẫn hoặc nhờ các bạn bên Vietnix support từ A – Z

2 – Anh em có hosting rồi và muốn build blog hoặc web = wordpress mà chưa có giao diện thì nhân tiện em đang có tài khoản Premium bên Envato, em sẽ tặng bất kỳ giao diện nào có trên Envato Themes (Link em để dưới còm men) ạ. Cả nhà còm hoặc ib em Themes mà mọi người “chim ưng”, em sẽ cho anh em tải về, up drive và gửi ạ!!! (Chương trình này kéo dài đến ngày 29 tết âm lịch ạ)

3 – BEST NHẤT luôn!!!! Anh em nào mua hosting dùng mã DUNGCAXINH_PAGESPEED sẽ được tối ưu 100 điểm tốc độ cho 1 web (đây là ưu đãi riêng của CEO Hưng Nguyễn dành cho bạn bè của #dungcaxinh ^^) (Giá trị nhất là cái vụ số 3 này anh chị em nhé ^^), cơ hội vàng để move về đơn vị hosting uy tín là đây ^^!!!!

Một lần nữa xin chân thành cám ơn 2 đồng chí em: Hưng Nguyễn và Vietnix Trung đã giải được một bài toán khó cho các trang WP Big data mà anh loay hoay bao lâu nay chưa tìm ra đáp án!!! Chúc Vietnix ngày càng phát triển và có một năm 2024 đại đại thắng nhé ^^ !!!!!
#SEO #Vietnix #dungcaxinh

Trước khi tối ưu
Sau khi tối ưu
Hiếu AI

2 Tháng 2 lúc 21:06

·

UY TÍN – TẬN TÂM – TỐC ĐỘ

3 từ trên là vẫn chưa đủ để nói về quy trình làm việc cực chuyên nghiệp của team Vietnix.Chuyện là mình có con website chính đang có lượt truy cập organic hàng ngày cũng tương đối (hình 1)

Vấn đề là, con site này đang nằm trên hosting dùng chung nên tốc độ load chưa nhanh, tốc độ load chưa nhanh thì trải nghiệm visitor chưa tốt, trải nghiệm visitor chưa tốt thì tỷ lệ chuyển đổi ra đơn hàng kiểu gì thì kiểu cũng sẽ bị ảnh hưởng.

Biết rõ là đang mất tiền nhưng không biết xử lý như lào, nghĩ mà cay.

Đang loay hoay thì vận may nó tới, hôm qua đang lướt phở bò thấy a Nguyễn Việt Dũng đăng bài, rảnh nên thả cái comment hóng hớt, ai ngờ ngoằng phát thấy ông Dũng tạo nhóm với Vietnix Trung luôn.

Ae Vietnix thì siêu tốc độ, lập tức lấy thông tin vào việc, không hỏi han lằng nhằng, không kỳ kèo chốt đơn dù lúc đấy cũng đang đêm muộn.
Sáng hôm sau dậy vẫn còn đang lơ ngơ mở điện thoại check tin nhắn thì đã thấy ae Vietnix báo xong việc, trong khi mình vẫn chưa biết có chuyện gì xảy ra @@.

Được cái bấm thử website thì thấy load siêu nhanh, chưa tới một giây là thông tin các thứ hiện hết. Quá phê, thả con ảnh trước sau (hình 2,3) để ace tiện đối chiếu nhé. Thế này thì mình gửi gắm nốt 15 em website còn lại cho team Vietnix thôi chứ không cần nghĩ ngợi gì nữa. 10/10.

Nên là:

  1. Anh chị em muốn có một con website tốc độ load nhanh như tốc độ trở mặt của nyc – Dùng ngay dịch vụ hosting của Vietnix
  2. Anh chị em có website rồi muốn tìm bên hosting uy tín, chuyên nghiệp hỗ trợ không quản ngày đêm – Liên hệ ngay Vietnix Trung
  3. Anh chị em quan tâm đến trải nghiệm khách hàng, từ những cái nhỏ nhất như tăng tốc độ website – Better call Vietnix Trung

Và đừng quên dùng pass “HIEUAI_PAGESPEED” để được giảm 20% trọn đời hosting business và wp hosting, quả code này còn được tặng 1 lần tối ưu pagespeed nữa nhé, ưu đãi chắc cũng phải nhất nhì thị trường luôn.
#SEO #Vietnix #hieuai

Website
Trước khi tối ưu
Sau khi tối ưu

Chỉ số tăng trưởng

Điểm Desktop

100 (+43)

Điểm Mobile

100 (+74)

Core Web Vitals

Passed

Lĩnh vực

AI