Cài SOCKS5 cho Ubuntu

SOCKS5 là protocol dùng để điều hướng packet giữa client và server thông qua proxy trung gian. SOCKS5 ưu việt hơn HTTP proxy vì nó cho phép authentication. Bài này sẽ hướng dẫn cấu hình SOCKS5 server cho Ubuntu.

Cách thủ công

1. Cài package dante-server:

sudo apt-get update
sudo apt-get install dante-server -y

2. Mở file /etc/danted.conf, xóa hết nội dung của nó và bỏ vào đoạn code bên dưới (nhớ thay IP cho phù hợp):

logoutput: stderr
internal: 192.168.1.1 port = 1080
external: 192.168.1.1

socksmethod: username
user.privileged: root
user.unprivileged: nobody
user.libwrap: nobody

client pass {
    from: 0/0 to: 0/0
    log: error
}

socks pass {
    from: 0/0 to: 0/0
    log: error
}

3. Khởi động lại danted:

service danted restart

4. Thêm user (thay hieu bằng username của bạn):

sudo useradd --shell /usr/sbin/nologin hieu

5. Cài password:

sudo passwd qwerty

6. Kiểm tra proxy bằng curl (thay username, password và IP cho phù hợp):

curl -x socks5://hieu:[email protected]:1080 https://ifconfig.me

Nếu thấy IP của server trả về, proxy server đã hoạt động.

Dùng Docker

Nếu dùng Docker, ta chỉ cần chạy dòng lệnh sau:

docker run -d -p 1080:1080 wernight/dante

Tuy nhiên, proxy server này mặc định không có authentication.


Trong lúc tìm hiểu Dante, tôi vô tình tìm ra container khác để tạo SOCKS5. Nó cho phép truyền vào tham số cấu hình username và password.

docker run -d --name socks5 -p 1080:1080 \
    -e PROXY_USER=hieu \
    -e PROXY_PASSWORD=qwerty \
    serjs/go-socks5-proxy