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
- 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)
- Trong menu bên trái, cuộn xuống và chọn “Mạng” (Network)
- Trong phần “Proxy mạng”, nhấn nút có mũi tên (biểu tượng cài đặt)
- 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
- 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
- Đó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
- Mở Firefox → nhấn vào ba sọc ở góc trên bên phải → “Cài đặt”
- Cuộn xuống phần “Máy chủ proxy” → nhấn “Cài đặt”
- Chọn “Cài đặt proxy thủ công”
- Đ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
- 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 refusedhoặc407 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:
- Thiết lập các biến môi trường với dữ liệu proxy cư trú trong tệp
~/.bashrc - 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) - Để xoay vòng IP, hãy cấu hình nhiều proxy trong proxychains với chế độ
dynamic_chain - 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
- 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:
- Cài đặt Dolphin Anty hoặc AdsPower trên Linux (cả hai đều có phiên bản cho Linux)
- Tạo một hồ sơ trình duyệt riêng cho mỗi tài khoản Facebook Ads
- Trong cài đặt của mỗi hồ sơ, chỉ định một proxy riêng
- Đố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
- 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ỉ đọchttp_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ệnsource ~/.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_proxycá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ặcsocks5://.
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.