<?xml version="1.0" encoding="utf-8" ?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:tt="http://teletype.in/" xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/"><title>Ironcook</title><author><name>Ironcook</name></author><id>https://teletype.in/atom/ironcook</id><link rel="self" type="application/atom+xml" href="https://teletype.in/atom/ironcook?offset=0"></link><link rel="alternate" type="text/html" href="https://teletype.in/@ironcook?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=ironcook"></link><link rel="next" type="application/rss+xml" href="https://teletype.in/atom/ironcook?offset=10"></link><link rel="search" type="application/opensearchdescription+xml" title="Teletype" href="https://teletype.in/opensearch.xml"></link><updated>2026-05-02T14:23:16.260Z</updated><entry><id>ironcook:mikrot_backup</id><link rel="alternate" type="text/html" href="https://teletype.in/@ironcook/mikrot_backup?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=ironcook"></link><title>Backup конифгов Mikrotik</title><published>2021-07-28T09:20:44.309Z</published><updated>2021-07-28T09:42:40.041Z</updated><tt:hashtag>network</tt:hashtag><summary type="html">Есть несколько вариантов сделать бекап настроек. Их и рассмотрим ниже.</summary><content type="html">
  &lt;p&gt;Есть несколько вариантов сделать бекап настроек. Их и рассмотрим ниже.&lt;/p&gt;
  &lt;h2&gt;Через WinBOX (для любителей окошек :)). &lt;/h2&gt;
  &lt;p&gt;Для этого идем в меню Files, нажимаем Backup. Если надо, пишем название, выбираем алгоритм шифрования и пароль. В результате в памяти железки появится файлик. с раширением .backup, который, при желании можно скачать к себе по ПКМ, затем удалить. Для восстановления надо загрузить файл бекапа по кнопке Upload (если ранее удалили файл бекапа) и запустить восстановление кнопкой Restore. &lt;/p&gt;
  &lt;h2&gt;Через консоль без шифрования с именем по умолчанию&lt;/h2&gt;
  &lt;pre&gt;&amp;gt; system backup save
Saving system configuration
Configuration backup saved&lt;/pre&gt;
  &lt;p&gt;Проверим наличие файла выгрузки:&lt;/p&gt;
  &lt;pre&gt;&amp;gt; file print
# NAME                                           TYPE                                                SIZE CREATION-TIME       
 0 flash                                          disk                                                     jan/01/1970 03:00:01
 1 flash/skins                                    directory                                                jan/01/1970 03:00:02
 2 flash/DRX-20210519-0002.backup                 backup                                           57.1KiB may/19/2021 00:02:15&lt;/pre&gt;
  &lt;p&gt;строка 2 :)&lt;/p&gt;
  &lt;h2&gt;Через консоль с определением всех параметров&lt;/h2&gt;
  &lt;pre&gt;&amp;gt; system backup save encryption=aes-sha256 name=mybackyp password=mysuperpass
Saving system configuration
Configuration backup saved&lt;/pre&gt;
  &lt;p&gt;Пояснять тут нечего. Проверка наличия файлов аналогичная.&lt;/p&gt;
  &lt;p&gt;Если надо удалить файл:&lt;/p&gt;
  &lt;pre&gt;&amp;gt; file remove mybackyp.backup&lt;/pre&gt;
  &lt;p&gt;Tab работает и люто помогает.&lt;/p&gt;
  &lt;p&gt;Скачать файлы бекапа (как и другие) можно через FTP или тот же WinBOX&lt;/p&gt;
  &lt;h2&gt;Восстановление через консоль&lt;/h2&gt;
  &lt;pre&gt;&amp;gt; system backup load name=flash/mybackyp password=mysuperpass&lt;/pre&gt;
  &lt;h2&gt;&lt;strong&gt;Экспорт/импорт настроек в текстовом формате&lt;/strong&gt;&lt;/h2&gt;
  &lt;p&gt;Все созданные выше файлы созданы в формате железки и нам их не прочитать. Для сохранения конфига в читаемом виде используем &lt;/p&gt;
  &lt;pre&gt;export file=backup.rsc&lt;/pre&gt;
  &lt;p&gt;&lt;code&gt;export &lt;/code&gt;можно применить без указания файла, тогда весь конфиг будет вывален в консоль. Так же его можно применить для сохранения не всех, а некоторых настроек. Пример для DHCP:&lt;/p&gt;
  &lt;pre&gt;ip dhcp-server network export file=network.rsc&lt;/pre&gt;
  &lt;p&gt;в результате мы получим экспорта мы молучим скрипт, выполнение которого приведет к настройке железки согласно данным в скрипте. Поэтому этот файл особенно полезно изучить для освоения консоли&lt;/p&gt;
  &lt;p&gt;Для загрузки применим:&lt;/p&gt;
  &lt;pre&gt;import file-name=backup.rsc&lt;/pre&gt;
  &lt;p&gt;или&lt;/p&gt;
  &lt;pre&gt;import backup.rsc&lt;/pre&gt;
  &lt;tt-tags&gt;
    &lt;tt-tag name=&quot;network&quot;&gt;#network&lt;/tt-tag&gt;
  &lt;/tt-tags&gt;

</content></entry><entry><id>ironcook:shadowsocks</id><link rel="alternate" type="text/html" href="https://teletype.in/@ironcook/shadowsocks?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=ironcook"></link><title>Shadowsocks in docker</title><published>2021-07-28T08:15:00.917Z</published><updated>2021-07-28T08:15:00.917Z</updated><summary type="html">3proxy это хорошо. Но он не шифрует трафик. VPN не всегда удобен, особенно если требуется часть ресурсов открывать через прокси, другие - напрямую. Поэтому развернем продукт родом из Поднебесной - shadowsocks.</summary><content type="html">
  &lt;p&gt;3proxy это хорошо. Но он не шифрует трафик. VPN не всегда удобен, особенно если требуется часть ресурсов открывать через прокси, другие - напрямую. Поэтому развернем продукт родом из Поднебесной - shadowsocks.&lt;/p&gt;
  &lt;p&gt;Подготовим папку для проекта:&lt;/p&gt;
  &lt;pre&gt;mkdir -p /dockerapp/shadowsocks
cd /dockerapp/shadowsocks/&lt;/pre&gt;
  &lt;p&gt;Скачем образ. Я буду использовать самую последнюю версию (edge). Так же можно использовать версию с тегом latest.&lt;/p&gt;
  &lt;pre&gt;docker pull shadowsocks/shadowsocks-libev:edge&lt;/pre&gt;
  &lt;p&gt;Затем подготовим конфиг docker-compose для запуска&lt;/p&gt;
  &lt;pre&gt;vim docker-compose.yml&lt;/pre&gt;
  &lt;p&gt;cо следующим содержимым:&lt;/p&gt;
  &lt;pre&gt;version: &amp;quot;2.1&amp;quot;
services:
  shadowsocks:
    image: shadowsocks/shadowsocks-libev:edge
    container_name: shadowsocks
    environment:
    - METHOD=chacha20-ietf-poly1305
    - PASSWORD=&amp;lt;ваш суперпароль&amp;gt;
    ports:
      - 443:8388
    restart: unless-stopped&lt;/pre&gt;
  &lt;p&gt;далее остается только запустить контейнер&lt;/p&gt;
  &lt;pre&gt;docker-compose up -d&lt;/pre&gt;
  &lt;p&gt;и проверить что мы слушаем порт 443&lt;/p&gt;
  &lt;pre&gt;ss -ntulp&lt;/pre&gt;
  &lt;p&gt;в выводе мы должны увидеть, что-то подобное:&lt;/p&gt;
  &lt;pre&gt;tcp    LISTEN   0        128              0.0.0.0:443           0.0.0.0:*      users:((&amp;quot;docker-proxy&amp;quot;,pid=8180,fd=8))&lt;/pre&gt;
  &lt;p&gt;Это очень простая настройка, есть множество параметров с которыми можно поиграться. Более подробно можно изучить вопрос по следующим ссылкам:&lt;/p&gt;
  &lt;p&gt;&lt;a href=&quot;https://github.com/shadowsocks/shadowsocks-libev/tree/master/docker/alpine&quot; target=&quot;_blank&quot;&gt;https://github.com/shadowsocks/shadowsocks-libev/tree/master/docker/alpine&lt;/a&gt;&lt;/p&gt;
  &lt;p&gt;&lt;a href=&quot;https://shadowsocks.org/en/wiki/Setup-fail2ban.html&quot; target=&quot;_blank&quot;&gt;https://shadowsocks.org/en/wiki/Setup-fail2ban.html&lt;/a&gt;&lt;/p&gt;
  &lt;p&gt;&lt;a href=&quot;https://hub.docker.com/r/shadowsocks/shadowsocks-libev&quot; target=&quot;_blank&quot;&gt;https://hub.docker.com/r/shadowsocks/shadowsocks-libev&lt;/a&gt;&lt;/p&gt;

</content></entry><entry><id>ironcook:3proxydockerdeploy</id><link rel="alternate" type="text/html" href="https://teletype.in/@ironcook/3proxydockerdeploy?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=ironcook"></link><title>Поднимаем 3proxy в Docker</title><published>2021-07-08T11:28:14.430Z</published><updated>2021-07-28T09:44:37.649Z</updated><category term="linux" label="Linux🐧"></category><tt:hashtag>linux</tt:hashtag><tt:hashtag>docker</tt:hashtag><tt:hashtag>network</tt:hashtag><summary type="html">Раньше установка 3proxy была затруднена тем, что требовалась компиляция из исходников. Именно так я и ставил года 3 назад этот замечательный проксик. Но для некоторых это было проблемой. С недавних пор автор (Владимир aka z3APA3A) собирает и выкладывает в докерхаб готовые образы, за что ему глубочайший респект. Сама установка и настройка достаточно хорошо описана в инструкциях тут и тут. Тем не менее, на будущее, запишу как это делал я, когда мне потребовалось быстро поднять SOCKS5 proxy с авторизацией по логину и паролю на VDS c Debian 10, Docker и Docker-compose, чтобы не курить повторно мануалы. Поехали:</summary><content type="html">
  &lt;p&gt;Раньше установка 3proxy была затруднена тем, что требовалась компиляция из исходников. Именно так я и ставил года 3 назад этот замечательный проксик. Но для некоторых это было проблемой. С недавних пор автор (Владимир aka z3APA3A) собирает и выкладывает в докерхаб готовые образы, за что ему глубочайший респект. Сама установка и настройка достаточно хорошо описана в инструкциях &lt;a href=&quot;https://3proxy.ru/doc/man3/3proxy.cfg.3.html&quot; target=&quot;_blank&quot;&gt;тут &lt;/a&gt;и &lt;a href=&quot;https://github.com/3proxy/3proxy/blob/master/README&quot; target=&quot;_blank&quot;&gt;тут&lt;/a&gt;. Тем не менее, на будущее, запишу как это делал я, когда мне потребовалось быстро поднять SOCKS5 proxy с авторизацией по логину и паролю на VDS c Debian 10, Docker и Docker-compose, чтобы не курить повторно мануалы. Поехали:&lt;/p&gt;
  &lt;h3&gt;1) Загружу образ &lt;/h3&gt;
  &lt;pre&gt;docker pull 3proxy/3proxy:latest&lt;/pre&gt;
  &lt;h3&gt;2) Создам конфиг&lt;/h3&gt;
  &lt;p&gt;Для этого приведу вольно-переведенную часть инструкций разработчика:&lt;/p&gt;
  &lt;p&gt;&lt;em&gt;По умолчанию 3proxy использует chroot на /usr/local/3proxy с uid/gid 65535/65535 и ожидает, что файл конфигурации 3proxy.cfg внутри контейнера будет помещен в /usr/local/etc/3proxy&lt;br /&gt;При этом пути в 3proxy.cfg должны быть относительно /usr/local/3proxy к примеру &lt;br /&gt;/logs вместо /usr/local/3proxy/logs.&lt;br /&gt;Кроме того, в chroot требуется разрешение для nserver. &lt;/em&gt;&lt;/p&gt;
  &lt;p&gt;С учетом этих особенностей создадим для проекта директорию на сервере и напишем простенький конфиг для прокси.&lt;/p&gt;
  &lt;pre&gt;mkdir -p /dockerapp/3proxy/conf
vim /dockerapp/3proxy/conf/3proxy.cfg&lt;/pre&gt;
  &lt;p&gt;содержимое конфига:&lt;/p&gt;
  &lt;pre&gt;nserver 8.8.8.8
socks -p3129 
auth strong
users &amp;quot;proxyuser:CR:$1$BIpFg0Ef$haHYihT4pWRH.aZ4n0v8/&amp;quot;&lt;/pre&gt;
  &lt;p&gt;Тут все просто, все по man&amp;#x27;у.. При желании можно добавить логирование.&lt;/p&gt;
  &lt;p&gt;Последняя строчка - создание пользователя &amp;quot;proxyuser&amp;quot;. 3proxy позволяет использовать хэш пароля MD5 в формате crypt(). Для генерации такого пароля использую &lt;a href=&quot;https://unix4lyfe.org/crypt/&quot; target=&quot;_blank&quot;&gt;онлайн генератор&lt;/a&gt;. Полученный хэш вставляем в секцию users после &amp;quot;..CR:&amp;quot; Вся стока обязательно в кавычках.&lt;/p&gt;
  &lt;h3&gt;3) Делаю yml для запуска через docker-conpose &lt;/h3&gt;
  &lt;pre&gt;vim /dockerapp/3proxy/docker-compose.yml&lt;/pre&gt;
  &lt;p&gt;со следующим содержимым:&lt;/p&gt;
  &lt;pre&gt;version: &amp;quot;2.1&amp;quot;
services:
  3proxysvc:
    image: 3proxy/3proxy:latest
    container_name: 3proxy
    volumes:
      - /dockerapp/3proxy/conf:/usr/local/3proxy/conf
    ports:
      - 8080:3129
    restart: unless-stopped
   &lt;/pre&gt;
  &lt;p&gt;Внешний порт у нас будет 8080, так мне захотелось.&lt;/p&gt;
  &lt;h3&gt;4) Запуск, проверка&lt;/h3&gt;
  &lt;pre&gt;docker-compose -f /dockerapp/3proxy/docker-compose.yml up -d&lt;/pre&gt;
  &lt;p&gt;Проверим, что сервер открыл порт 8080&lt;/p&gt;
  &lt;pre&gt; ss -ntulp&lt;/pre&gt;
  &lt;p&gt;должны увидеть что-то типа:&lt;/p&gt;
  &lt;pre&gt;tcp             LISTEN           0                128                               0.0.0.0:8080                            0.0.0.0:*               users:((&amp;quot;docker-proxy&amp;quot;,pid=7921,fd=4))&lt;/pre&gt;
  &lt;p&gt;Теперь осталось настроить подключение к прокси в клиенте.&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;Enjoy!&lt;/strong&gt;&lt;/p&gt;
  &lt;tt-tags&gt;
    &lt;tt-tag name=&quot;linux&quot;&gt;#linux&lt;/tt-tag&gt;
    &lt;tt-tag name=&quot;docker&quot;&gt;#docker&lt;/tt-tag&gt;
    &lt;tt-tag name=&quot;network&quot;&gt;#network&lt;/tt-tag&gt;
  &lt;/tt-tags&gt;

</content></entry><entry><id>ironcook:firstpost</id><link rel="alternate" type="text/html" href="https://teletype.in/@ironcook/firstpost?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=ironcook"></link><title>Первый пост</title><published>2021-07-08T11:06:34.329Z</published><updated>2021-07-08T11:38:31.309Z</updated><tt:hashtag>other</tt:hashtag><summary type="html">Настала пора куда-то писать свои заметки и инструкции потому что:</summary><content type="html">
  &lt;p&gt;Настала пора куда-то писать свои заметки и инструкции потому что:&lt;/p&gt;
  &lt;ul&gt;
    &lt;li&gt;Можно освободить постоянную память для чего-то более полезного&lt;/li&gt;
    &lt;li&gt;Надо иметь доступ из разных мест и где-то это все обновлять&lt;/li&gt;
    &lt;li&gt;Пользоваться файликами не удобно, даже в облаках&lt;/li&gt;
    &lt;li&gt;Может стать кому-то полезным&lt;/li&gt;
    &lt;li&gt;Может стать полезным для меня&lt;/li&gt;
  &lt;/ul&gt;
  &lt;tt-tags&gt;
    &lt;tt-tag name=&quot;other&quot;&gt;#other&lt;/tt-tag&gt;
  &lt;/tt-tags&gt;

</content></entry></feed>