Làm cách nào để đặt máy chủ proxy toàn hệ thống trong Xubfox, Lubfox hoặc Ubuntu Studio?


83

Tôi không thể tìm thấy cài đặt proxy ở bất cứ đâu. Tôi có phải thiết lập nó thông qua thiết bị đầu cuối, thông qua gconftoolshoặc có một số GUI hiện diện cho nó không?

Câu trả lời:


115

Các proxy toàn hệ thống trong Ubuntu Studio, Xubfox và XFCE phải được đặt thông qua các biến môi trường

Ubuntu Studio, giống như Xubfox, sử dụng môi trường máy tính để bàn XFCE không chứa công cụ cài đặt đồ họa để đặt proxy toàn hệ thống ( không giống như môi trường máy tính để bàn Ubuntu mặc định, Unity ).

1. Thiết lập proxy / proxy cho hầu hết các chương trình

  • Mở /etc/environmenttệp bằng gksudo leafpad(hoặc trình chỉnh sửa yêu thích của bạn). Tệp này lưu trữ các biến toàn hệ thống được khởi tạo khi khởi động.
  • Thêm các dòng sau, sửa đổi cho phù hợp. Bạn phải sao chép cả chữ hoa và chữ thường vì (không may) một số chương trình chỉ tìm cái này hoặc cái kia:

    http_proxy = http: //myproxy.server.com: 8080 /
    https_proxy = http: //myproxy.server.com: 8080 /
    ftp_proxy = http: //myproxy.server.com: 8080 /
    no_proxy = "localhost, 127.0.0.1, localaddress, .localdomain.com"
    HTTP_PROXY = http: //myproxy.server.com: 8080 /
    HTTPS_PROXY = http: //myproxy.server.com: 8080 /
    FTP_PROXY = http: //myproxy.server.com: 8080 /
    NO_PROXY = "localhost, 127.0.0.1, localaddress, .localdomain.com"
    

2. Sau đó, thiết lập proxy cho các chương trình GTK3 như Rhybeatbox:

Một số chương trình GTK3 mới hơn như Rhybeatbox bỏ qua các biến môi trường được đặt ở trên và thay vào đó dựa vào cài đặt Gnome. Để đảm bảo chúng được bảo hiểm, hãy mở một thiết bị đầu cuối và dán từng dòng dưới đây, sửa đổi cho phù hợp:

gsettings set org.gnome.system.proxy mode 'manual' 
gsettings set org.gnome.system.proxy.http host 'myproxy.server.com'
gsettings set org.gnome.system.proxy.http port 8080

3. Cuối cùng, hãy thiết lập proxy cho apt-getvà Trình quản lý cập nhật

  • Các chương trình này cũng sẽ không tuân theo các biến môi trường. Tạo một tệp được gọi 95proxiestrong /etc/apt/apt.conf.d/và bao gồm các mục sau:

    Mua lại :: http :: proxy "http://myproxy.server.com:8080/";
    Thu nhận :: ftp :: proxy "ftp://myproxy.server.com:8080/";
    Mua lại :: https :: proxy "https://myproxy.server.com:8080/";
    

Cuối cùng, đăng xuất và khởi động lại để đảm bảo các thay đổi có hiệu lực.


Nguồn: 1 , 2 , 3 . Xem 1 đặc biệt để được trợ giúp thêm, bao gồm tập lệnh để nhanh chóng bật / tắt proxy.


Các kịch bản để bật / tắt máy chủ Proxy :

Tuyên bố miễn trừ trách nhiệm :: Trước khi tiếp tục, lưu ý rằng tôi đã thử điều này trên LubFi 14.04 và điều quan trọng là trước khi bạn chạy các tập lệnh được đề cập, tệp /etc/environmentchỉ nên có một dòng trong đó là '$ PATH ...' và không có gì khác trong tệp, bạn có thể cần phải sửa đổi mã của tập lệnh. Các tập lệnh này thiết lập và bỏ đặt proxy như được mô tả ở trên, nhưng chúng dựa vào việc cắt bớt tệp và tệp bổ sung để thay đổi /etc/environment/etc/apt/apt.conf.d/95proxiestệp. Vì vậy, hãy chắc chắn rằng:

1) /etc/environmentchỉ chứa một dòng, ví dụ '$ PATH: ...'. Và không có gì khác.

2) Tập tin /etc/apt/apt.conf.d/95proxieskhông tồn tại hoặc không có gì quan trọng trong đó.

Vì thế! Nếu bạn muốn tự động hóa quá trình bật và tắt proxy mà không phải gõ phân bổ. bạn có thể tạo hai tập lệnh shell thực thi proxyon.shproxyoff.shnhư:

proxyon.sh:

if [ $(id -u) -ne 0 ]; then
  echo "This script must be run as root";
  exit 1;
fi

if [ $# -eq 2 ]
  then

  gsettings set org.gnome.system.proxy mode 'manual' ;
  gsettings set org.gnome.system.proxy.http host '$1';
  gsettings set org.gnome.system.proxy.http port $2;


  grep PATH /etc/environment > lol.t;
  printf \
  "http_proxy=http://$1:$2/\n\
  https_proxy=http://$1:$2/\n\
  ftp_proxy=http://$1:$2/\n\
  no_proxy=\"localhost,127.0.0.1,localaddress,.localdomain.com\"\n\
  HTTP_PROXY=http://$1:$2/\n\
  HTTPS_PROXY=http://$1:$2/\n\
  FTP_PROXY=http://$1:$2/\n\
  NO_PROXY=\"localhost,127.0.0.1,localaddress,.localdomain.com\"\n" >> lol.t;

  cat lol.t > /etc/environment;


  printf \
  "Acquire::http::proxy \"http://$1:$2/\";\n\
  Acquire::ftp::proxy \"ftp://$1:$2/\";\n\
  Acquire::https::proxy \"https://$1:$2/\";\n" > /etc/apt/apt.conf.d/95proxies;

  rm -rf lol.t;

  else

  printf "Usage $0 <proxy_ip> <proxy_port>\n";

fi

proxyoff.sh:

if [ $(id -u) -ne 0 ]; then
  echo "This script must be run as root";
  exit 1;
fi

gsettings set org.gnome.system.proxy mode 'none' ;

grep PATH /etc/environment > lol.t;
cat lol.t > /etc/environment;

printf "" > /etc/apt/apt.conf.d/95proxies;

rm -rf lol.t;

Cách sử dụng : Một khi bạn đã tạo các tập lệnh này, làm cho chúng có thể thực thi được, bạn có thể giữ chúng ở bất cứ đâu bạn muốn. Để bật proxy, tất cả những gì bạn phải làm là vào thư mục chứa tập lệnh 'proxyon.sh' và sau đó bạn cần nhập sudo ./proxyon.sh {host} {port}. Như một ví dụ xem xét điều này:

 $ sudo ./proxyon.sh 10.2.20.17 8080
 OR
 $ sudo ./proxyon.sh myproxy.server.com 8080

Trong đó '10 .2.20.17 'là IP của máy chủ proxy - bạn cũng có thể nhập nội dung nào đó như myproxy.server.com - và' 8080 'là cổng. Sau đó, chỉ cần đăng xuất và đăng nhập vào tài khoản của bạn, để đảm bảo rằng mọi thứ đã được đặt. Bạn có thể bắt đầu sử dụng internet hoặc bất cứ điều gì sau đó. Và khi bạn muốn tắt proxy, hãy chuyển đến thư mục chứa 'proxyoff.sh' và gõ:

 $ sudo ./proxyoff.sh

Điều này sẽ bỏ đặt tất cả các proxy của bạn. Bây giờ hãy đăng xuất và đăng nhập lại để chuyển sang chế độ bình thường.



nếu bạn cần auth cho proxy apt-get, bạn có thể đặt chúng như thế này: Acquire :: http :: proxy " user: pass@myproxy.server.com: 8080 ";
Jim Ford

3
Ở trên làm việc cho tôi. Nhưng khi tôi mang máy tính xách tay đi làm về, nơi không có proxy - tôi không thể kết nối với internet. Có cách nào ngắn gọn để vô hiệu hóa lại proxy khi tôi về nhà mà không đi đến cực đoan của các tệp cấu hình xoay vòng và khởi động lại không? Nó sẽ là một bổ sung tốt đẹp cho câu trả lời.
TenLeftFingers

Để bảo mật trong khi sử dụng WiFi công cộng, tôi đang cố gắng định cấu hình trình duyệt Chromium của mình (trong Xubfox 16.04 LTS) để vượt qua tất cả các yêu cầu trang web thông qua proxy PuTTY vớ5 tại localhost: 10001, được truyền qua Raspberry Pi tại nhà trong khi tôi đang xa nhà. Các hướng dẫn ở trên không hoạt động đối với proxy5 trông giống như vậy, vì vậy hy vọng tôi có thể tìm ra. .
Gabriel Staples

Nếu bạn có thể thêm các hướng dẫn / sửa đổi của Vớ 5, điều đó cũng hữu ích. Cảm ơn!
Gabriel Staples

8

có một công cụ đồ họa được gọi là UbProxy, thiết lập toàn bộ proxy hệ thống, thông qua giao diện đồ họa (GUI). Vấn đề duy nhất đối với tôi là tôi phải đăng xuất người dùng và đăng nhập lại để tải cấu hình. Rất đơn giản để sử dụng. https://code.google.com.vn/p/ubproxy/


trông đầy hứa hẹn.
Dee

Bạn có thể tự động định cấu hình tất cả các cài đặt proxy khác nhau được yêu cầu bởi các ứng dụng khác nhau khi bạn kết nối với WiFi hoặc thậm chí kết nối mạng có dây. Xem: gist.github.com/frgomes/544014b53e5384e00847da20b3e1da5b
Richard Gomes

3

Tôi có một số chức năng để đối phó với điều đó. Gọi họ như thế này:

myProxyOn

https://gist.github.com/fernando-basso/6352040

#!/usr/bin/env bash

# gsettings list-recursively org.gnome.system.proxy

# Change de ip address and port number accordingly.
function myProxyOn() {
    gsettings set org.gnome.system.proxy mode 'manual' # ' manual / nome / automatic '
    gsettings set org.gnome.system.proxy.http host '10.0.0.1'
    gsettings set org.gnome.system.proxy.http port 8080
    gsettings set org.gnome.system.proxy.https host '10.0.0.1'
    gsettings set org.gnome.system.proxy.https port 8080
    gsettings set org.gnome.system.proxy.ftp host '10.0.0.1'
    gsettings set org.gnome.system.proxy.ftp port 8080

    echo "Configuração do 'System Proxy' settada para 'manual', com host 10.0.0.1, port 8080."
}

function myProxyOff() {
    gsettings set org.gnome.system.proxy mode 'none' # ' manual / nome / automatic '
    echo "Proxy cofigurado para 'none'."
}

function proxyOn() { # {{{
    #echo -n 'Username: '
    #read -e username
    #echo -n 'Password: '
    #read -es password
    #echo ''
    echo 'Setting variable "http_proxy"...'
    #export http_proxy="http://$username:$password@172.17.0.1:8080/"
    export http_proxy="http://10.0.0.1:8080/"
    echo 'Setting variable "https_proxy..."'
    export https_proxy="https://10.0.0.1:8080/"
    echo 'Setting variable "ftp_proxy"...'
    #export ftp_proxy="http://$username:$password@172.17.0.1:8080/"
    export ftp_proxy="ftp://10.0.0.1:8080/"
    echo 'Done!'
}

function proxyOff() {
    unset HTTP_PROXY
    unset http_proxy
    unset FTP_proxy
    unset ftp_proxy
    echo -e "\nProxy environment variables removed!"
}

1
đó là một gợi ý khủng khiếp để lưu trữ mật khẩu trong một tệp văn bản
BЈовић

1
@ BЈовић: Bạn nói đúng. Trong trường hợp của tôi, đó là mật khẩu proxy uni công khai, vì vậy, tôi đoán nó không thành vấn đề.
Fernando Basso

Bất kỳ ý tưởng làm thế nào để cấu hình một proxy vớ?
Gabriel Staples

0

Không cần thiết phải khởi động lại toàn bộ hệ thống để chỉnh sửa apt-get thông qua tệp proxy95 trong /etc/apt/apt.conf.d

  • Nó chỉ hoạt động ngay sau khi tập tin được viết và
  • nó biến mất ngay lập tức sau khi tập tin biến mất.

Xem xét tập lệnh để bật và tắt tệp bằng cách đổi tên tệp thành * .bak để chuyển nhanh proxy nếu cần.


-3

Chuyển đến Dash Home loại Cài đặt hệ thống, nhấp vào cài đặt hệ thống sau đó cài đặt mạng. Các cài đặt proxy sẽ hiển thị cho bạn. Bấm vào hệ thống rộng. Nó có thể hoạt động như trong cài đặt proxy hệ thống.


1
Studio sử dụng xfce chứ không phải Ubuntu.
23 93 26 35 19 57 3 89

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.