Yêu cầu để cài đặt Dante Proxy trên Ubuntu 20.04 cho các kết nối riêng tư
Để cài đặt Dante Proxy trên Ubuntu 20.04 cho các kết nối riêng tư, bạn cần một máy chủ Ubuntu 20.04 và người dùng không phải root nhưng có quyền sudo. Hướng dẫn này sử dụng tên miền là your_domain, tốt nhất bạn nên thay thế bằng tên miền hoặc địa chỉ IP của riêng bạn.

Bước 1: Cài đặt Dante
Dante là một máy chủ SOCKS Proxy. Trong đó, SOCKS là một giao thức ít được sử dụng rộng rãi hơn, nhưng hiệu quả hơn đối với một số ứng dụng ngang hàng (peer-to-peer applications) và được ưu tiên hơn HTTP đối với một số loại lưu lượng. Bắt đầu bằng cách chạy các lệnh sau với người dùng có quyền sudo trong phần điều kiện:
- sudo apt update
- sudo apt install dante-server
Dante sẽ tự động thiết lập một dịch vụ nền và bắt đầu sau khi được cài đặt. Tuy nhiên, trong lần chạy đầu tiên, dịch vụ sẽ không khởi động một cách chính xác và bắn ra một thông báo lỗi vì dịch vụ này được tải xuống với tất cả cấu hình các tính năng bị vô hiệu hóa. Bạn có thể xác minh trạng thái bằng cách sử dụng lệnh systemctl:
- systemctl status danted.service
Output ● danted.service – SOCKS (v4 and v5) proxy daemon (danted) Loaded: loaded (/lib/systemd/system/danted.service; enabled; vendor preset: enabled) Active: failed (Result: exit-code) since Wed 2021-12-15 21:48:22 UTC; 1min 45s ago Docs: man:danted(8) man:danted.conf(5) Main PID: 14496 (code=exited, status=1/FAILURE) Dec 15 21:48:21 proxies systemd[1]: Starting SOCKS (v4 and v5) proxy daemon (danted)… Dec 15 21:48:22 proxies systemd[1]: Started SOCKS (v4 and v5) proxy daemon (danted). Dec 15 21:48:22 proxies danted[14496]: Dec 15 21:48:22 (1639604902.102601) danted[14496]: warning: checkconfig(): no socks authentication methods enabled. This means all socks requests will be blocked after negotiation. Perhaps this is not intended?
Để khởi động thành công Dante, bạn cần kích hoạt chúng bằng cách thay đổi một số cấu hình trong tệp cấu hình Dante. Mặc định, file cấu hình của Dante được lưu tại /etc/danted.conf. Bạn có thể mở file này bằng trình soạn thảo nano hoặc bất kỳ trình soạn thảo văn bản nào khác, bạn sẽ thấy một danh sách dài các cấu hình tùy chọn, tất cả đều bị vô hiệu hóa.
Bạn có thể tùy chỉnh cấu hình thông qua file này và bật một số tùy chọn theo từng dòng, nhưng trên thực tế bạn nên xóa file cấu hình này, thay thế bằng cách tạo một file cấu hình mới khác sẽ hiệu quả hơn và dễ đọc hơn.
Trong bài viết này, mình sẽ hướng dẫn bạn cấu hình một cách dễ dàng. Bạn luôn có thể xem lại cấu hình mặc định của Dante bằng cách xem lại cấu hình mặc định hoặc tải lại package Dante để cấu hình. Thực hiện lệnh xóa file cấu hình mặc định bằng lệnh sau:
- sudo rm /etc/danted.conf
Bây giờ, bạn mở một file cấu hình mới bằng trình soạn thảo văn bản nano hoặc trình soạn thảo văn bản khác. Với trình soạn thảo nano, bạn thực hiện câu lệnh:
- sudo nano /etc/danted.conf
Ban đầu, file cấu hình sẽ trống rỗng. Sau đó, thực hiện thêm các nội dung cấu hình sau:
logoutput: syslog user.privileged: root user.unprivileged: nobody # The listening network interface or address. internal: 0.0.0.0 port=1080 # The proxying network interface or address. external: eth0 # socks-rules determine what is proxied through the external interface. socksmethod: username # client-rules determine who can connect to the internal interface. clientmethod: none client pass { from: 0.0.0.0/0 to: 0.0.0.0/0 } socks pass { from: 0.0.0.0/0 to: 0.0.0.0/0 }
Bây giờ, cấu hình máy chủ SOCKS Proxy này đã có thể sử dụng được, chạy trên cổng mặc định 1080. Bạn cũng có thể chia nhỏ phần còn lại của file cấu hình này theo từng dòng như sau:
logoutputđề cập đến cách mà Dante sẽ ghi lại các kết nối, trong trường hợp này là sử dụng ghi nhật ký hệ thống thông thường.user.privilegedcho phép Dante có quyềnrootđể kiểm tra quyền.user.unprivilegedkhông cấp cho máy chủ bất kỳ quyền nào để thao tác dịch vụ với tư cách là người dùng không có đặc quyền, vì điều này là không cần thiết khi không cấp nhiều quyền chi tiết.internalchỉ định cổng mà dịch vụ đang chạy và địa chỉ IP nào có thể kết nối đến Dante.externalchỉ định network interface nào được sử dụng cho các kết nối bên ngoài, theo mặc định trên hầu hết các máy chủ làeth0. Tuy nhiên có thể khác đối với cấu hình máy chủ của bạn. Bạn có thể kiểm tra bằng câu lệnhifconfig -ađể xemnetwork interfacenào đảm nhiệm nhiệm vụ kết nối bên ngoài.
Phần còn lại của các chi tiết cấu hình đảm bảo xử lý các phương pháp xác thực, sẽ được đề cập trong phần tiếp theo. Đừng quên mở cổng 1080 và cho phép hoạt động thông qua tường lửa nếu bạn đang sử dụng ufw bằng câu lệnh:
sudo ufw allow 1080
Lúc này, bạn có thể khởi động lại Dante và kết nối với dịch vụ. Tuy nhiên, khi khởi động Dante, tức là bạn sẽ có một máy chủ SOCKS mở cho toàn bộ không gian mạng có thể kết nối đến. Điều này làm tăng nguy cơ máy chủ của bạn sẽ bị tấn công bởi bất kỳ máy tính nào. Vì vậy, sau khi cài đặt Dante Proxy trên Ubuntu 20.04, bạn cần thực hiện bảo mật Dante.
Bước 2: Thực hiện bảo mật Dante
Dante sẽ sử dụng các tài khoản người dùng Linux thông thường để xác thực bằng cơ chế xác thực ngang hàng (peer authentications). Điều này là rất hữu ích nhưng mật khẩu được sử dụng cho kết nối đó sẽ được gửi qua văn bản bằng định dạng thông thường (tức chưa được mã hóa). Vì vậy, điều quan trọng là phải tạo một người dùng SOCKS chuyên dụng đảm bảo được tính kết nối riêng tư.
Để làm điều đó, bạn sẽ sử dụng lệnh useradd với cờ chỉ định không cho phép người dùng đăng nhập bằng shell, sau đó đặt mật khẩu cho tài khoản đó:
sudo useradd -r -s /bin/false your_dante_user
sudo passwd your_dante_user
Bạn cũng nên tránh đăng nhập vào tài khoản này qua kết nối không dây không an toàn hoặc chia sẻ máy chủ quá rộng rãi. Dante hỗ trợ các phương pháp xác thực khác, nhưng các kết nối bên ngoài (ví dụ: ứng dụng, tiện ích mở rộng,…) kết nối với SOCKS Proxy sẽ chỉ được hỗ trợ xác thực tên người dùng và mật khẩu, vì vậy bạn có thể giữ nguyên cấu hình người dùng.
Một cách khác được khuyên dùng là hạn chế địa chỉ IP cụ thể truy cập. Tuy không phải là tùy chọn mang đến hiệu quả tốt nhất, nhưng với sự kết hợp của các công nghệ được sử dụng, có thể nói đây là một tùy chọn hợp lý. Bạn có thể học cách hạn chế quyền truy cập vào các địa chỉ IP cụ thể bằng ufw và điều này cũng có thể thực hiện trực tiếp trong Dante bằng cách chỉnh sửa file /etc/danted.conf như sau:
sudo nano /etc/danted.conf
client pass {
from: your_ip_address/0 to: 0.0.0.0/0
}
Có thể thêm vào nhiều địa chỉ IP trong một khối cấu hình bằng cách sử dụng ký hiệu CIDR (CIDR notation) hoặc chỉ cần thêm một vài khối cấu hình client pass {} khác:
client pass {
from: your_ip_address/0 to: 0.0.0.0/0
}
client pass {
from: another_ip_address/0 to: 0.0.0.0/0
}
Lúc này, bạn có thể thoải mái khởi động lại Dante để áp dụng các thay đổi cấu hình bằng câu lệnh:
sudo systemctl restart danted.service
Thực hiện kiểm tra trạng thái dịch vụ, bạn sẽ thấy Dante hoạt động mà không có bất kỳ lỗi nào:
systemctl status danted.service
Output
● danted.service - SOCKS (v4 and v5) proxy daemon (danted)
Loaded: loaded (/lib/systemd/system/danted.service; enabled; vendor preset: enable>
Active: active (running) since Thu 2021-12-16 18:06:26 UTC; 24h ago
Thiết lập Dante Proxy là giải pháp hoàn hảo để đảm bảo tính riêng tư, bảo vệ dữ liệu và ổn định của hệ thống. Tuy nhiên, để VPS vận hành ổn định, mượt mà và đạt hiệu quả tối đa thì tốc độ cũng là một yếu tố quan trọng cần được chú trọng.

I will right away seize your rss feed as I can’t in finding your email subscription link or newsletter service. Do you’ve any? Please let me know in order that I may just subscribe. Thanks.