Задать вопрос
  • Можно ли нормально общаться и вести звукозапись при помощи Bluetooth-наушников?

    ValdikSS
    @ValdikSS
    Возможно, но только с профилем HFP. Звук будет максимум 16 кГц моно и с микрофона, и в наушниках. Это ограничение профилей Bluetooth.

    Корпорация, занимающаяся стандартами, за все годы не удосужилась сделать что-то лучше. В новейший стандарт HFP v1.9 добавили поддержку кодека LC3, 32 кГц моно в обе стороны.

    Apple в AirPods сделала поддержку AAC-ELD 24 кГц (+улучшение спектра, которое поддерживает AAC) моно в обе стороны.
    Ответ написан
    1 комментарий
  • Что делать при скачках пинга при подключении WI-FI?

    ValdikSS
    @ValdikSS
    Компьютер ищет другие сети с более сильным сигналом, на которые можно переключиться. Сканирование соседних диапазонов и вызывает скачок задержки.

    Отключите сканирование сети.
    https://www.thewindowsclub.com/how-to-disable-back...
    Ответ написан
    Комментировать
  • Как передать большой файл по ssh без промежуточного хранения?

    ValdikSS
    @ValdikSS
    tar -cz /home/target | sshpass -p 'pwd' ssh -p 23 username@server.com 'cd /unpack/me/here && tar -zx'
    Ответ написан
    2 комментария
  • Почему ls не отображает установленный SUID/GUID/StickBit?

    ValdikSS
    @ValdikSS
    Вы смотрите права доступа ссылки (они фиктивные). Смотрите права доступа /usr/bin/ping.
    Ответ написан
  • Почему HEVC не работает в Windows 10 и Ubuntu 24.04?

    ValdikSS
    @ValdikSS
    Лицензией на кодек владеет множество компаний, и каждая из них выдвигает собственные требования к лицензированию, в т.ч. с разделением по регионам.
    Из-за этого HEVC-видео воспроизводится только при определённых условиях. В браузерах оно обычно требует поддержки аппаратного ускорения (т.к. производитель железа уже заплатил за возможность поставки декодера в железе). Если аппаратного ускорения нет, в Windows можно купить декодер в магазине приложений за $0.99, с ним будет работать видео в Edge (не уверен про другие браузеры)

    https://caniuse.com/hevc
    Ответ написан
    Комментировать
  • Локальный email сервер только для регистрации на сайтах?

    ValdikSS
    @ValdikSS
    Вам нужен сервер с выделенным IP-адресом, домен, правильно настроенная MX-запись на домене, указывающая на IP-адрес сервера.
    На сервере необходим установленный и работающий SMTP-сервер (exim/postfix), принимающий почту к себе. Хостинг-провайдер или провайдер интернета не должен блокировать порт 25.
    Больше для приёма ничего не требуется. Настроить это довольно просто, можно хостить хоть дома.
    Ответ написан
    Комментировать
  • На сколько надёжно хранить на компьютере файлы в контейнере VeraCrypt?

    ValdikSS
    @ValdikSS
    Наиболее простой вариант для вашего случая (предотвратить доступ к данным, если диск вне вашего компьютера) — включить полнодисковое шифрование. В Windows достаточно активировать Bitlocker, если он у вас не включён, в режиме с TPM.
    Ключ шифрования хранится в TPM: либо в отдельном чипе на вашей материнской плате, либо в чипсете. Диск вне вашего компьютера нельзя* расшифровать, а в вашем компьютере не придётся даже вводить пароль на запуск.

    Современные процессоры шифруют AES скоростями в гигабайты в секунду. На моём Intel 1340p aes-xts выдаёт 7 ГБ/с, на i5-4570 — 2 ГБ/с.
    С вашим SATA SSD (600 МБ/с макс.) расходы на шифрование не будут заметны, производительность не ухудшится.
    Ответ написан
  • Linux. Перенаправление всего трафика между интерфейсами?

    ValdikSS
    @ValdikSS
    ip route add default dev eth1 table 1000
    ip route add ip.диапазон.для.gre dev gre0 table 1000
    ip rule add from ip.диапазон.для.gre lookup 1000
    Ответ написан
    1 комментарий
  • OpenVPN сервер на 2 wan интерфейсах?

    ValdikSS
    @ValdikSS
    как обьяснить клиенту, что сервер может быть по 2 адресам?
    Добавьте две секции <connection> в конфигурационный файл, в каждой укажите свой remote.
    Ответ написан
    Комментировать
  • Возможно ли нормально эмулировать Win x86-64 на Mac ARM?

    ValdikSS
    @ValdikSS
    Если вам нужно запускать x86-64-программы (юзерспейс), то вы можете установить ARM-версию Windows и запускать их через встроенный транслятор от Microsoft.
    Образы ARM-версий доступны на официальном сайте Microsoft, либо же на сторонних сайтах вроде UUP dump.
    Ответ написан
    3 комментария
  • Где у меня дыра в SMTP?

    ValdikSS
    @ValdikSS
    Запустите mailq и посмотрите, что за письма и от кого у вас в очереди. Далее смотрите заголовки в самих файлах писем, в них будет IP-адрес источника.

    Если источник 127.0.0.1, то могу предположить, что у вас на этом сервере установлен некий прокси (HTTP/SOCKS), разрешающий доступ в локальную сеть, и письма отправляют через прокси, а postfix считает их локальными и не требует аутентификации — это довольно типичная мисконфигурация.

    Если прокси нет, быть может, у вас включена маршрутизация общая, маршрутизация в localhost (net.ipv4.conf.*.route_localnet), в таком случае соседи по датацентру также могут маршрутизировать вам трафик в 127.0.0.1 (это нетипичная и редкая конфигурация, но иногда такое может встречаться [1], [2]).
    Ответ написан
    2 комментария
  • Как направить конкретное приложение через другую страну?

    ValdikSS
    @ValdikSS
    Любой клиент, поддерживающий маршрутизацию по программам. Например, Windscribe. Не обязательно пользоваться сервисом, в него также можно загрузить свои конфиги.
    Ответ написан
    Комментировать
  • Как пустить трафик на instagram.com в туннель, имея openwrt-роутер?

    ValdikSS
    @ValdikSS
    В общем случае средствами лишь маршрутизации — никак. Это технически возможно, но никто этого еще не сделал (и я расстраиваюсь этому факту не первый год!).

    Выходов несколько:
    1. Добавлять IP-адреса доменов в момент резолва в лист маршрутизации VPN
    Необходимо настроить DNS-сервер так, чтобы в момент запроса поддомена необходимых доменов (например, *.instagram.com) полученные IP-адреса добавлялись в список маршрутизации через VPN.
    Это можно сделать, например, с помощью dnsmasq ipset.
    Необходимо настроить маршрутизацию по списку ipset, а dnsmasq будет добавлять новые адреса, которые запрашивает пользователь, в этот список.

    Недостаток способа заключается в необходимости использовать только DNS на роутере (DNS-over-HTTPS или любой сторонний резолвер не подойдёт — IP-адреса не будут добавляться в ipset и маршрутизации в VPN не будет), а также в том, что любой добавленный IP-адрес будет маршрутизирован в VPN: если два домена используют один и тот же IP-адрес, разделить их маршрутизацию не получится, оба будут маршрутизироваться через VPN.

    В OpenWrt настраивается с помощью пакета pbr. Он не поддерживает регулярные выражения, как вы заметили, но они и не нужны: просто напишите любой домен, и словно это зона, все поддомены домена будут маршрутизированы в VPN. По-моему, pbr даже по-другому и не работает (нельзя маршрутизировать конкретный домен без его поддоменов).
    Пример с доменами Netflix. Обнаружить все домены Instagram можно с помощью F12 - Network в браузере.

    2. Обнаруживать домены в трафике, перемаршрутизировать через список маршрутизации VPN позже
    Вариация первого метода с модулями вроде xt_tls, позволяющим обнаружить обращение к определённому домену из TLS-трафика, чтобы также добавить IP-адрес в ipset для маршрутизации в VPN.

    Преимущество в том, что клиент может использовать любой DNS-сервер. Недостаток в том, что первый раз соединение всегда либо зависнет, либо разорвётся, и только второе и последующие заработают через VPN.
    Вот здесь можно почитать, почему так происходит.

    В OpenWrt модуль отсутствует.

    3. Терминировать трафик на «умный» прокси-сервер, который поддерживает маршрутизацию по доменам
    Весь TCP/UDP-трафик перенаправляется на локальный прокси-сервер, способный выявлять домены прямо из трафика и маршрутизировать их в зависимости от правил. Примеры подобных прокси: v2fly, xray, sing-box, и др. (все есть в OpenWrt).

    Недостаток метода в том, что весь трафик будет обрабатываться userspace-программой: на низкопроизводительных роутерах это может привести к серьезному замедлению, некоторые VoIP-программы не будут звонить (из-за несовпадения UDP-порта, который создала программа, и UDP-порта, который использует прокси), и поддерживаются только UDP и TCP, другие протоколы (ICMP, GRE, IPIP, что угодно) через такой прокси работать не будут.
    Преимущество в лёгкой настройке и довольно стабильной работе.

    Алгоритм определения доменов, необходимых для маршрутизации, не отличается от описанного в #1.
    Ответ написан
    Комментировать
  • Как настроить проброс ARP пакетов (ARP-proxy) через OpenVPN туннель Mikrotik-Mikrotik?

    ValdikSS
    @ValdikSS
    Вы уверены, что приложение работает именно так?
    Обнаружение в приложении может выполняться либо каким-то собственным протоколом по Broadcast/multicast, либо стандартными, вроде mDNS/DNS-SD, через Multicast.
    ARP вряд ли получится использовать именно для обнаружения, если это, конечно, не единичное особое устройство, где производитель заранее знает MAC-адрес.

    OpenVPN tun тунеллирует только L3-трафик, поэтому не сможет маршрутизировать Ethernet ARP-пакеты (и любой другой Ethernet/L2 и IP broadcast-трафик). Для этого вам нужен туннель с поддержкой L2 — OpenVPN tap, как один из возможных.

    Если речь об обычном смарт-ТВ и стандартных протоколах, то, скорее всего, речь всё-таки о multicast. Его поддерживает OpenVPN tun, нужно настраивать маршрутизацию мультикаст-трафика уже средствами самого роутера.
    Некоторые программы могут намеренно устанавливать TTL=1 в пакетах, чтобы трафик не маршрутизировался в другие сети — вам необходимо увеличивать TTL у таких пакетов.

    Более подробно понять принцип работы программы можно из дампов трафика. Они также помогут диагностировать проблемы с его прохождением через VPN.
    Ответ написан
    2 комментария
  • Какой ближайший хоп у России с европейской страной?

    ValdikSS
    @ValdikSS
    Всё зависит от вашего местоположения, от связности вашего провайдера, от ширины его каналов, от стыков, на каких присутствуют интересующие вас провайдеры.

    Я обычно делаю так:
    • Заходим на https://looking.house/points.php, ищем наиболее географически близкие страны/города
    • Пингуем тестовые адреса интересующих провайдеров, смотрим трассировку
    • Смотрим трассировку с серверов на свой IP-адрес
    • Берём сервер, где ниже пинги и шире каналы
    Ответ написан
    Комментировать
  • Как выкинуть VPN-сеть гостевой ОС наружу?

    ValdikSS
    @ValdikSS
    1. Сделайте внутреннюю сеть в виртуальной машине, для связи между хостом и ВМ
    2. Сделайте еще один сетевой интерфейс в виртуальной машине: bridge с физическим сетевым интерфейсом, через который у вас работает интернет
    3. Настройте ВМ маршрутизатором (маршрутизация трафика между интерфейсом хост-ВМ и VPN)
    4. На хосте впишите IP-адрес ВМ через интерфейс хост-ВМ в качестве шлюза, а физический интерфейс с интернетом отключите
    Ответ написан
    Комментировать
  • Каким способом настроить маршрутизацию между роутером и orange pi?

    ValdikSS
    @ValdikSS
    https://habr.com/ru/articles/835602/comments/#comm...
    s_lhf2ugh0cvnna8kkxrcbz-8e8.png
    (Wi-Fi-роутер это Orange Pi)
    1. Подключить Orange Pi кабелем в существующую локальную сеть
    2. Включить маршрутизацию на Orange Pi (sysctl net.ipv4.ip_forward=1)
    3. Убедиться, что в iptables нет запрещающих маршрутизацию правил
    4. Установить zapret nfqws и настроить на обработку маршрутизируемого трафика (если будете использовать nftables — см. баг)
    5. Прописать настройки сети в Orange Pi статически, установить IP-адрес Orange Pi в качестве шлюза на конечных устройствах. Такая опция есть на любом устройстве, даже на телевизоре. В общем случае достаточно прописать DHCP option 3 на роутере, тогда изменять вручную шлюзы не потребуется.
    Всё. Не надо ни физически ничего переподключать, ни поднимать дополнительную сеть Wi-Fi.

    OpenWrt пробовал, очень мало памяти и ничего не поставить.
    У вашего роутера 16 МБ памяти, её хватит на всё с большим запасом. Вам не нужно отдельное устройство в виде Orange Pi.
    Ответ написан
    Комментировать
  • Как получить доступ с OpenVPN сервера к локальной сети клиента?

    ValdikSS
    @ValdikSS
    Многопользовательские L3-туннели (в т.ч. OpenVPN TUN, WireGuard) не позволяют указывать IP-адрес, через который происходит маршрутизация (ip route … via 10.9.0.2) — эта опция требует L2-связности. Вам нужно настроить внутреннюю маршрутизацию OpenVPN.

    В конфигурационный файл на сервере добавить:
    client-config-dir ccd
    route 192.168.1.0 255.255.255.0

    Создать файл ccd/имя_клиента с содержимым:
    iroute 192.168.1.0 255.255.255.0

    И добавить маршруты на устройствах сети 192.168.1.0/24 через VPN при необходимости (в вашем случае не нужно).
    Ответ написан
    1 комментарий
  • Поключение через L2tp к провайдеру?

    ValdikSS
    @ValdikSS
    L2TP используется в случаях, когда сетевая инфраструктура арендуется несколькими провайдерами, или же такая примитивная, что не позволяет надёжно аутентифицировать и авторизовать клиента штатными методами среды (либо их просто нет).

    В протоколе нет шифрования, для шифрования L2TP-подключение устанавливают внутри IPsec-сессии. Если провайдер не предоставляет L2TP+IPsec, то вы по нему не подключитесь.
    Ответ написан
    3 комментария
  • Как ускорить YouTube на OpenWRT?

    ValdikSS
    @ValdikSS
    Я установил на роутер zapret nfqws, не используя стандартные скрипты из поставки. Конфигурация такая, какая описана вот в этом баге:

    https://github.com/bol-van/zapret/discussions/262

    Взял бинарник из репозитория, написал простейший init-скрипт (/etc/init.d/nfqws) для openwrt с вшитыми параметрами, написал свои правила firewall’а. Оригинальные тоже хорошие (и обрабатывают разные конфигурации), но вот эти банально проще.

    # cat /etc/init.d/nfqws 
    #!/bin/sh /etc/rc.common
    
    USE_PROCD=1
    START=91
    
    PROG=/etc/zapret/nfqws/nfqws
    
    start_service() {
      procd_open_instance
      procd_set_param command "$PROG"
      procd_append_param command --dpi-desync=fake
      procd_append_param command --dpi-desync-fooling=md5sig,badseq
      procd_append_param command --dpi-desync-split-pos=1
      procd_append_param command --dpi-desync-repeats=12
      procd_append_param command --dpi-desync-ttl=4
      procd_append_param command --qnum=200
      procd_append_param command --hostlist=/etc/zapret/nfqws/youtube.txt
    #  procd_append_param command --hostlist=/tmp/domains-export.txt
      procd_set_param stdout 1 # forward stdout of the command to logd
      procd_set_param stderr 1 # same for stderr
      procd_close_instance
    }


    С моими правилами файрволла (connbytes) в nfqws копируются только первые 8 пакетов, а дальше всё маршрутизируется как обычно. /etc/zapret/zapret.nft:

    chain zapret_lan_hook {
        type filter hook forward priority mangle;
    
    #    iifname {"br-lan"} \
          ip daddr != {0.0.0.0/8, 10.0.0.0/8, 192.168.0.0/16, 172.16.0.0/12, 100.64.0.0/10, 169.254.0.0/16, 224.0.0.0/3, 255.255.255.255/32} \
          tcp dport {80, 443} ct original packets lt 8 counter queue flags bypass to 200 comment "zapret IPv4 443 tcp"
    
    #    iifname {"br-lan"} \
          ip6 daddr != {::ffff:0:0/96, fc00::/7, fe80::/10, ff00::/8} \
          tcp dport {80, 443} ct original packets lt 8 counter queue flags bypass to 200 comment "zapret IPv6 443 tcp"
    
    #    iifname {"br-lan"} \
          ip daddr != {0.0.0.0/8, 10.0.0.0/8, 192.168.0.0/16, 172.16.0.0/12, 100.64.0.0/10, 169.254.0.0/16, 224.0.0.0/3, 255.255.255.255/32} \
          udp dport 443 ct original packets lt 8 counter queue flags bypass to 200 comment "zapret IPv4 443 udp"
    
    #    iifname {"br-lan"} \
          ip6 daddr != {::ffff:0:0/96, fc00::/7, fe80::/10, ff00::/8} \
          udp dport 443 ct original packets lt 8 counter queue flags bypass to 200 comment "zapret IPv6 443 udp"
    }


    Нужно заinclude’ить скрипт в настройках firewall’а. /etc/config/firewall:

    config include 'zapret'
    	option type 'nftables'
    	option path '/etc/zapret/zapret.nft'
    	option position 'table-post'
    	option enabled '1'


    Необходимо отключить offloading, с ним, скорее всего, работать не будет (но я не проверял, оригинальные правила учитывают этот момент).

    В таком виде всё установить можно на ЛЮБОЙ роутер, даже на 4/32, при большом желании (скриптом скачивания бинарника в оперативную память, при необходимости).

    /etc/zapret/nfqws/youtube.txt:

    youtube.com
    youtu.be
    googlevideo.com
    googleapis.com
    gvt1.com
    ggpht.com
    ytimg.com
    youtube-nocookie.com
    play.google.com
    video.google.com
    youtube-ui.l.google.com
    youtubeeducation.com
    youtubekids.com
    Ответ написан
    2 комментария