Dante Proxy là một phần mềm mã nguồn mở cho phép triển khai máy chủ SOCKS, giúp định tuyến và quản lý các kết nối mạng một cách an toàn. Với Dante Proxy, bạn có thể tăng cường quyền riêng tư, kiểm soát lưu lượng truy cập và cải thiện bảo mật khi kết nối internet. Trong bài viết này, mình sẽ hướng dẫn bạn chi tiết cách cài đặt và cấu hình Dante Proxy trên Ubuntu 20.04 để thiết lập một môi trường kết nối riêng tư và ổn định.
Những điểm chính
- Yêu cầu cài đặt Dante Proxy trên Ubuntu 20.04: Biết được các điều kiện cần thiết để chuẩn bị trước khi cài đặt là cần một máy chủ Ubuntu 20.04 và người dùng có quyền sudo.
- Hướng dẫn cài đặt Dante trên Ubuntu 20.04: Biết cách cài đặt và cấu hình Dante một cách dễ dàng theo hướng dẫn từng bước.
- Bảo mật Dante Proxy: Biết cách bảo vệ máy chủ khỏi các truy cập trái phép, kiểm soát chặt chẽ hơn ai có thể kết nối với proxy, giảm thiểu nguy cơ bị tấn công.
- Kiểm tra kết nối: Hướng dẫn sử dụng curl để kiểm tra kết nối đến Dante Proxy.
- Giới thiệu nhà cung cấp VPS Vietnix: Giúp bạn có thêm lựa chọn về dịch vụ VPS uy tín để đảm bảo hệ thống vận hành hiệu quả.
- Câu hỏi thường gặp: Giải đáp các thắc mắc xoay quanh việc cài đặt Dante Proxy trên Ubuntu 20.04

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.privileged
cho phép Dante có quyềnroot
để kiểm tra quyền.user.unprivileged
khô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.internal
chỉ định cổng mà dịch vụ đang chạy và địa chỉ IP nào có thể kết nối đến Dante.external
chỉ đị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 interface
nà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.
Hiện tại Vietnix đang cho thuê VPS tốc độ cao, đa dạng cấu hình, tính năng hiện đại, bảo mật cao gồm: VPS NVMe, VPS Giá Rẻ, VPS SSD, VPS AMD, VPS GPU với nhiều mức giá khác nhau, phù hợp với nhu cầu sử dụng đa dạng. Nhanh tay liên hệ Vietnix để được tư vấn gói VPS tốc độ cao phù hợp với các dự án của bạn!

Hạ tầng máy chủ an toàn tuyệt đối
khám phá dịch vụ vps tại vietnix ngay!
VPS Vietnix đảm bảo tài nguyên độc lập và ổn định cho website hoặc ứng dụng của bạn.
Tham khảo dịch vụ VPSBước 3: Đảm bảo kết nối thông qua Dante
Để chứng minh máy chủ Dante đã hoạt động bình thường, thực hiện gửi một dòng lệnh curl
, lệnh này phổ biến giúp thực hiện kiểm tra các yêu cầu tài nguyên web ( web request) khác nhau. Tóm lại, khi muốn xác minh xem một yêu cầu kết nối tài nguyên web có hoạt động hay không, bạn phải luôn kiểm tra trước với curl
. Công cụ này được cài đặt theo mặc định trên tất cả các hệ điều hành như Windows, macOS và Unix/Linux hiện đại, vì vậy bạn có thể mở bất kỳ giao diện dòng lệnh nào để chạy lệnh này:
curl -v -x socks5://your_dante_user:your_dante_password@your_server_ip:1080 http://www.google.com/
Output
* Trying 138.197.103.77...
* TCP_NODELAY set
* SOCKS5 communication to www.google.com:80
* SOCKS5 connect to IPv4 142.250.189.228 (locally resolved)
* SOCKS5 request granted.
* Connected to 138.197.103.77 (138.197.103.77) port 1080 (#0)
> GET / HTTP/1.1
...
Thông tin đăng nhập mà bạn đã sử dụng cho lệnh curl
giờ đây sẽ hoạt động với bất kỳ yêu cầu nào khác mà bạn muốn sử dụng đối với máy chủ proxy SOCKS này.
Vietnix – Nhà cung cấp VPS uy tín và chất lượng
Vietnix là nhà cung cấp dịch vụ VPS uy tín hàng đầu, được biết đến với tốc độ cao, ổn định và dịch vụ hỗ trợ kỹ thuật chuyên nghiệp 24/7. Với cam kết mang đến trải nghiệm tốt nhất cho khách hàng, Vietnix cung cấp đa dạng hệ điều hành, đáp ứng mọi nhu cầu từ cá nhân đến doanh nghiệp. Bên cạnh đó, đội ngũ hỗ trợ kỹ thuật giàu kinh nghiệm luôn sẵn sàng giải đáp mọi thắc mắc và hỗ trợ kịp thời mọi lúc, mọi nơi. Chọn Vietnix, bạn chọn sự an tâm và hiệu suất tối ưu cho dự án của mình.
Thông tin liên hệ:
- Hotline: 18001093
- Email: sales@vietnix.com.vn
- Địa chỉ: 265 Hồng Lạc, Phường Bảy Hiền, Thành phố Hồ Chí Minh.
- Website:https://vietnix.vn/
Câu hỏi thường gặp
Có thể tích hợp Dante Proxy với tường lửa UFW hoặc iptables để tăng bảo mật không?
Có, Dante Proxy có thể kết hợp với UFW hoặc iptables để tăng bảo mật. Bạn có thể giới hạn IP được phép kết nối, chặn các địa chỉ khả nghi và kiểm soát cổng mạng. Việc này giúp Dante chỉ phục vụ các kết nối hợp lệ, giảm nguy cơ tấn công và bảo vệ server hiệu quả hơn.
Có thể tích hợp Dante Proxy với Fail2Ban để ngăn chặn brute force không?
Có, Dante Proxy có thể tích hợp với Fail2Ban để ngăn brute force. Dante ghi log các kết nối, Fail2Ban phân tích log và chặn IP khi phát hiện nhiều lần đăng nhập thất bại, tăng cường bảo mật và giảm tải server. Cần đảm bảo Dante ghi log chi tiết, cấu hình filter phù hợp và whitelist IP hợp lệ.
Dante SOCKS5 là gì?
Dante SOCKS5 là một máy chủ proxy hoạt động theo chuẩn SOCKS5, được triển khai bằng phần mềm Dante do công ty Inferno Nettverk phát triển.
Lời kết
Như vậy, bạn đã nắm được cách cài đặt Dante Proxy trên Ubuntu 20.04 để tạo ra các kết nối riêng tư, an toàn và hiệu quả. Với ưu điểm về hiệu suất và tính ổn định, Dante Proxy là một lựa chọn tuyệt vời cho những ai muốn bảo vệ quyền riêng tư và tối ưu hóa lưu lượng truy cập mạng. Để khám phá thêm các phương pháp và thao tác hữu ích khác trên Ubuntu 20.04, hãy tham khảo thêm các bài viết khác bên dưới.
Cho mình hỏi, sau khi sử dụng lệnh “systemctl status danted.service’ thì làm sao để thoát nội dung này ra ạ?
Nhấn tổ hợp phím Ctrl + C nhé bạn