cntlm
cung cấp một giải pháp, cùng với một số cấu hình.
Các bước cơ bản để làm theo là:
- Cài đặt cntlm.
- Chỉnh sửa tập tin cấu hình của nó tại /etc/cntlm.conf, các ý kiến bao gồm làm cho nó đủ dễ dàng.
- Thêm một máy chủ proxy (hoặc hai).
- Chỉ định tên người dùng và tên miền NT của bạn ở những nơi thích hợp và xóa mục nhập mật khẩu.
Bắt đầu dịch vụ cntlm, ví dụ thông qua
$ sudo /etc/init.d/cntlm start
cntlm cung cấp một cách để kiểm tra proxy và tạo hàm băm từ mật khẩu của bạn - ví dụ: bằng lệnh (với quyền root)
$ cntlm -I -M http://www.test.com
cntlm sẽ nhắc mật khẩu tên miền của bạn. Sau đó, nó sẽ kiểm tra các cơ chế xác thực khác nhau đối với máy chủ proxy được cấu hình. Khi một phương thức làm việc được tìm thấy, nó sẽ in hai dòng cần đi vào tập tin cấu hình của nó.
- Dừng máy chủ cntlm và thêm các dòng thu được ở bước 6 ở trên vào
/etc/cntlm.conf
.
- Khởi động lại cntlm
Bây giờ cntlm
đang chạy và sẵn sàng để được sử dụng. Một số địa điểm có thể được sử dụng để cấu hình các chương trình khác nhau để sử dụng nó. cntlm
sau đó sẽ thêm mã thông báo xác thực miền NT vào các gói gửi đi và chuyển tiếp chúng đến máy chủ proxy được định cấu hình.
Sử dụng Qt / KDE
Đối với các ứng dụng gốc Qt / KDE, chỉ định "Sử dụng máy chủ proxy được cấu hình thủ công" trong Cài đặt hệ thống KDE -> Cài đặt mạng -> Cài đặt proxy . Proxy được chỉ định như http://localhost
với cổng 3128 (Mặc định cntlm
trừ khi bạn thay đổi nó). Các ứng dụng này được cập nhật động với các cài đặt mới và không cần khởi động lại hoặc đăng xuất / đăng nhập để cập nhật cài đặt.
Dropbox và khách hàng của Google
Nhiều ứng dụng có thể sử dụng các biến môi trường shell. Đáng chú ý ở đây là các ứng dụng khách Dropbox và Google Earth. Đối với các ứng dụng này, sử dụng các biến môi trường shell như sau:
no_proxy=localhost,127.0.0.0/8,*.local
NO_PROXY=localhost,127.0.0.0/8,*.local
all_proxy=socks://localhost:3128/
ALL_PROXY=socks://localhost:3128
http_proxy=http://localhost:3128
HTTP_PROXY=http://localhost:3128
ftp_proxy=http://localhost:3128
FTP_PROXY=http://localhost:3128
https_proxy=http://localhost:3128
HTTPS_PROXY=http://localhost:3128
s3cmd, cuộn tròn, và wget
Lưu ý: Một số ứng dụng sẽ chỉ sử dụng tên viết thường, một số khác chỉ sử dụng tên viết hoa, một số ứng dụng trước tiên sẽ thử tên này, sau đó là tên khác.
s3cmd
(Ứng dụng khách Amazon S3) curl
và wget
có thể được định cấu hình thông qua các tệp cấu hình của riêng họ nếu muốn. Điều này rất hữu ích vì họ đọc các tệp cấu hình của riêng họ trên mỗi lệnh gọi. Vì các chương trình này thường có thời gian tồn tại ngắn (Một lệnh gọi duy nhất tồn tại sau khi hoàn thành tải xuống) rất hữu ích.
Định dạng cho s3cmd
trong ~/.s3cfg
là:
proxy_host = localhost
proxy_port = 3128
Định dạng cho wget in ~/.wgetrc
là:
https_proxy = http://localhost:3128
http_proxy = http://localhost:3128
ftp_proxy = http://localhost:3128
Định dạng cho curl
trong ~/.curlrc
là:
proxy = localhost:3128
Mặt khác, hồ sơ shell chỉnh sửa hoặc các tệp cấu hình môi trường khác thường yêu cầu khởi động lại, đăng xuất và đăng nhập lại hoặc tương tự. Đó là giá trị điều tra /etc/environment
, ~/.pam_environment
, ~/.kde/env/proxy.sh
vv vì đây là những nơi tiêu chuẩn để thiết lập cài đặt proxy cấu hình thông qua biến môi trường vỏ, đặc biệt là ảnh hưởng đến tất cả người dùng và các dịch vụ trên hệ thống.
Tôi cũng hiểu rằng có thể thay đổi cài đặt môi trường trên cơ sở mỗi ứng dụng bằng cách sử dụng các .desktop
tệp tương ứng của họ nhưng chưa thử (thành công).
VirtualBox
VirtualBox có thể được cấu hình để sử dụng proxy (ví dụ: để kiểm tra và tải xuống các bản cập nhật phần mềm) bằng GUI của nó hoặc sử dụng lệnh:
$ VBoxManage setextradata global GUI/ProxySettings \
"proxyEnabled,localhost,3128,authDisabled,,"
Để hoàn thiện hơn, để vô hiệu hóa nó, hãy sử dụng:
$ VBoxManage setextradata global GUI/ProxySettings \
"proxyDisabled,,,authDisabled,,"
Firefox
Đối với Firefox tôi sử dụng addon QuickProxy. Bản thân Firefox nếu được cấu hình thủ công để sử dụng máy chủ proxy trên máy cục bộ, do đó QuickProxy chỉ bật / tắt cài đặt.
ĐÚNG CÁCH
APT (được sử dụng trong nền bởi synaptic, muon và bạn bè) sử dụng tệp cấu hình trong /etc/apt/apt.conf.d/
, ví dụ: 00proxy
Kích hoạt proxy cho APT được thực hiện bằng các dòng như:
Acquire::http::Proxy "http://localhost:3128";
#Acquire::ftp::proxy "ftp://localhost:3128/";
#Acquire::https::proxy "https://localhost:3128/";
Lưu ý: add-apt-repository sử dụng cấu hình gốc hoặc bạn có thể định cấu hình sudo để cho phép tất cả các cài đặt http * _proxy vượt qua.
Một kịch bản để cai trị tất cả
FWIW Tôi hiện đang trong quá trình viết một kịch bản mô-đun để bật / tắt proxy cho nhiều chương trình. Tôi đã viết các mô-đun sau:
$ ls -lF proxymanager/modules/
total 60
-rwxr-xr-x 1 root root 919 Oct 8 17:27 apt*
-rwxr-xr-x 1 root root 1037 Oct 8 13:10 bashrc*
-rwxr-xr-x 1 root root 391 Oct 8 12:18 cntlm*
-rwxr-xr-x 1 root root 684 Oct 8 12:58 curl*
-rwxr-xr-x 1 root root 609 Oct 8 13:02 dropbox*
-rwxr-xr-x 1 root root 672 Oct 8 12:18 gnome*
-rwxr-xr-x 1 root root 691 Oct 8 12:18 kde*
-rwxr-xr-x 1 root root 689 Oct 8 13:03 root_bashrc*
-rwxr-xr-x 1 root root 691 Oct 8 13:03 root_curl*
-rwxr-xr-x 1 root root 827 Oct 8 13:03 s3cmd*
-rwxr-xr-x 1 root root 454 Oct 8 13:03 survive_reboot*
-rwxr-xr-x 1 root root 860 Oct 8 13:06 suse-sysproxy*
-rwxr-xr-x 1 root root 653 Oct 8 12:46 sysenvironment*
-rwxr-xr-x 1 root root 465 Oct 8 13:04 virtualbox*
-rwxr-xr-x 1 root root 573 Oct 8 13:04 wgetrc*
Cũng như một ứng dụng điều khiển. Chúng hy vọng sẽ sớm được chuyển vào một github hoặc nhà trực tuyến khác.