Nội dung bài viết
#

Hướng dẫn tạo proxy bằng Squid trên Ubuntu 20.04

Nội dung bài viết

    Là một loại ứng dụng server, proxy servers làm nhiệm vụ kết nối giữa người dùng cuối và tài nguyên internet. Người dùng cuối có thể kiểm soát và giám sát lưu lượng truy cập web của họ cho nhiều mục đích khác nhau thông qua proxy server. Squid là một proxy HTTP mã nguồn mở, phổ biến, ổn định. Trong bài viết dưới đây, BKHOST sẽ hướng dẫn cho bạn cách tạo proxy bằng Squid trên Ubuntu 20.04 để cung cấp proxy HTTP.

    Huong dan tao proxy bang Squid tren Ubuntu

    Điều kiện tiên quyết:

    Muốn hoàn thành các hướng dẫn bên dưới bạn cần có máy chủ Ubuntu 20.04 và người dùng không phải root có đặc quyền sudo. Ở hướng dẫn này chúng ta sử dụng tên miền your_domain, tuy nhiên bạn nên thay thế tên miền này bằng tên miền hoặc địa chỉ IP của riêng bạn.

    Bước 1 – Cài đặt Squid Proxy

    Để tạo proxy bằng Squid trên Ubuntu đầu tiên cập nhật danh sách gói của bạn và cài đặt Squid Proxy với tư cách người dùng không phải root bằng câu lệnh sau:

    {{EJS0}}

    Sau khi cài đặt Squid sẽ tự động thiết lập một dịch vụ nền và bắt đầu nó. Để kiểm tra xem dịch vụ có đang chạy đúng cách hay không ta dùng câu lệnh:

    {{EJS1}}
    {{EJS2}}

    Squid không cho phép bất kỳ máy khách nào kết nối với nó từ bên ngoài máy chủ này ở chế độ mặc định. Vì vậy bạn sẽ cần thực hiện một số thay đổi đối với tệp cấu hình của squid, tệp này được lưu trữ trong /etc/squid/squid.conf. Mở squid trong nano hoặc trình soạn thảo văn bản:

    {{EJS3}}

    Squid chứa một số lượng lớn các tùy chọn đã tạm thời bị vô hiệu hóa bằng cách đặt một # ở đầu dòng chúng đang bật khi ở chế độ mặc định. Để tìm kiếm trong tệp để tìm các dòng bạn muốn chỉnh sửa trong nano bạn làm như sau: Nhấn Ctrl + W, nhập cụm từ cần tìm kiếm và nhấn Enter. Nếu muốn tìm phiên bản tiếp theo của cụm từ đó ta nhấn Alt + W. Nếu muốn thấy một khối văn bản giải thích các quy tắc truy cập mặc định của Squid ta điều hướng đến dòng có chứa cụm từ http_access deny all:

    {{EJS4}}

    Ở đây bạn có thể thấy hành vi hiện tại – localhost có cho phép các kết nối khác hay không. Bởi vì các quy tắc này được phân tích cú pháp tuần tự, nên bạn cần giữ deny all quy tắc ở cuối khối cấu hình này. Nếu muốn bạn có thể đổi quy tắc này thành allow all để cho phép bất kỳ ai kết nối với máy chủ proxy của bạn, nếu không muốn bạn có thể thêm một dòng ở trên http_access allow localhost bao gồm địa chỉ IP của riêng bạn, như sau:

    {{EJS5}}
    • acl là viết tắt của A ccess C ontrol L ist, một thuật ngữ chung cho các chính sách cấp phép.
    • localnet trong trường hợp này là tên ACL của bạn.
    • src là nơi yêu cầu bắt nguồn từ ACL này, tức là địa chỉ IP của bạn.

    Sau khi hoàn thành thay đổi bạn hãy lưu và đóng file. Nếu sử dụng nano bạn hãy bấm Ctrl + X sau đó nhấn Enter.

    Vừa rồi bạn đã tạo proxy bằng Squid trên Ubuntu thành công bây giờ bạn đã có thể khởi động lại Squid và kết nối với nó, nhưng nên làm nhiều việc hơn để bảo mật nó trước khi khởi động lại.

    Bước 2 – Bảo mật Squid

    Để hạn chế quyền truy cập vào proxy của bạn bằng địa chỉ IP. Bằng chức năng tích hợp sẵn của Linux Squid bạn có thể tạo ra các cặp username-password. Cách làm như sau: Bạn thêm tệp có tên /etc/squid/password và trỏ cấu hình của Squid đến nó.

    Đầu tiên để có quyền truy cập vào trình tạo mật khẩu Squid mà bạn thích. Bạn cần cài đặt một số tiện ích từ Apache project.

    {{EJS6}}

    Với gói htpasswd bạn có thể sử dụng lệnh để tạo mật khẩu cho người dùng Squid mới., Nếu muốn bạn có thể sử dụng cùng tên mà bạn đã đăng nhập. Bởi vì tên người dùng của Squid không bao giờ trùng lặp với tên người dùng hệ thống. Bạn cũng sẽ được nhắc thêm mật khẩu:

    {{EJS7}}

    Điều này giúp lưu tên người dùng của bạn cùng với mật khẩu mới của bạn /etc/squid/passwords, mật khẩu này dùng làm nguồn xác thực bởi Squid. Để xem nó bạn có thể cat tập tin:

    {{EJS8}}
    {{EJS9}}

    Bây giờ bạn có thể cập nhật cấu hình của Squid để sử dụng /etc/squid/passwords tệp mới của mình. Bằng cách sử dụng nano hoặc trình soạn thảo văn bản để mở lại tệp cấu hình Squid và thêm các dòng được đánh dấu sau:

    {{EJS10}}
    {{EJS11}}

    Các dòng lệnh vừa được thêm yêu cầu Squid kiểm tra passwords tệp mới của bạn. Để tìm các mật khẩu được phân tích cú pháp bằng cách sử dụng basic_ncsa_auth cơ chế và yêu cầu xác thực nhằm truy cập vào proxy của bạn. Bây giờ bạn có thể khởi động lại Squid với các thay đổi cấu hình của mình. Quá trình này có thể mất một chút thời gian để hoàn thành.

    {{EJS12}}

    Nếu bạn đang sử dụng ufw bạn cần phải mở cổng 3128 trong tường lửa của mình:

    {{EJS13}}

    Cuối cùng bạn sẽ được kết nối với proxy của mình.

    Bước 3 – Kết nối thông qua Squid

    Trên tất cả các môi trường Windows, Mac và Linux hiện nay chương trình curl đều được cài đặt ở chế độ mặc định. Bạn sẽ dùng chương trình này để thực hiện các yêu cầu web khác nhau nhằm chứng minh máy chủ Squid của mình.

    Bạn nên sử dụng curl nếu bạn muốn xác minh xem liệu một kết nối nhất định có hoạt động trong một trình duyệt ở những trường hợp lý tưởng hay không. Bạn hãy sử dụng curl trên máy cục bộ của mình để mở bất kỳ trình cục bộ nào và chạy lệnh sau:

    {{EJS14}}

    Đối -x số chuyển một máy chủ proxy để cuộn lại và trong trường hợp này bạn đang sử dụng http://giao thức, chỉ định tên người dùng và mật khẩu của bạn cho máy chủ này, sau đó kết nối với một trang web hoạt động đã biết như thế nào google.com. Bạn sẽ thấy kết quả như sau nếu lệnh thành công:

    {{EJS15}}

    Bạn cũng có thể truy cập https://các trang web bằng proxy Squid của mình mà không cần thực hiện thêm bất kỳ thay đổi cấu hình nào. Để duy trì SSL giữa máy khách và máy chủ chúng sử dụng một chỉ thị proxy riêng biệt được gọi CONNECT:

    {{EJS16}}
    {{EJS17}}

    Thông tin đăng nhập mà bạn đã sử dụng curl giờ sẽ hoạt động ở bất kỳ nơi nào mà bạn muốn sử dụng máy chủ proxy mới của mình.

    Tổng kết về cách tạo proxy bằng Squid trên Ubuntu

    Với bài viết về tạo proxy bằng Squid trên Ubuntu trên đây. BKHOST hi vọng bạn đã biết cách triển khai một điểm cuối API nguồn mở, phổ biến cho lưu lượng truy cập ủy quyền với chi phí thấp hoặc không tốn phí. Nhiều ứng dụng có hỗ trợ proxy tích hợp (thường ở cấp hệ điều hành) từ nhiều thập kỷ trước, làm cho ngăn xếp proxy này có khả năng tái sử dụng cao.

    Nếu còn gặp bất cứ vướng mắc gì về nội dung bài viết trên, hãy để lại ở bên bình luận bên dưới, BKHOST sẽ trả lời bạn trong thời gian sớm nhất.

    P/s: Bạn cũng có thể truy cập vào Blog của BKHOST để đọc thêm các bài viết chia sẻ kiến thức về lập trình, quản trị mạng, website, domain, hosting, vps, server, email,… Chúc bạn thành công.


    • Hướng dẫn tạo proxy bằng Squid trên ubuntu
    • cách tạo proxy bằng Squid
    • Squid Proxy ubuntu

    Mua Hosting tại BKHOST

    Khuyến mãi giảm giá cực sâu, chỉ từ 5k/tháng. Đăng ký ngay hôm nay:

    hosting website

    Tôi là Trịnh Duy Thanh, CEO & Founder Công ty Cổ Phần Giải Pháp Mạng Trực Tuyến Việt Nam - BKHOST. Với sứ mệnh mang tới các dịch vụ trên Internet tốt nhất cho các cá nhân và doanh nghiệp trong nước và quốc tế, tôi luôn nỗ lực hết mình nâng cấp đầu tư hệ thống phần cứng, nâng cao chất lượng dịch vụ chăm sóc khách hàng để đem đến những sản phẩm hoàn hảo nhất cho người tiêu dùng. Vì vậy, tôi tin tưởng sẽ đem đến các giải pháp CNTT mới nhất, tối ưu nhất, hiệu quả nhất và chi phí hợp lý nhất cho tất cả các doanh nghiệp.
    Bình luận
    Trượt lên đầu trang
    Miễn phí cước gọi
    Bạn đã hài lòng với trải nghiệm trên Bkhost.vn?
    Cảm ơn lượt bình chọn của bạn, Chúc bạn 1 ngày tốt lành !