TGViewer
Записки IT специалиста Записки IT специалиста @interface31 · 8.99K subscribers
Post #6312 2.47K
Настраиваем скачивание обновлений APT через внешний прокси-сервер

История для наших дней типичная – у заказчика перестали нормально обновляться сервера Linux и если с доступом к репозиториям Debian или Ubuntu проблем не было, то вот с репозиториями Proxmox или Zabbix – ну просто беда.

Проблема не глобальная, с других площадок все нормально работало, провайдер на контакт не шел, рассказывая, что он сам ничего не блокирует и мы со своими претензиями пришли не по адресу.

Ну решение такого вопроса сегодня знает даже воспитанник детского сада – известное слово из трех букв. Но самое очевидное решение не всегда самое оптимальное.

Потому что решение проблемы таким путем требует инфраструктурных решений – развертывания сервера, клиента, настройки выборочной маршрутизации, хотя задача стоит предельно простая – качать обновления APT.

Но если подумать, то найдется другой способ, простой и изящный – поднять прокси-сервер, через который APT умеет работать из коробки. К этому добавим, что классический SOCKS5 не является массовым средством ходить туда, не надо куда и массовых блокировок внутри по нему нет.

Плюс все это очень быстро и просто разворачивается в любом месте. На сервере создаем новую папку проекта и размещаем там docker-compose.yml:

services:
dante:
image: n00b1k/dante:1.0.3
container_name: dante
restart: unless-stopped
ports:
- "1080:1080"
volumes:
- ./danted.conf:/etc/danted.conf:ro


И danted.conf:

logoutput: stdout

internal: 0.0.0.0 port=1080
external: eth0

user.privileged: root
user.unprivileged: nobody

clientmethod: none
socksmethod: none

client pass {
from: 203.0.113.92/32 to: 0.0.0.0/0
log: connect disconnect error
}

socks pass {
from: 203.0.113.92/32 to: 0.0.0.0/0
command: bind connect udpassociate
log: connect disconnect error
}


Где 203.0.113.92 – адрес вашей площадки и только ей разрешено использовать проски-сервер.

Запускам стек и у нас все готово, а дальше на целевом севере выполняем две команды:

echo 'Acquire::http::Proxy "socks5h://proxy.example.com:1080";' > /etc/apt/apt.conf.d/80proxy
echo 'Acquire::https::Proxy "socks5h://proxy.example.com:1080";' >> /etc/apt/apt.conf.d/80proxy


После чего сразу запускаем обновление APT и оно пойдет уже через наш прокси сервер. При этом мы настоятельно рекомендуем использовать в этой настройке именно FQDN,а не IP-адрес.

Это дает гибкость и переносимость. Сам прокси не содержит данных и для его переноса достаточно скопировать на новый узел всего два конфигурационных файла.
  • 👍 22
  • ❤ 4
  • 🤮 2
More from @interface31
  1. Sep 25, 2026Десктопный стриптиз Очень часто во многих технических сообществах возникают флешмобы – а д…
  2. Sep 25, 2026Не застревайте в прошлом — учитесь новым навыкам и ИИ Чтобы успевать за требованиями рынка…
  3. Sep 25, 2026Что такое SRV-записи DNS и для чего они нужны В комментариях к нашим заметкам по DNS уже н…
  4. Sep 25, 2026Многие компании уже запускают ИИ-проекты, но далеко не все доводят их до результата. Для э…
  5. Sep 24, 2026Сеанс двоичной магии с разоблачением Сегодня мы поговорим о том, как правильно рассчитать…
  6. Sep 24, 2026Post #6788
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →