Quay lại blog

Cài đặt proxy trên Linux Ubuntu và Debian: terminal, GUI và tất cả ứng dụng - từng bước một

Hướng dẫn đầy đủ về cách cấu hình proxy trên Linux Ubuntu và Debian - qua terminal, cài đặt hệ thống và cho các ứng dụng riêng lẻ. Phù hợp cho việc parse, giám sát và làm việc với nhiều tài khoản.

📅15 tháng 4, 2026
```html

Nếu bạn đang làm việc trên Linux và cần chuyển hướng lưu lượng qua proxy — cho việc phân tích, giám sát giá trên các thị trường hoặc làm việc với nhiều tài khoản — các hướng dẫn tiêu chuẩn trên internet thường không hiệu quả. Một số chỉ mô tả trình duyệt, trong khi những cái khác chỉ đề cập đến terminal, và không có bức tranh toàn cảnh nào. Trong hướng dẫn này, chúng ta sẽ xem xét tất cả các cách: từ một lệnh trong terminal đến các cài đặt hệ thống, bao phủ toàn bộ lưu lượng của Ubuntu và Debian.

Loại proxy nào nên chọn cho Linux

Trước khi chuyển sang cấu hình, điều quan trọng là hiểu rằng không phải tất cả các proxy đều phù hợp cho các nhiệm vụ khác nhau. Các máy Linux thường được sử dụng cho các nhiệm vụ tự động — phân tích, giám sát, yêu cầu hàng loạt — và việc chọn loại proxy ở đây là rất quan trọng.

Loại proxy Giao thức Phù hợp cho Rủi ro bị chặn
Proxy trung tâm dữ liệu HTTP, HTTPS, SOCKS5 Phân tích, curl, kịch bản Trung bình
Proxy cư trú HTTP, HTTPS, SOCKS5 Thị trường, mạng xã hội, tài khoản Thấp
Proxy di động HTTP, SOCKS5 Facebook, Instagram, TikTok Tối thiểu

Đối với hầu hết các nhiệm vụ trên Linux, proxy HTTP/HTTPS hoặc SOCKS5 là đủ. SOCKS5 được ưa chuộng hơn — nó hoạt động ở cấp độ TCP và được hầu hết các công cụ hỗ trợ, bao gồm curl, wget và proxychains. Trong tất cả các ví dụ tiếp theo, chúng ta sẽ sử dụng cả hai tùy chọn.

Định dạng dữ liệu proxy

Đối với tất cả các cài đặt bên dưới, bạn sẽ cần dữ liệu ở định dạng:
host:port hoặc host:port:login:password
Những dữ liệu này bạn nhận được từ nhà cung cấp proxy trong tài khoản cá nhân của mình.

Cấu hình qua biến môi trường trong terminal

Cách nhanh nhất để chuyển hướng lưu lượng qua proxy trong Linux là thiết lập các biến môi trường. Hầu hết các tiện ích dòng lệnh (curl, wget, pip, apt và các tiện ích khác) tự động đọc các biến này và sử dụng proxy đã chỉ định mà không cần cấu hình thêm.

Cấu hình tạm thời (chỉ cho phiên hiện tại)

Mở terminal và thực hiện các lệnh sau. Thay thế các giá trị bằng dữ liệu proxy của bạn:

# Đối với proxy HTTP không cần xác thực
export http_proxy="http://192.168.1.1:3128"
export https_proxy="http://192.168.1.1:3128"

# Đối với proxy HTTP có tên đăng nhập và mật khẩu
export http_proxy="http://login:[email protected]:3128"
export https_proxy="http://login:[email protected]:3128"

# Đối với proxy SOCKS5
export http_proxy="socks5://login:[email protected]:1080"
export https_proxy="socks5://login:[email protected]:1080"

# Ngoại lệ — địa chỉ không qua proxy (localhost và mạng cục bộ)
export no_proxy="localhost,127.0.0.1,::1,192.168.0.0/16"

Sau các lệnh này, tất cả các tiện ích trong terminal hiện tại sẽ sử dụng proxy. Một điểm quan trọng: một số chương trình chỉ đọc các biến ở dạng chữ hoa. Để đảm bảo an toàn, hãy sao chép các lệnh với chữ hoa:

export HTTP_PROXY="http://login:[email protected]:3128"
export HTTPS_PROXY="http://login:[email protected]:3128"
export NO_PROXY="localhost,127.0.0.1"

Cấu hình vĩnh viễn cho người dùng của bạn

Để proxy tự động áp dụng mỗi khi bạn đăng nhập vào terminal, hãy thêm các biến vào tệp ~/.bashrc (cho bash) hoặc ~/.zshrc (cho zsh):

# Mở tệp trong trình soạn thảo nano
nano ~/.bashrc

# Thêm vào cuối tệp các dòng sau:
export http_proxy="http://login:password@host:port"
export https_proxy="http://login:password@host:port"
export HTTP_PROXY="http://login:password@host:port"
export HTTPS_PROXY="http://login:password@host:port"
export no_proxy="localhost,127.0.0.1"

# Lưu: Ctrl+O, Enter, Ctrl+X
# Áp dụng thay đổi mà không cần khởi động lại terminal:
source ~/.bashrc

Cấu hình hệ thống cho tất cả người dùng

Nếu Linux được sử dụng như một máy chủ hoặc bạn muốn áp dụng proxy cho tất cả người dùng trong hệ thống, hãy thêm các biến vào tệp /etc/environment:

sudo nano /etc/environment

# Thêm các dòng (không có lệnh export!):
http_proxy="http://login:password@host:port"
https_proxy="http://login:password@host:port"
HTTP_PROXY="http://login:password@host:port"
HTTPS_PROXY="http://login:password@host:port"
no_proxy="localhost,127.0.0.1,::1"

Sau khi lưu tệp, các thay đổi sẽ có hiệu lực khi bạn đăng nhập vào hệ thống lần tiếp theo. Để áp dụng mà không cần khởi động lại, hãy thực hiện source /etc/environment.

Cài đặt proxy hệ thống qua giao diện đồ họa (GNOME)

Nếu bạn sử dụng Ubuntu với môi trường desktop GNOME (cài đặt tiêu chuẩn Ubuntu Desktop), bạn có thể cấu hình proxy qua giao diện đồ họa mà không cần lệnh nào. Điều này thuận tiện cho những người mới bắt đầu làm quen với Linux.

Hướng dẫn từng bước cho Ubuntu GNOME

  1. Nhấn vào biểu tượng ở góc trên bên phải màn hình → chọn “Cài đặt” (Settings)
  2. Trong menu bên trái, cuộn xuống và chọn “Mạng” (Network)
  3. Trong phần “Proxy mạng”, nhấn nút có mũi tên (biểu tượng cài đặt)
  4. Chọn chế độ proxy:
    • Đã tắt — không sử dụng proxy
    • Thủ công — bạn tự nhập dữ liệu proxy (được khuyến nghị)
    • Tự động — sử dụng tệp PAC từ nhà cung cấp
  5. Chọn “Thủ công” và điền vào các trường:
    • Proxy HTTP: nhập địa chỉ host và port
    • Proxy HTTPS: các dữ liệu tương tự
    • Host SOCKS: địa chỉ và port (nếu bạn sử dụng SOCKS5)
    • Bỏ qua các host: localhost, 127.0.0.0/8
  6. Đóng cửa sổ — các cài đặt sẽ tự động được áp dụng

⚠️ Quan trọng cần biết

Các cài đặt proxy qua GNOME chỉ áp dụng cho các ứng dụng đọc cài đặt hệ thống: trình duyệt GNOME Web, một số ứng dụng GNOME. Các tiện ích dòng lệnh (curl, wget, apt) không sử dụng các cài đặt này — chúng cần các biến môi trường từ phần trước. Firefox và Chromium có các cài đặt proxy riêng.

Cấu hình qua gsettings (terminal + GUI)

Nếu bạn muốn quản lý các cài đặt proxy hệ thống GNOME qua terminal (ví dụ, để tự động hóa), hãy sử dụng lệnh gsettings:

# Bật chế độ proxy thủ công
gsettings set org.gnome.system.proxy mode 'manual'

# Thiết lập proxy HTTP
gsettings set org.gnome.system.proxy.http host 'host'
gsettings set org.gnome.system.proxy.http port 3128

# Thiết lập proxy HTTPS
gsettings set org.gnome.system.proxy.https host 'host'
gsettings set org.gnome.system.proxy.https port 3128

# Thiết lập proxy SOCKS5
gsettings set org.gnome.system.proxy.socks host 'host'
gsettings set org.gnome.system.proxy.socks port 1080

# Tắt proxy
gsettings set org.gnome.system.proxy mode 'none'

Proxy cho APT — cài đặt gói qua proxy

Trình quản lý gói APT (được sử dụng trong Ubuntu và Debian) có hệ thống cấu hình proxy riêng, không phụ thuộc vào các biến môi trường. Điều này đặc biệt quan trọng đối với các máy chủ không có quyền truy cập trực tiếp vào internet hoặc cho các mạng doanh nghiệp.

Cách 1: Proxy tạm thời cho một lệnh

# Sử dụng proxy cho một lệnh apt
sudo apt-get -o Acquire::http::Proxy="http://login:password@host:port" update

# Hoặc qua biến môi trường
sudo http_proxy="http://login:password@host:port" apt-get update

Cách 2: Proxy vĩnh viễn cho APT

Tạo một tệp cấu hình cho APT. Cách này được khuyến nghị cho các máy chủ, nơi proxy cần được sử dụng liên tục:

# Tạo tệp cấu hình
sudo nano /etc/apt/apt.conf.d/95proxies

# Thêm nội dung:
Acquire::http::Proxy "http://login:password@host:port";
Acquire::https::Proxy "http://login:password@host:port";
Acquire::ftp::Proxy "ftp://login:password@host:port";

# Lưu và kiểm tra:
sudo apt-get update

Nếu proxy không cần xác thực, các dòng sẽ đơn giản hơn: Acquire::http::Proxy "http://host:port";. Để tắt proxy cho APT, chỉ cần xóa tệp đã tạo bằng lệnh sudo rm /etc/apt/apt.conf.d/95proxies.

Proxy cho curl và wget

Curl và wget là các công cụ chính để làm việc với các yêu cầu HTTP trong Linux. Chúng được sử dụng cho việc phân tích, kiểm tra API, tải xuống tệp. Cả hai công cụ đều hỗ trợ proxy trực tiếp qua các tham số dòng lệnh.

Curl với proxy

# Proxy HTTP
curl -x http://login:password@host:port https://example.com

# Proxy SOCKS5
curl --socks5 host:port --proxy-user login:password https://example.com

# Kiểm tra IP của bạn qua proxy
curl -x http://login:password@host:port https://api.ipify.org

# Bỏ qua lỗi SSL (nếu cần)
curl -x http://login:password@host:port -k https://example.com

Để không phải chỉ định proxy mỗi lần, hãy thêm cài đặt vào tệp ~/.curlrc:

nano ~/.curlrc

# Thêm dòng:
proxy = "http://login:password@host:port"

# Bây giờ curl sẽ luôn sử dụng proxy này:
curl https://api.ipify.org

Wget với proxy

# Qua tham số dòng lệnh
wget -e "http_proxy=http://login:password@host:port" https://example.com

# Cài đặt vĩnh viễn trong ~/.wgetrc
nano ~/.wgetrc

# Thêm các dòng:
http_proxy = http://login:password@host:port
https_proxy = http://login:password@host:port
use_proxy = on

Proxy cho Firefox và Chromium trên Linux

Các trình duyệt trên Linux có các cài đặt proxy riêng, hoạt động độc lập với các cài đặt hệ thống. Điều này thuận tiện nếu bạn muốn sử dụng proxy chỉ trong trình duyệt mà không ảnh hưởng đến lưu lượng còn lại.

Firefox: cài đặt thủ công

  1. Mở Firefox → nhấn vào ba sọc ở góc trên bên phải → “Cài đặt”
  2. Cuộn xuống phần “Máy chủ proxy” → nhấn “Cài đặt”
  3. Chọn “Cài đặt proxy thủ công”
  4. Điền vào các trường:
    • Proxy HTTP: địa chỉ host, port
    • Đánh dấu vào ô “Sử dụng máy chủ proxy này cho tất cả các giao thức”
    • Hoặc chỉ định riêng SOCKS: địa chỉ, port, chọn SOCKS v5
  5. Nhấn OK

Nếu proxy yêu cầu xác thực, Firefox sẽ yêu cầu tên đăng nhập và mật khẩu khi truy cập lần đầu và sẽ nhớ chúng. Để chuyển đổi nhanh giữa nhiều proxy, hãy cài đặt tiện ích mở rộng FoxyProxy — nó cho phép tạo các hồ sơ và chuyển đổi chỉ với một cú nhấp chuột.

Chromium / Google Chrome: khởi động với proxy

Chromium trên Linux không có các cài đặt proxy tích hợp trong giao diện — nó sử dụng các cài đặt hệ thống. Nhưng bạn có thể khởi động trình duyệt với proxy cụ thể qua tham số dòng lệnh:

# Khởi động Chromium với proxy HTTP
chromium-browser --proxy-server="http://host:port"

# Khởi động với proxy SOCKS5
chromium-browser --proxy-server="socks5://host:port"

# Khởi động với proxy và bỏ qua localhost
chromium-browser --proxy-server="http://host:port" \
  --proxy-bypass-list="localhost;127.0.0.1"

# Đối với Google Chrome, thay thế chromium-browser bằng google-chrome
google-chrome --proxy-server="socks5://host:port"

💡 Mẹo cho đa tài khoản

Nếu bạn quản lý nhiều tài khoản qua trình duyệt trên Linux, việc sử dụng trình duyệt thông thường với proxy là không đủ — các trang web theo dõi fingerprint của trình duyệt, cookies và các tham số khác. Để có đa tài khoản hoàn chỉnh, hãy sử dụng các trình duyệt chống phát hiện: Dolphin Anty, AdsPower hoặc GoLogin — chúng tạo ra các hồ sơ cách ly với các proxy riêng cho mỗi tài khoản.

Proxychains — proxy cho bất kỳ ứng dụng nào không hỗ trợ

Một số ứng dụng không hỗ trợ cấu hình proxy qua biến môi trường hoặc qua các tham số riêng. Trong trường hợp này, proxychains là công cụ hữu ích, nó chặn các cuộc gọi mạng của bất kỳ chương trình nào và chuyển hướng chúng qua proxy. Điều này đặc biệt hữu ích cho các trình phân tích được viết bằng Python hoặc các tiện ích chuyên dụng.

Cài đặt proxychains

# Ubuntu / Debian
sudo apt-get update
sudo apt-get install proxychains4

# Kiểm tra cài đặt
proxychains4 --version

Cấu hình tệp cấu hình

# Mở tệp cấu hình
sudo nano /etc/proxychains4.conf

# Tìm dòng "dynamic_chain" — bỏ chú thích nó (xóa #):
dynamic_chain

# Chú thích "strict_chain" (thêm # vào đầu):
# strict_chain

# Ở cuối tệp trong phần [ProxyList] thêm proxy của chúng ta:
# Định dạng: loại  host  port  [tên đăng nhập]  [mật khẩu]

# Proxy HTTP không cần xác thực:
http  192.168.1.1  3128

# SOCKS5 có xác thực:
socks5  host  1080  login  password

Sử dụng proxychains

Sau khi cấu hình, chỉ cần thêm proxychains4 trước bất kỳ lệnh nào:

# Khởi động curl qua proxy
proxychains4 curl https://api.ipify.org

# Khởi động kịch bản Python qua proxy
proxychains4 python3 parser.py

# Khởi động nmap qua proxy
proxychains4 nmap -sT target.com

# Mở Firefox qua proxy
proxychains4 firefox

Chế độ dynamic_chain có nghĩa là nếu một proxy không khả dụng, proxychains sẽ thử proxy tiếp theo trong danh sách. Điều này thuận tiện nếu bạn có nhiều proxy — hãy thêm tất cả vào [ProxyList] và nhận được tự động xoay vòng.

Cách kiểm tra xem proxy có hoạt động không

Sau khi cấu hình, hãy chắc chắn kiểm tra rằng lưu lượng thực sự đi qua proxy, chứ không phải trực tiếp. Dưới đây là một số cách nhanh chóng:

Kiểm tra qua curl

# Xem IP hiện tại không qua proxy
curl https://api.ipify.org
# Kết quả: IP thực của bạn, ví dụ 85.12.34.56

# Xem IP qua proxy
curl -x http://login:password@host:port https://api.ipify.org
# Kết quả phải khác — đây là IP của máy chủ proxy

# Thông tin mở rộng về IP
curl -x http://login:password@host:port https://ipinfo.io/json

Kiểm tra các biến môi trường

# Xem các biến proxy đã thiết lập
env | grep -i proxy

# Kết quả mong đợi:
# http_proxy=http://login:password@host:port
# https_proxy=http://login:password@host:port

Kiểm tra khả năng truy cập máy chủ proxy

# Kiểm tra xem cổng proxy có mở và phản hồi không
nc -zv host port
# Ví dụ: nc -zv 192.168.1.1 3128

# Nếu nc không được cài đặt:
telnet host port

✅ Danh sách kiểm tra proxy

  • IP trong phản hồi curl khác với IP thực của bạn
  • Quốc gia và thành phố trong ipinfo.io tương ứng với proxy đã chọn
  • Không có lỗi Connection refused hoặc 407 Proxy Authentication Required
  • Tốc độ kết nối chấp nhận được (kiểm tra qua curl với cờ -w "%{time_total}")

Kịch bản thực tế: phân tích, giám sát, đa tài khoản

Hãy xem xét các nhiệm vụ cụ thể mà người dùng thường gặp khi cấu hình proxy trên Linux.

Kịch bản 1: Phân tích Wildberries và Ozon từ máy chủ Linux

Các nhà bán hàng trên các thị trường thường chạy các trình phân tích giá trên VPS với Ubuntu. Wildberries và Ozon thường xuyên chặn các yêu cầu từ các địa chỉ IP máy chủ. Để vượt qua sự bảo vệ này, cần sử dụng các proxy cư trú — chúng trông giống như người dùng bình thường tại nhà.

Sơ đồ cấu hình được khuyến nghị cho việc phân tích các thị trường:

  1. Thiết lập các biến môi trường với dữ liệu proxy cư trú trong tệp ~/.bashrc
  2. Nếu bạn sử dụng kịch bản Python — hãy đảm bảo rằng thư viện requests đọc các biến môi trường (mặc định là đọc)
  3. Để xoay vòng IP, hãy cấu hình nhiều proxy trong proxychains với chế độ dynamic_chain
  4. Thêm độ trễ giữa các yêu cầu (1-3 giây) — điều này giảm thiểu rủi ro bị chặn
  5. Kiểm tra IP sau mỗi 50-100 yêu cầu qua curl https://api.ipify.org

Kịch bản 2: Giám sát giá của đối thủ trên Avito

Avito chặn các yêu cầu dựa trên nhiều tiêu chí: tần suất yêu cầu, loại User-Agent, địa chỉ IP. Để giám sát các quảng cáo từ máy chủ Linux, hãy sử dụng cách tiếp cận sau:

# Ví dụ về yêu cầu đến Avito qua proxy với các tiêu đề đúng
curl -x http://login:password@host:port \
  -H "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36" \
  -H "Accept-Language: ru-RU,ru;q=0.9" \
  -H "Accept: text/html,application/xhtml+xml" \
  "https://www.avito.ru/moskva/nedvizhimost"

Đối với Avito, đặc biệt quan trọng là sử dụng proxy với các địa chỉ IP của Nga. Các proxy cư trú với định vị địa lý ở thành phố cần thiết cho phép xem các quảng cáo liên kết với khu vực cụ thể.

Kịch bản 3: Làm việc với Facebook Ads và Instagram qua Linux

Các nhà quảng cáo làm việc trên Linux (thường qua VPS) sử dụng các trình duyệt chống phát hiện để quản lý các tài khoản quảng cáo. Sơ đồ làm việc:

  1. Cài đặt Dolphin Anty hoặc AdsPower trên Linux (cả hai đều có phiên bản cho Linux)
  2. Tạo một hồ sơ trình duyệt riêng cho mỗi tài khoản Facebook Ads
  3. Trong cài đặt của mỗi hồ sơ, chỉ định một proxy riêng
  4. Đối với Facebook và Instagram, các proxy di động được khuyến nghị — chúng có IP thực của các nhà mạng di động và rủi ro bị chặn tối thiểu
  5. Proxy hệ thống Linux không cần thiết — trình duyệt chống phát hiện quản lý proxy ở cấp độ mỗi hồ sơ

So sánh các phương pháp cấu hình proxy trên Linux

Phương pháp Phạm vi Độ khó Tốt hơn cho
Biến môi trường Hầu hết các tiện ích CLI Thấp Kịch bản, curl, pip
GNOME GUI Ứng dụng GNOME Thấp Desktop không có terminal
Cấu hình APT Chỉ APT Thấp Máy chủ sau NAT
Proxychains Bất kỳ ứng dụng nào Trung bình Trình phân tích, tiện ích bên ngoài
Cài đặt trình duyệt Chỉ trình duyệt Thấp Làm việc thủ công trong trình duyệt

Những lỗi thường gặp khi cấu hình proxy trên Linux

  • Chỉ biến chữ thường — một số chương trình chỉ đọc HTTP_PROXY (chữ hoa), trong khi những cái khác chỉ đọc http_proxy. Hãy thiết lập cả hai tùy chọn.
  • Quên source — sau khi thay đổi .bashrc, bạn cần thực hiện source ~/.bashrc, nếu không các thay đổi sẽ không được áp dụng.
  • Proxy không hoạt động với sudo — khi sử dụng sudo, các biến môi trường của người dùng không được truyền. Sử dụng sudo -E để truyền các biến.
  • localhost đi qua proxy — luôn thêm vào no_proxy các giá trị localhost,127.0.0.1.
  • Định dạng URL không đúng — đối với proxy HTTP, hãy chắc chắn chỉ định giao thức: http:// hoặc socks5://.

Kết luận

Cấu hình proxy trên Linux Ubuntu và Debian là một nhiệm vụ có thể được giải quyết bằng nhiều cách tùy thuộc vào mục tiêu của bạn. Đối với hầu hết các nhiệm vụ, các biến môi trường là đủ: chúng bao phủ curl, wget, pip và hầu hết các kịch bản. Để bao phủ toàn bộ lưu lượng của bất kỳ ứng dụng nào, hãy sử dụng proxychains. Đối với trình duyệt — sử dụng các cài đặt tích hợp hoặc khởi động với tham số --proxy-server. Đối với APT — một tệp cấu hình riêng.

Nguyên tắc chính: chọn phương pháp phù hợp với nhiệm vụ cụ thể. Không cần thiết phải cấu hình proxy hệ thống nếu bạn chỉ cần proxy cho một kịch bản. Và ngược lại — nếu toàn bộ lưu lượng của máy chủ cần đi qua proxy, hãy thiết lập các biến trong /etc/environment một lần và quên đi.

Nếu bạn sử dụng Linux để phân tích các thị trường, giám sát giá hoặc thực hiện các yêu cầu tự động, hãy chú ý đến proxy cư trú — chúng có IP thực của người dùng tại nhà, gần như không bị chặn trên Wildberries, Ozon và Avito. Để làm việc với các tài khoản quảng cáo Facebook Ads và Instagram qua các trình duyệt chống phát hiện trên Linux, các proxy di động sẽ rất phù hợp — rủi ro bị chặn tối thiểu và độ tin cậy tối đa từ các nền tảng.

```