Задача: Где прописывается прокси для APT у Raspbian Stretch

Т.е. я хочу чтобы система Raspbian Stretch которая записана на карту памяти MicroSD и используется, как операционная система для миникомпьютера Raspberry Pi 3 Model B тянула устанавливаемые на нее пакеты не через интернет, а через используемые в моей локальной сети сервис apt-cacher-ng. Т.к. все устанавливаемое по части операционных систем у меня идет через подготовленный iPXE меню + файл ответов посредством сервиса FOG. + настроить apt на работу через 3proxy + tor

Вот к примеру строка скопированная из файла ответов server.seed:

d-i mirror/http/proxy string http://172.35.35.8:3142/

Подключаюсь к миникомпьютеру по SSH в своей локальной сети:

ekzorchik@navy:~$ ssh -l pi 172.33.33.10

Warning: Permanently added '172.33.33.10' (ECDSA) to the list of known hosts.

pi@172.33.33.10's password:

Linux raspberrypi 4.19.66-v7+ #1253 SMP Thu Aug 15 11:49:46 BST 2019 armv7l

The programs included with the Debian GNU/Linux system are free software;

the exact distribution terms for each program are described in the

individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent

permitted by applicable law.

Last login: Fri Nov 22 01:04:09 2019 from 172.33.33.16

SSH is enabled and the default password for the 'pi' user has not been changed.

This is a security risk - please login as the 'pi' user and type 'passwd' to set a new password.

pi@raspberrypi:~ $

Применительно к APT: (если файла 10proxy нет то его создаю)

pi@raspberrypi:~ $ sudo nano /etc/apt/apt.conf.d/10proxy

Acquire::http::Proxy "http://172.35.35.8:3142/";

После не забываем сохранить внесенные изменения.

pi@raspberrypi:~ $ sudo rm -Rf /var/lib/apt/lists

pi@raspberrypi:~ $ sudo apt-get update && sudo apt-get upgrade -y

смотрю на стороне сервере где сервис apt-cacher-ng

ekzorchik@srv-wiki:~$ sudo netstat -tulpn | grep :3142

[sudo] password for ekzorchik:

tcp 0 0 172.35.35.8:3142 0.0.0.0:* LISTEN 1065/apt-cacher-ng

tcp 0 0 127.0.0.1:3142 0.0.0.0:* LISTEN 1065/apt-cacher-ng

ekzorchik@srv-wiki:~$ cat /etc/apt-cacher-ng/acng.conf | grep CacheDir | grep -v "#"

CacheDir: /data/repository

ekzorchik@srv-wiki:~$

ekzorchik@srv-wiki:~$

ekzorchik@srv-wiki:~$ sudo apt-get install tree -y

ekzorchik@srv-wiki:~$ tree /data/repository/raspbian.raspberrypi.org/raspbian/dists/stretch/

/data/repository/raspbian.raspberrypi.org/raspbian/dists/stretch/

├── contrib

│   └── binary-armhf

│   ├── Packages.xz

│   └── Packages.xz.head

├── InRelease

├── InRelease.head

├── main

│   └── binary-armhf

│   ├── Packages.xz

│   └── Packages.xz.head

├── non-free

│   └── binary-armhf

│   ├── Packages.xz

│   └── Packages.xz.head

└── rpi

└── binary-armhf

├── Packages.xz

└── Packages.xz.head

8 directories, 10 files

ekzorchik@srv-wiki:~$

ekzorchik@srv-wiki:~$ sudo du -sh /data/repository/raspbian.raspberrypi.org/raspbian/dists/stretch/

12M /data/repository/raspbian.raspberrypi.org/raspbian/dists/stretch/

Пока размер локального репозитария всего 12Mb.

Общий же каталог для всех запрашиваемых репозитариев с моих систем уже более 8Gb

ekzorchik@srv-wiki:~$ sudo du -sh /data/repository/

8.2G /data/repository/

ekzorchik@srv-wiki:~$

если записать образ Raspbian Stretch на карту памяти и подключить в Rasbperry Pi 3 Model B, указать настройки выше для прокси в локальной сети, то каталог с локальными deb пакетами на сервере по идее должен увеличиться и он увеличился.

ekzorchik@srv-wiki:~$ sudo du -sh /data/repository/raspbian.raspberrypi.org/

156M /data/repository/raspbian.raspberrypi.org/

ekzorchik@srv-wiki:~$ sudo du -sh /data/repository/

8.4G /data/repository/

Я экономлю интернет трафик и быстрее произвожу развертывание систем, сервисов в локальной сети. По сути это WSUS но для Ubuntu, Debian, Raspbian операционных систем.

Так, а тут задумка — а как сделать дабы пустить трафик через SOCKS, решение через связку 3proxy + tor — Работает!

pi@raspberrypi:~ $ sudo nano /etc/apt/apt.conf.d/10proxy

Acquire::http::Proxy "socks5h://172.35.35.8:50001/";

Просто в моей сети работает связка

3proxy + tor для организации доступа к ресурсам которые попадают под запрет. Нужно они только в общеобразовательных целях.

pi@raspberrypi:~ $ sudo rm -Rf /var/lib/apt/lists

pi@raspberrypi:~ $ sudo apt-get update && sudo apt-get upgrade -y

и да, теперь репозитарии обновляется через связку 3proxy+tor из интернета, т.е. я прикидываюся каждый раз разным объектом сети интернет.

Работает и без каких-либо ошибок. Но все же я предпочитаю, чтобы все системы Linux которыми я пользуюсь выходили в интернет через развернутые локальные сервисы. Может стоит сам сервис apt-cacher-ng организовать работать через связку 3proxy+tor — а это уже интереснее. Надо будет сделать заметку на этот счет.

А пока задача выполнена. На этом я прощаюсь, с уважением автор блога Олло Александр aka ekzorchik.