Jump to content

Михаил Лукьянов

Forum Members
  • Content Count

    188
  • Joined

  • Last visited

  • Days Won

    4

Михаил Лукьянов last won the day on May 14

Михаил Лукьянов had the most liked content!

Community Reputation

52 Excellent

About Михаил Лукьянов

  • Rank
    Advanced Member

Equipment

  • Keenetic
    viva

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Михаил Лукьянов

    Править нужно значения IPSET_OPT="hashsize 131072 maxelem 524288" можно в 2 раза просто увеличить.
  2. Да. У меня так настроено. Наружу ничего не светит. nmapом на всякий случай проверил - всё чисто.
  3. Так там снаружи можно к DNS подключиться. С включенным фаерволом.
  4. Насколько я помню ndm в качестве ресолвера использует lo интерфейс независимо от того что указано в веб интерфейсе. Не получив ответа с 127.0.0.1:53 система аварийно запускает родной DNS сервер причем без текущего конфига с прослушиванием по всем интерфейсам. О - отказоустойчивость🙂 Нужно вернуть '127.0.0.1:53' в /opt/etc/dnscrypt-proxy.toml где росло. Какой смысл его было убирать?
  5. Вывод не информативен, нужно посмотреть так: netstat -apn | grep ":53 " Стоковый DNS сервер никогда наружу не смотрит, поэтому 99% вероятности что это неправильно настроен dnscrypt-proxy. Покажите grep listen_address /opt/etc/dnscrypt-proxy.toml Как должно быть (пример): listen_addresses = ['127.0.0.1:53','192.168.1.1:53','[fe80::127b:efff:fe5d:ffcc%br0]:53'] Как не должно быть: listen_addresses = ['0.0.0.0:53']
  6. Для OpenVPN есть /opt/etc/ndm/openvpn-up.d или это не то?
  7. Михаил Лукьянов

    Оставьте combined. Создайте перехватчик для ndm /opt/etc/ndm/netfilter.d/zapret.sh: #!/opt/bin/sh [ "$type" == "ip6tables" ] && exit 0 [ "$table" != "nat" ] && exit 0 # check the table name iptables -t nat -I PREROUTING -p tcp --dport 80 -i br0 -m set --match-set zapret dst -j DNAT --to 127.0.0.1:1188 iptables -t nat -I OUTPUT -p tcp --dport 80 -m owner ! --uid-owner nobody -m set --match-set zapret dst -j DNAT --to 127.0.0.1:1188 /opt/bin/logger "http redirection rule created for zapret via netfilter hook" Не забудьте chmod +x /opt/etc/ndm/netfilter.d/zapret.sh Я всё хотел автоматизировать создание перехватчика из скриптов, но тут автор(bol-van) внезапно обновление выпустил. Наверное теперь наши наработки ему нужно влить в git, и заодно с перехватчиками ndm решить вопрос.
  8. Михаил Лукьянов

    MSM грамотный в этом плане провайдер оказался:) Кроме тора и vpn есть ещё shadowsocks и wireguard.
  9. Михаил Лукьянов

    Попробуйте выставить в скрипте ACTION=modification . В логе blockcheck именно рутрекер не пропустил ни одного способа обхода, возможно имеет смысл проверять на другом сайте, например кинозале.
  10. Михаил Лукьянов

    На некоторых прошивках таблица mangle сбрасывается периодически ndm, инструкция писалась исходя из того что ndm сбрасывает только таблицу nat. Добавьте у себя следующий перехватчик /opt/etc/ndm/netfilter.d/openvpn.sh: #!/opt/bin/sh [ "$type" == "ip6tables" ] && exit 0 [ "$table" != "mangle" ] && exit 0 # check the table name iptables -t mangle -I PREROUTING -p tcp --dport 443 -m set --match-set zapret dst -j MARK --set-mark 9 /opt/bin/logger "openvpn marking https traffic rule created for zapret via netfilter hook"
  11. Михаил Лукьянов

    Да. Для UDP только придётся трафик через TPROXY заворачивать, а не через REDIRECT.
  12. Михаил Лукьянов

    Написал как альтернативу связки tor+redsocks для HTTPS, HTTP почти у всех через фрагментацию пакетов срабатывает - это самый быстрый и надёжный вариант. А так shadowsocks может инкапсулировать любой вид трафика на базе транспортных протоколов TCP/UDP, не только HTTP/HTTPS, и даже если приложение не умеет в SOCKS5.
  13. Михаил Лукьянов

    Так как нам к 1 ноября уже обещают построить "безопасный" интернет, решил ознакомиться с международной практикой. Одним из самых популярных инструментов обхода оказался shadowsocks. Известен факт что китайское правительство не смогло техническими методами его заблокировать, а потому попыталось закрыть репозиторий кода на github. На форуме уже была тема про shadowsocks, но это более свежий взгляд на актуальную проблему. Архитектурно shadowsocks похож на VPN - есть клиентская часть, которая принимает соединения по протоколу SOCKS5, и есть серверная часть, которая располагается за пределами действия средств интернет-цензуры. Между серверной и клиентской частью трафик шифруется. Преимуществом shadowsocks перед VPN является невозможность детектирования такого туннеля средствами DPI - видимо до сих пор нет достоверных сигнатур, и наверное не будет. К общим недостаткам можно отнести необходимость наличия VPS/VDS за пределами "железного занавеса" для серверной части. Техническую часть я реализовывал на shadowsocks-libev - форк shadowsocks переписанный на чистом C для максимальной производительности на низкопроизводительных и встроенных(embedded) устройствах. Серверную часть я поднял на бесплатном VPS от Amazon - инстанса t3.micro для этих целей более чем достаточно. Но есть у меня подозрения что Amazon постигнет судьба Digital Ocean во время ковровых бомбардировок как раз из-за бесплатных VPS:) Клиентская часть,насколько я понимаю, портирована в entware из подпроекта shadowsocks-libev/openwrt-shadowsocks. Порт относительно свежий, за что спасибо мэйнтейнерам. Клиентская часть имеет модульную структуру - для каждой задачи есть свой пакет: обычный прокси, прозрачный прокси, проброс портов внутри туннеля. Для наших целей на роутере будет достаточно одного пакета: opkg install shadowsocks-libev-ss-redir Конфигурационный файл /opt/etc/shadowsocks.json { "server":"13.53.138.153", "server_port":8388, "local_port":1080, "password":"K44netiC", "timeout":60, "method":"chacha20-ietf-poly1305" } Инициализирующий скрипт /opt/etc/init.d/S22shadowsocks #!/bin/sh ENABLED=yes PROCS=ss-redir ARGS="-c /opt/etc/shadowsocks.json -b 192.168.1.1" PREARGS="" DESC=$PROCS PATH=/opt/sbin:/opt/bin:/opt/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin [ -z "$(which $PROCS)" ] && exit 0 . /opt/etc/init.d/rc.func Хук для ndm для перехвата трафика /opt/etc/ndm/netfilter.d/shadowsocks.sh #!/opt/bin/sh [ "$type" == "ip6tables" ] && exit 0 [ "$table" != "nat" ] && exit 0 # check the table name iptables -t nat -I PREROUTING -p tcp --dport 443 -m set --match-set zapret dst -j REDIRECT --to-port 1080 /opt/bin/logger "shadowsocks redirected https rule created for zapret via netfilter hook" Отдельно само правило iptables: iptables -t nat -I PREROUTING -p tcp --dport 443 -m set --match-set zapret dst -j REDIRECT --to-port 1080 IP адреса и пароли в конфигах для серверной части указаны реальные - можно на праздниках потестировать. Однако помните что shadowsocks это не tor, он не является средством анонимизации. И то что я не пишу логи не означает что их не пишет тов. майор:) Оценим накладные расходы на шифрование. Для этих целей нам понадобятся iperf3 и ss-tunnel: opkg install shadowsocks-libev-ss-tunnel iperf3 На сервере оставляем запущенным iperf3 -s Проверяем на роутере сначала без шифрования: iperf3 -c 13.53.138.153 -R А теперь с шифрованием (копипаста отсюда) : ss-tunnel -k K44netiC -l 5201 -L 127.0.0.1:5201 -s 13.53.138.153 -p 8388 & sleep 1 && iperf3 -c 127.0.0.1 -R && killall ss-tunnel Я никак не мог получить стабильные результаты т.к. Amazon не гарантирует ширину канала. Без шифрования у меня скорость плавала от 30 до 90 Мбит, но с шифрованием выше 35 Мбит не поднималась. Решено было поднять shadowsocks сервер в локальной сети чтобы исключить влияние Amazon. В итоге для Keenetic Viva замеры показали следующее: ~ # iperf3 -c 192.168.1.33 -R Connecting to host 192.168.1.33, port 5201 Reverse mode, remote host 192.168.1.33 is sending [ 5] local 192.168.1.1 port 58049 connected to 192.168.1.33 port 5201 [ ID] Interval Transfer Bitrate [ 5] 0.00-1.00 sec 11.1 MBytes 92.9 Mbits/sec [ 5] 1.00-2.00 sec 11.0 MBytes 92.2 Mbits/sec [ 5] 2.00-3.00 sec 11.1 MBytes 93.5 Mbits/sec [ 5] 3.00-4.00 sec 11.1 MBytes 93.2 Mbits/sec [ 5] 4.00-5.00 sec 11.1 MBytes 93.0 Mbits/sec [ 5] 5.00-6.00 sec 11.1 MBytes 93.0 Mbits/sec [ 5] 6.00-7.00 sec 11.1 MBytes 93.2 Mbits/sec [ 5] 7.00-8.00 sec 11.1 MBytes 93.3 Mbits/sec [ 5] 8.00-9.00 sec 11.0 MBytes 92.5 Mbits/sec [ 5] 9.00-10.00 sec 11.1 MBytes 93.3 Mbits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-10.20 sec 112 MBytes 91.9 Mbits/sec 1 sender [ 5] 0.00-10.00 sec 111 MBytes 93.0 Mbits/sec receiver iperf Done. ~ # ss-tunnel -k K44netiC -l 5201 -L 127.0.0.1:5201 -s 192.168.1.33 -p 8388 & sleep 1 && iperf3 -c 127.0.0.1 -R && killall ss-tunnel 2019-05-04 08:57:30 INFO: initializing ciphers... chacha20-ietf-poly1305 2019-05-04 08:57:30 INFO: listening at 127.0.0.1:5201 2019-05-04 08:57:30 INFO: running from root user Connecting to host 127.0.0.1, port 5201 Reverse mode, remote host 127.0.0.1 is sending [ 5] local 127.0.0.1 port 60977 connected to 127.0.0.1 port 5201 [ ID] Interval Transfer Bitrate [ 5] 0.00-1.00 sec 4.61 MBytes 38.7 Mbits/sec [ 5] 1.00-2.00 sec 3.93 MBytes 33.0 Mbits/sec [ 5] 2.00-3.00 sec 4.00 MBytes 33.6 Mbits/sec [ 5] 3.00-4.00 sec 3.94 MBytes 33.1 Mbits/sec [ 5] 4.00-5.00 sec 4.09 MBytes 34.3 Mbits/sec [ 5] 5.00-6.00 sec 3.92 MBytes 32.9 Mbits/sec [ 5] 6.00-7.00 sec 3.98 MBytes 33.4 Mbits/sec [ 5] 7.00-8.00 sec 4.14 MBytes 34.7 Mbits/sec [ 5] 8.00-9.00 sec 3.97 MBytes 33.3 Mbits/sec [ 5] 9.00-10.00 sec 4.01 MBytes 33.7 Mbits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-10.41 sec 45.9 MBytes 37.0 Mbits/sec 1 sender [ 5] 0.00-10.00 sec 40.6 MBytes 34.0 Mbits/sec receiver iperf Done. 35 Мбит это потолок для старых процессоров, несмотря на модульность и высокую производительность shadowsocks-libev в целом. В процессе экспериментов выходило сообщение о недостатке энтропии, но установка haveged на скорость кардинально не повлияла. Возможно на новых кинетиках улучшена аппаратная поддержка шифрования - в таком случае роутер перестанет быть бутылочным горлышком и станет возможно пользоваться shadowsocks без ограничений.
  14. Михаил Лукьянов

    В /opt/etc/tor/torrc раскомментируйте строку Log debug file /opt/var/log/tor/debug.log Создайте папку mkdir /opt/var/log/tor Запустите тор и покажите содержимое debug.log.
  15. Михаил Лукьянов

    Так ошибку curl выдаёт а не tor. На libc больше никто не ругается? Попробовать curl из opkg переставить для начала.
×
×
  • Create New...