Налаштування проксі-серверів у ubuntu


22

Я хотів використовувати Інтернет на своєму проксі-сервері коледжу, який також вимагає автентифікації. Я шукав google для рішень, і найкраще рішення, яке я знайшов, було це . Я змінив сценарій у прийнятій відповіді, щоб включити аутентифікацію. Ось це іде:

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

if [ $# -eq 4 ] 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;
gsettings set org.gnome.system.proxy.http authentication-user '$3';
gsettings set org.gnome.system.proxy.http authentication-password '$4';


grep PATH /etc/environment > lol.t;
printf \
"http_proxy=http://$3:$4@$1:$2/\n\
 https_proxy=http://$3:$4@$1:$2/\n\
 ftp_proxy=http://$3:$4@$1:$2/\n\
 no_proxy=\"localhost,127.0.0.1,localaddress,.localdomain.com\"\n\
 HTTP_PROXY=http://$3:$4@$1:$2/\n\
 HTTPS_PROXY=http://$3:$4@$1:$2/\n\
 FTP_PROXY=http://$3:$4@$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://$3:$4@$1:$2/\";\n\
  Acquire::ftp::proxy \"ftp://$3:$4@$1:$2/\";\n\
  Acquire::https::proxy \"https://$3:$4@$1:$2/\";\n" > /etc/apt/apt.conf.d/95proxies;

rm -rf lol.t;

else

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

fi

Однак Інтернет-акаунти все ще не працюють (те саме для ритмбокса та інших програм GTK3) . З'являється білий екран таким чином:

введіть тут опис зображення

Будь-які пропозиції щодо того, як це можна вирішити?


Відповіді:


31

Вирішили це остаточно:

(Виконайте послідовно кроки)

1. Для програм gtk3, таких як ритмбокс та онлайн-акаунти:

Спочатку потрібно ввести настройки проксі-сервісу в мережевих налаштуваннях (разом з аутентифікацією):

введіть тут опис зображення

Потім застосуйте систему широко.

2. Для доречного, програмного центру тощо

відредагуйте файл /etc/apt/apt.conf

А потім замініть весь існуючий текст наступними рядками

Acquire::http::proxy "http://username:password@host:port/";
Acquire::ftp::proxy "ftp://username:password@host:port/";
Acquire::https::proxy "https://username:password@host:port/";

3. Змінні середовища

відредагуйте файл /etc/environment

А потім додайте наступні рядки після PATH = "щось тут"

http_proxy=http://username:password@host:port/
ftp_proxy=ftp://username:password@host:port/
https_proxy=https://username:password@host:port/

Це все..


1
Чи змінюється крок 1) / etc / environment? Мені б хотілося зробити цей крок через командний рядок.
Лукас

Здається, крок 1) також працює apt-get update. Тому не потрібен крок 2).
smwikipedia

@Raman У мене є необхідність уникати спеціальних символів у паролі, роблячи це? Якщо так, то як?
code_dragon

2

Для завантаження пакетів через wget проксі необхідно встановити в / etc / environment, а для завантаження пакунків через apt-get proxy необхідно встановити в /etc/apt/apt.conf


2
Будь ласка, докладіть свою відповідь, вона наразі не надає багато корисної інформації.
Командир байтів

1
Ласкаво просимо до Ask Ubuntu! Рекомендую відредагувати цю відповідь, щоб розширити її конкретними деталями про те, як це зробити. (Дивіться також Як я можу написати гарну відповідь? Для загальних порад про те, які типи відповідей вважаються найціннішими на Ask Ubuntu.)
Девід Фоерстер

1

Для wgetроботи з проксі-сервером я також додам створити .wgetrcу вашому домашньому каталозі, що містить:

http_proxy = http://proxy:port/
https_proxy = http://proxy:port/
proxy_user = user
proxy_password = password
use_proxy = on
wait = 15

1

Це ще не все, звичайно. Деякі більше програм ( npm, curlі git):

npm config set proxy $HTTP_PROXY
npm config set https-proxy $HTTPS_PROXY
npm config set strict-ssl false
echo "proxy = $HTTP_PROXY" > ~/.curlrc
echo "noproxy = $NO_PROXY" >> ~/.curlrc
git config --global http.proxy $HTTP_PROXY
git config --global https.proxy $HTTPS_PROXY

Для Maven редагуйте ~/.m2/settings.xml. Схоже, IntelliJ також не підбирає глобальну конфігурацію.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.