Apps: Tinyproxy.
Задача: обеспечить просто и быстро доступ к внешним web-ресурсам из локальных подсетей посредством проксирования через промежуточный сетевой узел (например для эпизодической установки программного обеспечения).
Самое простое, что я смог найти - приложение "tinyproxy", запускаемое в качестве системного сервиса и потребляющее под свои нуды всего около 2 Мегабайт ОЗУ.
Установка и настройка прокси-сервера.
# aptitude install tinyproxy
По умолчанию мини-прокси прослушивает порт TCP:8888 - меня это полностью устраивает:
# netstat -apn | grep -i tinyproxy
tcp ... 0 0.0.0.0:8888 ... 0.0.0.0:* LISTEN tinyproxy
По умолчанию обслуживаются только обращения через локальную сетевую петлю, так что потребуется добавить перечень подсетей, которым требуется предоставить доступ к внешним web-ресурсам через наш узел проксирования:
# vi /etc/tinyproxy/tinyproxy.conf
....
Allow 10.20.30.0/24
Allow 192.168.30.0/24
....
Allow 10.20.30.0/24
Allow 192.168.30.0/24
....
Для применения изменений в конфигурации перезапускаем сервис:
# systemctl restart tinyproxy
Настройка клиентского программного обеспечения.
В современном Linux-е достаточно задать глобальные настройки проксирования, и клиентское программное обеспечение ими воспользуется:
# vi /etc/environment
....
https_proxy="https://123.456.789.10:8888"
http_proxy="http://123.456.789.10:8888"
ftp_proxy="ftp://123.456.789.10:8888"
https_proxy="https://123.456.789.10:8888"
http_proxy="http://123.456.789.10:8888"
ftp_proxy="ftp://123.456.789.10:8888"
Можно объявить переменные окружения разово, для текущего shell-сеанса:
# export http_proxy='http://123.456.789.10:8888'
# export https_proxy='http://123.456.789.10:8888'
# export ftp_proxy='http://123.456.789.10:8888'
# export https_proxy='http://123.456.789.10:8888'
# export ftp_proxy='http://123.456.789.10:8888'
Старые APT-утилиты требовали задания особых параметров проксирования:
# vi /etc/apt/apt.conf.d/01proxy
Acquire::http::Proxy "http://123.456.789.10:8888";
Acquire::https::Proxy "https://123.456.789.10:8888";
Acquire::https::Proxy "https://123.456.789.10:8888";