apt-cacher-ng или читайте мануалы Столкнулся тут с проблемой whitelist'инга репозитория. Задача - дать пользователю возможность ходить только до выбранных конкретных адресов, в том числе и до некоторых репозиториев (kali, debian). Для ускорения работы был также установлен apt-cacher-ng. Репозиторий kali отработал на ура - было добавлено в iptables несколько адресов и всё заработало. А вот с
mirror.yandex.ru не работало. nslookup однозначно резолвил его в один единственный адрес, который и был добавлен в исключения, но это не сработало. Вооружившись tcpdump я выяснил что запрос
wget http://172.16.5.1:3142/mirror.yandex.ru/debian/dists/stretch/Release
на выходе с интерфеса принимает вид:
20:27:31.386857 IP 192.168.114.10.38840 > 130.89.148.12.80: Flags [P.], seq 1:297, ack 1, win 457, options [nop,nop,TS val 10308598 ecr 3214247], length 296: HTTP: GET /debian/dists/stretch/Release HTTP/1.1
Обратный резолв адреса 130.89.148.12.80 дает нам dns-имя
klecker2.snt.utwente.nlСкачав исходники и грепнув их по yandex увидел файл
conf/ubuntu_mirrors, где живет список зеркал debrep. Что приводит нас к директиве
Remap-debrep и информации в мануале, о том что это не баг, а фича. Считается, что урлы из этого файла взаимозаменяемы и подбираются исходя из каких-то представлений acng в данной конкретной лунной фазе. Поэтому, если пользоваться acng как прокси для скачивания файла с конкретного репозитория, если он есть в списке ремапа, можно нарваться на то что вы пойдете совсем по другому адресу в конечном итоге. Я решил особо не париться и просто сделал свой субдомен mirror. Этого адреса точно нет в файлах ремапа, а значит резолв будет as is.