Cách sửa đổi và quản lý Hosts File trên Linux | Học trực tuyến CNTT, học lập trình từ cơ bản đến nâng cao

Cách sửa đổi và quản lý Hosts File trên Linux

Chia sẻ kiến thức 18/03/2022

Bạn muốn chặn một số trang web nhất định và hạn chế truy cập internet trên Linux? Đây là những gì bạn cần biết về hosts file.


Có một tệp trên máy tính của bạn đóng vai trò như một cánh cổng giữa bạn và web. Nó được gọi là hosts file (tệp máy chủ lưu trữ). Nếu bạn cần chặn các trang web hoặc tạo các shortcut web được cá nhân hóa trên Linux, bạn chỉ cần thêm hoặc chỉnh sửa một vài dòng trong tệp này.

Trong bài viết này, FUNiX sẽ thảo luận chi tiết về hosts file, cùng với hướng dẫn về cách chỉnh sửa hosts file một cách an toàn.

Hosts file Linux là gì?

Hosts file là tệp văn bản thuần túy mà tất cả các hệ điều hành sử dụng để dịch tên máy chủ (còn được gọi là địa chỉ web hoặc URL) thành địa chỉ IP. Khi bạn nhập tên máy chủ, chẳng hạn như wikipedia.org, hệ thống của bạn sẽ xem xét hosts file để lấy địa chỉ IP cần thiết để kết nối với máy chủ (server) thích hợp.

Nếu bạn mở hosts file, bạn sẽ nhanh chóng nhận ra rằng nó không có thư mục của toàn bộ internet mà chỉ có một vài dòng trong đó. Vì sao vậy? 

Hóa ra, hệ thống của bạn sẽ kiểm tra hosts file trước khi tìm kiếm một trang web trên máy chủ DNS được xác định trong cài đặt mạng của bạn (thường là máy chủ DNS của nhà cung cấp dịch vụ internet).

Điều này có nghĩa là bạn có thể sử dụng hosts file để thêm vào những gì máy chủ DNS không thể cung cấp (ví dụ như bí danh (alias) cho các vị trí trên mạng cục bộ của bạn, điều này chỉ có thể thực hiện được nếu bạn có máy chủ DNS được thiết lập trong mạng cục bộ của mình) hoặc ghi đè các địa chỉ IP mà máy chủ DNS thường cung cấp.

Ví dụ: nếu bạn yêu cầu wikipedia.org, máy chủ DNS sẽ trả về địa chỉ IP của Wikipedia cho máy tính của bạn. Nhưng nếu bạn muốn chặn Wikipedia trên máy tính đó, bạn có thể thêm một entry (mục nhập) trong hosts file để cho máy tính biết rằng wikipedia.org trỏ đến một số địa chỉ IP khác với địa chỉ IP thực của Wikipedia.

Trước khi DNS trực tuyến, tệp này chứa tất cả tên máy chủ và địa chỉ IP cho toàn bộ internet. Quản trị viên hệ thống sẽ tải xuống định kỳ các bản cập nhật của tệp này từ một kho lưu trữ trung tâm. Ngay từ vào đầu những năm 1980, quản trị viên hầu như không thể theo kịp vì ngày càng nhiều máy chủ trực tuyến, dù lúc đó mạng chủ yếu giới hạn trong các trường đại học và phòng nghiên cứu. Vì vậy DNS đã ra đời. 

Điều này khiến cho hosts file trở nên lỗi thời khi xử lý internet công cộng hoặc một vài máy, nhưng nó hoàn hảo để quản lý máy cục bộ và mạng cục bộ nhỏ như Wi-Fi của bạn.

Ngày nay, tệp này thường sẽ có tên máy chủ (hostname) mà bạn đã chọn cho máy Linux khi bạn cài đặt nó và máy chủ cục bộ được xác định, đây là yêu cầu tối thiểu để sử dụng mạng. 

Vị trí của hosts file Linux

Trên Linux, bạn có thể tìm thấy hosts file trong /etc/hosts. Vì đó là một tệp văn bản thuần túy, bạn có thể mở hosts file bằng trình soạn thảo văn bản của mình.

Vì hosts file là tệp hệ thống, bạn sẽ cần quyền quản trị để lưu các thay đổi. Để chỉnh sửa tệp bằng trình soạn thảo văn bản dựa trên terminal Linux, chẳng hạn như nano, bạn sẽ cần quyền truy cập superuser (siêu người dùng).

Ví dụ:

sudo nano /etc/hosts

Để sử dụng trình soạn thảo văn bản đồ họa như gedit:

gksu gedit /etc/hosts

Khi bạn đã hoàn tất việc chỉnh sửa tệp, hãy thoát khỏi trình chỉnh sửa. Trong nano, nhấn Ctrl + X, rồi nhấn y để xác nhận ghi đè các thay đổi. Bạn nên lưu một bản sao lưu của tệp trước khi chỉnh sửa để có thể khôi phục trong trường hợp xảy ra lỗi, vì nó có thể ảnh hưởng đến quyền truy cập mạng của bạn.

Để tạo bản sao lưu của tệp hosts, chỉ cần tạo một bản sao của nó. Bạn có thể thêm một hậu tố như .old để bạn nhớ rằng đây là bản sao cũ của tệp:

sudo cp /etc/hosts /etc/hosts.old

 Cách thêm các trang web vào hosts file

Trong hosts file, mỗi entry có một dòng riêng. Cú pháp rất đơn giản. Nhập địa chỉ IP mà bạn muốn tên máy chủ dịch sang, nhấn phím Tab trên bàn phím, sau đó nhập tên máy chủ.

Ví dụ: để chặn Wikipedia, bạn phải nhập (nhớ sử dụng phím Tab thay vì phím cách):

127.0.0.1        wikipedia.org

127.0.0.1 là địa chỉ IP lặp lại sẽ luôn trỏ về hệ thống của bạn. Vì trang web này không được lưu trữ trên máy của bạn, nên trình duyệt sẽ thông báo rằng không thể tìm thấy trang web. 

Nếu bạn không quen dùng terminal, hãy xem ứng dụng Trình chặn miền (Domain Blocker) của Linux Mint (còn được gọi là mintnanny). Nó sẽ thêm các entry vào hosts file để trỏ tên máy chủ mà bạn chỉ định đến 127.0.0.1. Nhưng để làm bất cứ điều gì khác, bạn vẫn sẽ cần thực hiện các thay đổi với trình soạn thảo văn bản.

Tải xuống: Domain blocker (Miễn phí)

Tạo shortcut (lối tắt) trong hosts file

Hosts file cũng có thể dùng để tạo tên dễ nhớ cho các máy trong văn phòng nhỏ hoặc mạng gia đình.

Nếu bạn có một máy tính trên mạng gia đình (giả sử có địa chỉ IP là 192.168.1.10) trong đó có một trang web hoặc file server thực hiện điều gì đó hữu ích cho bạn, bạn có thể nhập thông tin sau vào hosts file của mình:

192.168.1.10        homeserver

Sau đó, nếu bạn mở trình duyệt của mình và chỉ cần nhập:

http://homeserver

Máy tính của bạn bây giờ sẽ tự động chuyển hướng đến 192.168.1.10. Nó dễ dàng hơn nhiều so với việc phải tra cứu địa chỉ IP. Bạn có thể gán vĩnh viễn địa chỉ IP cho bất kỳ máy nào trên mạng của mình bằng menu cấu hình của bộ định tuyến Wi-Fi.

Ngoài ra, bạn có thể sử dụng hosts file để tạo shortcut đến các trang nhất định trên web. Sử dụng một lệnh như nslookup để tìm địa chỉ IP của trang web, sau đó thêm nó vào hosts file của bạn cùng với shortcut mong muốn, giống như trong ví dụ trên. Vì hầu hết các trang web lớn có nhiều địa chỉ IP, cách làm này sẽ không thể áp dụng cho các trang web như Google hoặc Netflix.

 Các vấn đề tiềm ẩn với hosts file

Chúng tôi đã giới thiệu cách thực hiện các thay đổi đối với hosts file, nhưng bạn vẫn có thể gặp sự cố khi sử dụng Google Chrome. Trình duyệt này có xu hướng bỏ qua hosts file trừ khi bạn thực hiện một trong hai điều sau:

  1. http:// ở đầu mỗi địa chỉ. Ví dụ: nếu bạn đã chặn Wikipedia trong hosts file, thì Chrome sẽ phá vỡ quy tắc chặn nếu bạn chỉ nhập wikipedia.org vào thanh địa chỉ. Tuy nhiên, nếu bạn gõ  http://wikipedia.orginto vào thanh địa chỉ, nó sẽ “nghe theo” hosts file.
  2. Tắt tùy chọn Use a web service to help resolve navigation errors” (Sử dụng dịch vụ web để giúp giải quyết lỗi điều hướng) trong Cài đặt Chrome và sau đó bạn sẽ không phải nhập http:// vào đầu địa chỉ.  

Kết luận

Hosts file giúp chặn quyền truy cập vào một số trang web nhất định trên máy tính của bạn cũng như tạo tên dễ nhớ cho bất kỳ máy chủ gia đình (home server) nào. .

Vân Nguyễn

Dịch từ: https://www.makeuseof.com/tag/modify-manage-hosts-file-linux/

 

ĐĂNG KÝ TƯ VẤN HỌC LẬP TRÌNH TẠI FUNiX

Bình luận (
0
)

Bài liên quan

  • Tầng 0, tòa nhà FPT, 17 Duy Tân, phường Cầu Giấy, Hà Nội
  • info@funix.edu.vn
  • 0782313602 (Zalo, Viber)        

Cơ quan chủ quản: Công ty Cổ phần Giáo dục Trực tuyến FUNiX
MST: 0108171240 do Sở kế hoạch và Đầu tư thành phố Hà Nội cấp ngày 27 tháng 02 năm 2018
Địa chỉ:
Văn phòng Hà Nội: Tầng 4, Tòa nhà 25T2, Đường Nguyễn Thị Thập, phường Yên Hòa, Hà Nội.
Văn phòng TP.HCM: Lầu 8, Tòa nhà Giày Việt Plaza 180-182 Lý Chính Thắng, phường Nhiêu Lộc, TP. Hồ Chí Minh.
Hotline: 078 231 3602 – Email: info@funix.edu.vn

yêu cầu gọi lại