06/06/2026
Chia sẻ
4220 lượt xem

Bạn vừa đổi hosting, trỏ domain sang server mới, nhưng chưa muốn cả thế giới thấy sự thay đổi này trước khi kiểm tra kỹ. Hoặc ngược lại: trình duyệt tự nhiên đưa bạn tới một trang lạ dù gõ đúng địa chỉ ngân hàng quen thuộc. Cả hai tình huống đều xoay quanh cùng một file: file hosts (thường gọi tắt là file host). Bài này lập luận rằng sức mạnh của file này và rủi ro của nó đến từ đúng một cơ chế, không phải hai chuyện tách biệt: quyền được hệ điều hành tin tuyệt đối, không cần kiểm chứng lại.

Lưu ý: bài này nói về file hosts trên máy tính cá nhân, khác hoàn toàn với file hosting (dịch vụ lưu trữ website). Ở bài viết này, chúng tôi đi từ cơ chế hoạt động, vị trí file trên từng hệ điều hành, đến cách sửa an toàn và cách khôi phục khi có sự cố.

File host là gì?

Định nghĩa file host, file hosts

File hosts là một file văn bản đơn giản (mở được bằng bất kỳ trình soạn thảo nào, không cần phần mềm chuyên dụng) do hệ điều hành đọc, dùng để ánh xạ trực tiếp hostname hoặc domain với một địa chỉ IP cụ thể, không qua bất kỳ máy chủ DNS nào. Cú pháp cơ bản là một địa chỉ IP đứng trước, theo sau là domain hoặc hostname:

127.0.0.1 example.com

192.168.1.10 test.local

Không có ký hiệu đặc biệt, không có dấu ngoặc, chỉ là IP và tên cách nhau bằng khoảng trắng. Chính vì đơn giản đến mức này, file hosts đã tồn tại từ thời kỳ đầu của Internet, trước khi hệ thống DNS ra đời để phân giải tên miền trên quy mô toàn cầu. Đến nay, mọi hệ điều hành hiện đại (Windows, macOS, Linux) vẫn giữ lại file hosts như một lớp tra cứu được ưu tiên đọc trước.

File host khác gì DNS và file hosting?

File hosts chỉ có hiệu lực trên đúng máy đang chỉnh sửa, còn DNS là hệ thống phân giải tên miền công khai, ảnh hưởng đến bất kỳ ai truy cập domain đó từ bất kỳ đâu. Sửa một dòng trong file hosts không đổi được cách người khác nhìn thấy website của bạn, dù bạn trỏ đúng hay sai IP.

Cũng cần tách bạch với file hosting, tức dịch vụ lưu trữ và chia sẻ file trực tuyến (kiểu Google Drive, WeTransfer). Hai khái niệm chỉ trùng âm đọc, không liên quan về mặt kỹ thuật. Nếu bạn tìm cách chia sẻ file qua Internet, file hosts không phải thứ cần tìm.

File host hoạt động như thế nào?

Quy trình tra cứu tên miền qua file hosts - nhập domain, hệ điều hành kiểm tra file hosts trước, có ánh xạ thì dùng IP ngay, không có mới hỏi DNS công khai

File hosts hoạt động bằng cách chen vào trước bước tra cứu DNS: hệ điều hành luôn kiểm tra file này đầu tiên mỗi khi bạn nhập một domain, và chỉ hỏi DNS khi không tìm thấy dòng ánh xạ tương ứng. Theo mặc định, file hosts đứng ở vị trí ưu tiên cao nhất trong chuỗi tra cứu tên miền trên Windows, macOS và Linux.

Ví dụ, nếu bạn thêm dòng sau vào file hosts:

203.0.113.10 mywebsite.com

Khi gõ mywebsite.com trên trình duyệt, máy sẽ dùng thẳng IP 203.0.113.10, kể cả khi DNS thật sự đang trỏ domain đó về một IP hoàn toàn khác. Trình duyệt không phân biệt IP này đến từ đâu, nó chỉ nhận IP và kết nối.

Chính vì tin tuyệt đối như vậy, file hosts rất hữu ích khi bạn muốn thử một thay đổi ngay trên máy mình mà không ảnh hưởng đến ai khác. Bạn có thể giả lập trước kết quả của một lần đổi DNS, xem thử rồi mới quyết định có làm thật hay không.

Nhưng cũng vì máy không kiểm tra lại ai đã thêm dòng ánh xạ đó hay nó có đáng tin không, nên bất kỳ ai hoặc phần mềm nào ghi được vào file hosts đều nắm quyền quyết định domain trỏ đi đâu trên máy đó, mà không cần đụng đến hệ thống DNS công khai. Đây là điểm cần nhớ: sửa file hosts chỉ ảnh hưởng một máy, nhưng trên chính máy đó, nó có quyền ghi đè lên DNS thật.

File host nằm ở đâu?

Vị trí file hosts trên Windows, Linux và macOS kèm đường dẫn cụ thể từng hệ điều hành

Vị trí file hosts cố định theo từng hệ điều hành và đều nằm trong thư mục hệ thống, không phải nơi ứng dụng thông thường có quyền ghi:

Hệ điều hành

Vị trí file hosts

Windows

C:\Windows\System32\drivers\etc\hosts

Linux

/etc/hosts

macOS

/private/etc/hosts (alias /etc/hosts)

File hosts không có phần mở rộng (extension), tên file đúng chuẩn chỉ là hosts. Trên Windows, một lỗi phổ biến là lưu nhầm thành hosts.txt do Notepad tự thêm đuôi .txt, khiến hệ điều hành đọc file hosts gốc (rỗng hoặc chưa sửa) thay vì bản đã chỉnh.

Việc đặt file hosts trong thư mục hệ thống không phải ngẫu nhiên: vì file này có quyền ghi đè DNS như đã nói ở phần trước, hệ điều hành yêu cầu quyền Admin (Windows) hoặc root (macOS/Linux) mới sửa được, nhằm ngăn ứng dụng thông thường tự ý đổi hướng domain mà người dùng không biết. Nên backup file gốc trước khi sửa, để có thể khôi phục ngay nếu thao tác sai.

File host dùng để làm gì?

Bốn công dụng chính của file hosts - kiểm tra website trước khi đổi DNS, chặn hoặc chuyển hướng domain trên máy cá nhân, tạo hostname nội bộ cho môi trường dev, hỗ trợ xác định lỗi DNS

Test website trước khi đổi DNS

Đây là cách dùng quan trọng nhất với người quản trị website, lập trình viên và đội hỗ trợ kỹ thuật của nhà cung cấp hosting. Khi chuyển hosting hoặc đổi server, bạn trỏ domain trong file hosts về IP server mới trên máy mình để kiểm tra trước. Bạn xem website chạy đúng chưa: giao diện có hiển thị bình thường không, tốc độ tải trang thế nào, có báo lỗi hay không, chứng chỉ bảo mật SSL có hoạt động đúng không, trong khi người dùng khác vẫn truy cập server cũ bình thường qua DNS thật. Chỉ khi xác nhận ổn, bạn mới đổi DNS thật, tránh downtime hoặc lỗi hiển thị cho toàn bộ khách truy cập trong lúc kiểm tra.

Chặn hoặc chuyển hướng website trên máy cá nhân

Trỏ một domain về 127.0.0.1 (địa chỉ loopback/localhost, tức chính máy đang dùng) khiến máy đó không truy cập được domain nữa, vì không có server nào chạy ở địa chỉ đó phục vụ domain kia:

127.0.0.1 example-block.com

Cách này chỉ phù hợp nhu cầu đơn giản trên một máy, không thay thế được firewall hoặc DNS filtering khi cần quản lý chặn trên nhiều thiết bị.

Tạo hostname nội bộ cho môi trường dev

Thay vì nhớ dãy IP nội bộ, bạn đặt tên dễ nhớ cho từng máy trong mạng LAN hoặc lab:

192.168.1.20 dev.local

192.168.1.30 database.local

Cách này phổ biến trong môi trường phát triển nhiều service, nơi việc gõ đúng IP mỗi lần dễ gây nhầm lẫn hơn gõ một hostname có ý nghĩa.

Hỗ trợ kiểm tra lỗi DNS

Nếu bạn thêm đúng domain và IP vào file hosts mà website truy cập được bình thường, DNS công khai nhiều khả năng đang trỏ sai hoặc chưa cập nhật kịp, vì file hosts đã chứng minh server ở IP đó phục vụ đúng domain. Nếu vẫn lỗi dù đã trỏ đúng qua hosts, nguyên nhân nằm ở nơi khác: cấu hình server, firewall, SSL hoặc bản thân ứng dụng, không còn liên quan tới DNS nữa.

Khi nào nên và không nên sửa file host?

So sánh khi nào nên và không nên sửa file hosts trên máy tính cá nhân

Nên sửa file host khi

Hosts file phù hợp với các tình huống chỉ cần thay đổi trên một máy, mang tính tạm thời hoặc thử nghiệm:

  • Cần test website trên server mới trước khi đổi DNS thật.
  • Cần kiểm tra domain hoạt động đúng với một IP cụ thể.
  • Cần tạo hostname nội bộ cho môi trường dev hoặc lab.
  • Cần chặn nhanh một domain trên máy cá nhân đang dùng.
  • Cần xử lý tạm thời trong mạng nội bộ, chưa cần cấu hình DNS chính thức.

Không nên sửa file host khi

Ngược lại, một số tình huống đòi hỏi giải pháp ở cấp hệ thống, file hosts không giải quyết được và có thể gây hiểu lầm nếu cố dùng:

  • Muốn thay đổi cách truy cập cho toàn bộ người dùng: trường hợp này cần chỉnh DNS thật, không phải file hosts trên một máy.
  • Bạn không chắc chắn IP cần trỏ tới là IP nào.
  • Máy thuộc công ty, trường học hoặc đang được một bộ phận IT khác quản lý.
  • Bạn không có quyền Admin hoặc root trên máy đó.
  • Muốn chặn website trên nhiều thiết bị cùng lúc: nên dùng DNS filtering, firewall hoặc rule ở router thay vì sửa hosts từng máy.
  • Không nên tải file hosts lạ từ Internet rồi ghi đè toàn bộ file gốc, vì bạn không kiểm chứng được các dòng ánh xạ đó trỏ đi đâu.

Cấu trúc file host đúng chuẩn

Cú pháp đúng

Mỗi dòng trong file hosts theo cấu trúc IP_address hostname [alias], cột IP luôn đứng trước:

127.0.0.1 localhost

203.0.113.10 example.com www.example.com

Cột đầu tiên là địa chỉ IP, cột sau là hostname hoặc domain, có thể thêm một hoặc nhiều alias cách nhau bằng khoảng trắng trên cùng dòng. Dòng bắt đầu bằng dấu “#” được hệ điều hành bỏ qua, dùng để ghi chú lý do thêm dòng đó, giúp bạn hoặc người khác hiểu lại cấu hình sau này.

Lỗi cú pháp thường gặp

Một số lỗi lặp lại khiến dòng ánh xạ không có tác dụng dù trông có vẻ đúng:

  • Viết domain trước IP, ngược thứ tự chuẩn.
  • Thêm tiền tố http:// hoặc https:// vào trước domain.
  • Thêm path như /login, /admin phía sau domain.
  • Lưu file thành hosts.txt thay vì hosts.
  • Quên thêm cả bản có www và không có www, khiến chỉ một trong hai truy cập đúng IP mong muốn.

Ví dụ sai và đúng để đối chiếu:

# Sai

https://example.com 203.0.113.10

203.0.113.10 example.com/login

# Đúng

203.0.113.10 example.com

203.0.113.10 www.example.com

 

Cách chỉnh sửa file host trên Windows, macOS và Linux

Cách sửa file hosts trên Windows

Mở Notepad bằng cách tìm trong Start Menu, sau đó chọn Run as administrator (chạy với quyền quản trị viên). Bước này bắt buộc vì file hosts nằm trong System32, thư mục chứa các file lõi của hệ điều hành Windows mà ứng dụng mở bằng quyền thường không có quyền ghi vào.

Trong Notepad, mở file tại đường dẫn:

C:\Windows\System32\drivers\etc\hosts

Nếu hộp thoại Open không hiện file hosts, đổi bộ lọc định dạng sang All Files (mặc định Notepad chỉ lọc file .txt). Thêm dòng cấu hình cần thiết rồi lưu file, giữ nguyên tên hosts, không để Notepad tự thêm đuôi .txt. Nếu máy không có quyền Admin, bạn vẫn xem được nội dung nhưng không lưu được thay đổi.

Cách sửa file hosts trên macOS

Mở Terminal (ứng dụng dòng lệnh có sẵn trên macOS), chạy lệnh sau để mở file hosts bằng nano, một trình soạn thảo văn bản đơn giản chạy ngay trong Terminal:

sudo nano /private/etc/hosts

Lệnh sudo yêu cầu mật khẩu tài khoản, tương đương quyền root (quyền quản trị cao nhất trên macOS/Linux) cần thiết để ghi vào file hệ thống. Thêm dòng theo đúng cấu trúc đã nêu ở phần cú pháp, ví dụ:

203.0.113.10 example.com

Lưu file trong nano bằng tổ hợp Ctrl + O, nhấn Enter để xác nhận tên file, rồi Ctrl + X để thoát. Nếu trình duyệt vẫn hiển thị nội dung cũ sau khi lưu, thử flush DNS cache của máy để buộc hệ điều hành đọc lại ánh xạ mới.

Cách sửa file hosts trên Linux

Mở Terminal, chạy:

sudo nano /etc/hosts

Thêm dòng ánh xạ, ví dụ:

192.168.1.20 dev.local

Sau khi lưu, kiểm tra ngay bằng lệnh ping dev.local để xác nhận máy phân giải đúng IP vừa thêm. Không xóa các dòng mặc định có sẵn trong file (thường gồm ánh xạ cho localhost) nếu bạn không chắc ý nghĩa của chúng, vì một số service hệ thống phụ thuộc vào các dòng này.

Các lỗi thường gặp khi sửa file host và cách xử lý

Không lưu được file hosts

Nguyên nhân phổ biến nhất là chưa mở editor bằng quyền Admin hoặc root, theo ghi nhận từ Đỗ Trung Quân. Ngoài ra file có thể bị đặt thuộc tính Read-only (chỉ đọc, không cho phép chỉnh sửa hay lưu), bị phần mềm diệt virus khóa ghi, hoặc bị lưu sai vị trí/sai tên thành hosts.txt.

Cách xử lý là mở Notepad bằng Run as administrator trên Windows, dùng sudo trên macOS/Linux, kiểm tra lại thuộc tính Read-only trong Properties nếu vẫn không lưu được, và xác nhận tên file đúng là hosts không có đuôi mở rộng.

Sửa xong nhưng website vẫn trỏ về IP cũ

Hệ điều hành và trình duyệt đều lưu tạm kết quả tra cứu DNS để lần sau truy cập nhanh hơn, gọi là DNS cache. Nếu DNS cache còn giữ kết quả cũ, nguyên nhân thường nằm ở đó. Ngoài ra còn có thể do gõ sai domain, quên thêm bản www, hoặc website đang dùng CDN/proxy (dịch vụ trung gian đứng giữa người dùng và server gốc, ví dụ Cloudflare) khiến IP thực tế khác IP gốc bạn nhắm tới.

Cách xử lý là flush DNS cache, đóng và mở lại trình duyệt, kiểm tra bằng lệnh ping domain để xác nhận IP đang phân giải, và kiểm tra cả hai bản example.com www.example.com xem có bản nào bị bỏ sót trong file hosts không.

Website báo lỗi SSL sau khi trỏ hosts

File hosts chỉ đổi IP cục bộ, không tự cấu hình chứng chỉ SSL, tức chứng chỉ bảo mật giúp website hiển thị biểu tượng ổ khóa an toàn trên trình duyệt, trên server đích. Nếu server mới chưa có chứng chỉ khớp đúng domain, trình duyệt sẽ báo lỗi cảnh báo bảo mật dù bạn trỏ IP hoàn toàn chính xác.

Trước tiên, kiểm tra xem server đích đã cấu hình để phục vụ đúng domain đó chưa (thiết lập này thường gọi là VirtualHost hoặc server block, tùy phần mềm server đang dùng). Tiếp theo, xác nhận chứng chỉ SSL đã cấp cho đúng tên miền, bao gồm cả bản ‘www’. Cuối cùng, đảm bảo server đích thực sự trả về nội dung của domain đó chứ không phải trang mặc định.

File hosts bị antivirus cảnh báo

Mã độc, tức phần mềm được tạo ra với mục đích gây hại, thường nhắm vào file hosts để chuyển hướng domain, nên phần mềm diệt virus theo dõi file này khá sát. Microsoft đặt tên riêng cho hành vi này là SettingsModifier:Win32/HostsFileHijack, và ghi nhận mã độc thường lợi dụng file hosts để chặn truy cập các trang bảo mật hoặc chuyển hướng domain ngân hàng, email, đăng nhập sang IP giả mạo, theo Microsoft Security Intelligence. Malwarebytes Labs cũng ghi nhận cơ chế tương tự: chính vì file hosts được tin tuyệt đối và đọc trước DNS, một dòng chèn ngầm là đủ để chuyển hướng người dùng mà không cần đụng đến DNS công khai.

Nếu bạn tự sửa file hosts, hãy kiểm tra kỹ nội dung trước khi lưu và không paste danh sách hosts từ nguồn không tin cậy. Nếu thấy domain ngân hàng, email hoặc mạng xã hội bị trỏ sang IP lạ mà bạn không tự thêm, cần xóa dòng đó ngay và quét malware toàn diện.

Cách khôi phục file host về mặc định

Nên khôi phục file hosts về mặc định khi rơi vào một trong các tình huống sau: lỡ thêm sai IP hoặc domain và không nhớ đã sửa gì, website bất ngờ bị chuyển hướng tới nơi lạ, hoặc nghi ngờ malware đã chỉnh sửa file mà không thông qua bạn.

Cách làm gồm các bước tuần tự:

  • Backup file hosts hiện tại trước khi thay đổi, phòng trường hợp cần đối chiếu lại.
  • Xóa các dòng tự thêm nếu bạn nhớ rõ nội dung đã chỉnh.
  • Nếu không chắc, đổi tên file hiện tại thành hosts.old thay vì xóa hẳn.
  • Tạo file mới tên hosts, không có phần mở rộng, chỉ chứa các dòng mặc định của hệ điều hành.

Sau khi khôi phục, lưu file, flush DNS cache, mở lại trình duyệt và kiểm tra lại các website từng bị ảnh hưởng để xác nhận đã về đúng IP thật.

Checklist an toàn trước và sau khi sửa file host

Checklist an toàn trước và sau khi sửa file hosts

Trước khi sửa file hosts, hãy đảm bảo các điều kiện sau:

  • Bạn đã backup file hosts gốc.
  • Bạn mở editor bằng quyền Admin hoặc sudo.
  • Bạn không xóa các dòng mặc định nếu chưa hiểu rõ ý nghĩa.
  • Bạn không thêm http://, https:// hoặc path URL vào dòng ánh xạ.
  • Bạn đã kiểm tra IP cần trỏ tới là chính xác.

Sau khi sửa xong, kiểm tra lại theo các bước sau:

  • Bạn đã thêm cả bản www không cówww nếu domain cần cả hai.
  • Bạn đã ghi chú lý do thêm dòng đó bằng comment #.
  • Bạn không tải file hosts lạ từ nguồn không rõ rồi ghi đè toàn bộ.
  • Bạn đã kiểm tra lại bằng ping, nslookup (lệnh dòng lệnh dùng để tra domain đang trỏ về IP nào) hoặc trực tiếp trên trình duyệt.
  • Bạn đã xóa các dòng test sau khi hoàn thành, tránh để sót gây nhầm lẫn về sau.
  • Nếu website dùng SSL, bạn đã kiểm tra chứng chỉ trên server đích khớp đúng domain.

Kiểm soát quyền ưu tiên của file hosts, đừng để nó kiểm soát bạn

Giá trị của file hosts và rủi ro của nó đến từ cùng một chỗ: nó được máy tin tuyệt đối, không cần hỏi lại DNS. Điều đó giúp bạn kiểm tra website trước khi đổi DNS thật, nhưng cũng có nghĩa là bất kỳ dòng ánh xạ nào lọt vào file, dù do bạn gõ nhầm hay do mã độc chèn vào, đều được máy làm theo ngay lập tức.

Vì vậy, hãy coi file hosts như một cánh cửa có quyền lực lớn: dùng đúng lúc, đúng cách theo checklist ở trên thì tiết kiệm được rất nhiều thời gian debug. Bỏ mặc không kiểm tra định kỳ thì đó lại là chỗ dễ bị lợi dụng nhất trên máy bạn.

FAQ

File host có phải DNS không?

Không. File hosts là ánh xạ cục bộ chỉ có hiệu lực trên máy đang sửa, còn DNS là hệ thống phân giải tên miền công khai trên mạng, ảnh hưởng đến mọi người truy cập domain đó từ bất kỳ đâu.

Sửa file host có ảnh hưởng người khác không?

Không, nếu bạn chỉ sửa trên máy cá nhân. Thay đổi trong file hosts chỉ tác động đến cách chính máy đó phân giải domain, người dùng khác vẫn truy cập theo DNS thật như bình thường.

Vì sao không lưu được file hosts?

Thường do bạn chưa mở editor bằng quyền Admin hoặc root, file đang ở thuộc tính Read-only, bị antivirus khóa ghi, hoặc bị lưu sai tên thành hosts.txt thay vì hosts.

Có cần khởi động lại máy sau khi sửa file host không?

Thường không cần khởi động lại toàn bộ máy. Bạn chỉ cần flush DNS cache hoặc đóng mở lại trình duyệt để hệ thống đọc lại ánh xạ mới trong file hosts.

Có nên dùng file host để chặn website không?

Có thể dùng cho một máy cá nhân bằng cách trỏ domain về 127.0.0.1. Nếu cần quản lý chặn trên nhiều thiết bị cùng lúc, nên dùng DNS filtering, firewall hoặc rule ở router thay vì sửa hosts từng máy.

File hosts có nguy hiểm không?

Bản thân file hosts không nguy hiểm, nó chỉ là một file cấu hình. Rủi ro đến từ nội dung sai bạn tự thêm, dòng ánh xạ trỏ tới IP lạ, hoặc việc bị malware âm thầm chỉnh sửa để chuyển hướng domain nhạy cảm.