TGViewer
Сочный DevOps Сочный DevOps @andtree_sec · 420 subscribers
Post #139 81
Настраиваем vpn для браузера

У меня уже есть vps с openvpn на борту. Понадобилось использовать его для трафика в браузере, основной трафик идет через рабочий vpn.

Для реализации сделаем docker контейнер с openvpn клиентом и прокси, который будет подключаться к openvpn серверу. В браузере можно будет использовать расширение FoxyProxy или аналог, для "заворачивания" трафика через localhost (наш прокси контейнер).

Мой Dockerfile:
FROM ubuntu:20.04
RUN apt-get update && apt-get install -y \
openvpn \
dante-server \
&& rm -rf /var/lib/apt/lists/*
COPY proxy_client.ovpn /etc/openvpn/proxy_client.ovpn

COPY dante.conf /etc/danted.conf
COPY start.sh /start.sh
RUN chmod +x /start.sh
EXPOSE 1080
CMD ["/start.sh"]



proxy_client.ovpn - мой конфиг клиента openvpn. В качестве прокси будет использоваться dante-server.

Конфиг прокси-сервера dante.conf:

logoutput: stderr
internal: 0.0.0.0 port = 1080
external: tun0
socksmethod: none
user.privileged: root
user.notprivileged: nobody

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

socks pass {
from: 0.0.0.0/0 to: 0.0.0.0/0
log: connect disconnect
}



И скрипт запуска start.sh:
#!/bin/bash
openvpn --config /etc/openvpn/proxy_client.ovpn &
sleep 10
danted -f /etc/danted.conf



Собрать образ можно командой:
docker build -t browser_proxy .



В FoxyProxy используем 127.0.0.1 в качестве хоста и 1080 порт. Тип подключения - SOCKS5.

Для удобства запуска создадим docker-compose файл:

version: '3.8'
services:
browser_proxy:
image: browser_proxy
cap_add:
- NET_ADMIN
devices:
- /dev/net/tun
dns:
- 8.8.8.8
ports:
- "1080:1080"
restart: always



И systemd service:
[Unit]
Description=Browser Proxy Docker Compose
After=docker.service
Requires=docker.service

[Service]
Restart=on-failure
WorkingDirectory=/home/andrei/ru_proxy
ExecStart=/usr/bin/docker-compose up
ExecStop=/usr/bin/docker-compose down
TimeoutStartSec=120

[Install]
WantedBy=multi-user.target



Теперь можно запускать через systemctl, не забыв перед этим активировать прокси в FoxyProxy.
More from @andtree_sec
  1. Sep 7, 2026Давненько не было сообщений. Скорее всего в будущем они уйдут в telegraf, который я еще не…
  2. Jul 6, 2026Последнее время на работе часто приходится работать с apache flink и даже что-то писать на…
  3. Jun 4, 2026Немножко про молекула тесты... У нас принято использовать в переменных lookup плагин для д…
  4. May 20, 2026Очередной небольшой проект. Веб-приложение, которое агрегирует через стандартный механиз g…
  5. May 15, 2026Включаем профилирование в ansible Профилирование, это вывод даты, времени запуска и итогов…
  6. Apr 17, 2026Так выглядит общий dashbord работы с инцидентами.
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 →