Задать вопрос
  • Возможно ли скрыть свой IP адрес в локальной сети?

    shurshur
    @shurshur
    Евгений Залецкий, он сам пишет что админ.

    Правда, по-прежнему непонятно, чего ему нужно.
    Написано
  • Возможно ли скрыть свой IP адрес в локальной сети?

    shurshur
    @shurshur
    Евгений Залецкий, мне кажется, для описываемых условий проще всего сделать под себя отдельный vlan :)
    Написано
  • Как получить прямую ссылку на файл ВК на JavaScript?

    shurshur
    @shurshur
    Там выполняется js-код, который через апи получает фактическую ссылку. Которая ещё и может оказаться непостоянной, протухать через некоторое время.
    Написано
  • Если установленное приложение с вирусом используется через CrossOver или PlayOnMac, могут ли они заразить основную систему?

    shurshur
    @shurshur
    AuthorOfTheQuestion, даже если сегодня утром ещё нет вируса, который умеет понимать, что что он запущен wine, и затем внедрять в систему вирус для Linux со своим запуском через systemd - нельзя уверенно сказать, что сегодня же вечером его всё ещё не появится.

    Контора в Израиле тут ни при чём. Можно много гадостей пользователю сделать, вообще не используя никаких уязвимостей. Вирус-шифровальщик успешно изгадит даже из wine, ничего в систеем не взлмаывая.
    Написано
  • Производительнее ли Mikrotik CHR, чем дефолтный линукс (deb,rpm,arch)?

    shurshur
    @shurshur
    Скорее нет, чем да.

    Плюс CHR чаще всего запускают в виртуалке. Если надо прям очень производительный Linux-роутер, то Linux поднимают на железе, в том числе в контейнере, позволяя использовать остальные ресурсы сервера для чего-то ещё. А с CHR не очень это получится, будет целый сервер только под роутер.
    Написано
  • Если установленное приложение с вирусом используется через CrossOver или PlayOnMac, могут ли они заразить основную систему?

    shurshur
    @shurshur
    AuthorOfTheQuestion,
    1. Будут доступны другие хосты в сети. В том числе и хост-система, с которой запущена эта виртуалка. В случае установки guest additions, также домашний каталог пользователя на хост-системе будет доступен в виртуалке (по крайней мере в конфигурации по умолчанию).

    2. Вирус сможет вести деструктивную деятельность с IP-адреса пользователя, например, рассылать спам, подбирать пароли итд. В том числе пользователь тоже может испытать от этого проблемы. Например, его выкинет из любимых мессенджеров и возможно не даст так просто залогиниться заново.
    Написано
  • Возможно ли создание альтернативного сервера для дискорда, чтобы трафик у меня и моих друзей шел на него, а не на оригинальный?

    shurshur
    @shurshur
    Есть например fosscord и spacebarchat, которые пилят совместимый протокол. Но да, смысла нет повторять протокол, потому что и сервер, и клиент нужны свои собственные.
    Написано
  • Как восстановить удаленный каталог с файлами на LVM c XFS?

    shurshur
    @shurshur
    В общем случае - никак! LVM тут ни при чём, кроме случая если был сделан снапшот до удаления.
    Написано
  • Как обеспечить невозможность извлечения шрифтов с сайта?

    shurshur
    @shurshur
    Никита, запретить скачивать по прямой ссылке не проблема. Это часто делают, например, для картинок - чтоб их не вставляли на суперпопулярные сайты и не создавали нагрузку миллионами запросов. Но помешать интересующемуся скачать файл это не помешает: он просто передаст в запросе все нужные параметры вручную и получит файл.
    Написано
  • Возможны ли инклюды в /etc/hosts?

    shurshur
    @shurshur
    Александр Маджугин, да хоть bind, хоть powerdns, а с простыми случаями даже dnsmasq справится.

    В нём создаёшь новую зону например .suntechnic и в ней уже хосты.
    Написано
  • Какую прошивку ставить на микросхему программатором?

    shurshur
    @shurshur
    sysupgrade это прошива для обновления уже установленного openwrt изнутри openwrt. Как правило, её нельзя заливать никак иначе (хотя вроде в каких-то моделях роутеров через штатный механизм обновления в штатной прошивке даже прокатывает, но это редкие исключения).

    Заливать надо firmware и при этом внимательно читать readme. Иногда бывают нюансы. Например, мне попадался роутер, в который надо было накатить новую штатную прошивку не ниже какой-то версии и только после этого лить openwrt, иначе - кирпич. Ещё бывает надо прошивать нестандартный загрузчик, потому что штатный не поддерживает нормально загрузку openwrt либо с ним любое неосторожное движение знаит кирпич, а продвинутый загрузчик позволяет это решить.

    Также надо понимать, что конкретная сборка делается под конкретное устройство с его наличием и параметрами конкретных портов. На официально неподдерживаемую конфигурацию чаще всего получается фигня, с которой придётся разбираться, прицепившись к сериальной консоли. У меня есть один такой старый роутер, на него есть левая старая сборка LEDE, я пытался бэкпортировать патч от неё в новую версию openwrt, но сеть так и не поднималась, и до консоли я так и не добрался.
    Написано
  • Как правильно бэкапить в этом случае?

    shurshur
    @shurshur
    historydev, всё так, но можно попробовать пнуть автора.
    Написано
  • Как правильно бэкапить в этом случае?

    shurshur
    @shurshur
    historydev, список юзеров со статусами захардкожен прямо в коде расширения. Мне тоже было когда-то интересно и я это выяснил. Скорее всего, автор расширения не очень активно обновляет этот список.
    Написано
  • Как проверить 500 000 файлов word,exel,pdf ,txt что они не битые?

    shurshur
    @shurshur
    В UNIX-системах давным-давно есть утилита file, которая на основе библиотеки libmagic умеет по началу файла определять его тип. У неё большая база сигнатур, помогает при массовом разборе файлов. Например, я однажды разбирал lost+found, в который неудачно улетели сотни файлов, по сигнатурам разделил по каталогам и дальше уже думал как разбираться с контентом разных типов файлов.
    Написано
  • Как настроить Яндекс, чтобы результаты поиска выдавались более чем по 10?

    shurshur
    @shurshur
    TimurRyabinin люди интересуются не общим количеством результатов, а количеством результатов на первой странице.
    Написано
  • Почему запрашивает пароль после настройки SSH?

    shurshur
    @shurshur
    ksologub, либо передать ssh ключ через параметр -i имя_файла, либо в .ssh/config описать этот файл, например:

    Host IP.of.mikrotik
        IdentityFile ~/.ssh/mikrotik_rsa
    Написано
  • Возможна ли модификация UEFI для смены названия подключённых устройств?

    shurshur
    @shurshur
    ruslanisayeu, прошивка биоса - это бинарный код для архитектуры x86. Там где-то должны быть строки, вот в них найти чё так.

    Но это будет только в самом BIOS отображаться, приложения и ОС будут видеть нстоящий процессор.
    Написано
  • Как получить превью видео вконтакте?

    shurshur
    @shurshur
    Владислав, гугл "как получить access token vk" прям куча информации.

    Надо только понять, нужен токен пользователя (своего) или группы, у них там есть различия в правах, и иногда нужно именно токен группы. Но для данной задачи дсотаточно токена пользователя.
    Написано
  • Возможна ли модификация UEFI для смены названия подключённых устройств?

    shurshur
    @shurshur
    ruslanisayeu, в BIOS скорее всего сам код BIOS правили, инструкции процессора при этом не менялись.
    Написано
  • Сложная маршрутизация на linux роутере. Как правильно готовить policy based routing?

    shurshur
    @shurshur
    Godless, есть -j MARK - это метка, которая ставится на пакет, и вот именно её можно использовать в ip rule. Метка -j CONNMARK это метка соединения.

    Возможно, будет понятнее из вот такого фрагмента скрипта для моего старого fw:

    # Add connmark rules for policy routing
    if [ "$CONNMARK" = "1" ]
    then
      iptables -t mangle -A PREROUTING -i $IF_V -j MARK --set-mark 6
      iptables -A INPUT -i $IF_Q -j CONNMARK --set-mark 3
      iptables -A INPUT -i $IF_O -j CONNMARK --set-mark 4
      iptables -A INPUT -i $IF_C -j CONNMARK --set-mark 5
      iptables -A INPUT -i $IF_V -j CONNMARK --set-mark 6
      iptables -A INPUT -i $IF_M -j CONNMARK --set-mark 7
      iptables -A INPUT -i $IF_X -j CONNMARK --set-mark 8
      iptables -A INPUT -i $IF_T -j CONNMARK --set-mark 9
      iptables -A INPUT -i $IF_S -j CONNMARK --set-mark 10
      for if in $IF_A $IF_W $IF_S
      do
        iptables -A FWD_ACCEPT -i $IF_Q -o $if -j CONNMARK --set-mark 3
        iptables -A FWD_ACCEPT -i $IF_O -o $if -j CONNMARK --set-mark 4
        iptables -A FWD_ACCEPT -i $IF_C -o $if -j CONNMARK --set-mark 5
        iptables -A FWD_ACCEPT -i $IF_V -o $if -j CONNMARK --set-mark 6
        iptables -A FWD_ACCEPT -i $IF_M -o $if -j CONNMARK --set-mark 7
        iptables -A FWD_ACCEPT -i $IF_X -o $if -j CONNMARK --set-mark 8
        iptables -A FWD_ACCEPT -i $IF_T -o $if -j CONNMARK --set-mark 9
        iptables -A FWD_ACCEPT -i $IF_S -o $if -j CONNMARK --set-mark 10
      done
      for chain in PREROUTING OUTPUT
      do
        iptables -t mangle -A $chain -j CONNMARK --restore-mark
      done
    fi


    Тут на все входящие и транзитные пакеты ставится CONNMARK, а затем с помощью:

    iptables -t mangle -A $chain -j CONNMARK --restore-mark


    ставится обычный MARK с таким же значением. Можно было бы делать явный MARK так:

    iptables -t mangle -A $chain -m connmark --mark 5 -j MARK --set-mark 5


    Но если обе метки имеют одинаковое значение, то --restore-mark часто просто удобнее.

    Для работы L2TP было сделано так

    for ip in 85.21.0.0/24 78.107.1.0/24
    do
      for p in tcp udp
      do
        iptables -t mangle -A OUTPUT -d $ip -p $p --dport 1701 -j MARK --set-mark 5
      done
    done


    Проблема в том, что L2TP-сервер провайдера на порту 1701 имеет такой же IP, как и внутри туннеля, и с моими наворотами после поднятия VPN трафик до самого VPN начинал роутиться внутрь VPN. Но если явно трафик до сетей, где обитает VPN-сервер, пометить меткой таблицы с роутингом в нужного провайдера мимо VPN, то начинает работать.

    В принципе, можно много чего делать. Например, по сигнатурам маркировать трафик при наличии каких-то ключевых комбинаций и маркировать. Или маркировать по --state NEW новые соединения, а дальше уже промаркированными они будут существовать свой жизненный цикл.

    Сама маршрутизация таким вот корявеньким но работающим скриптом.

    spoiler
    #!/bin/sh
    #set -v
    source /lib/rc/sh/functions.sh
    source /etc/firewall/vars
    
    addpr() {
      # if table mark
      if=$1
      table=$2
      mark=$3
      c=$(ip a l dev $if|grep scope\ global|awk '{ print $2 }')
      ip=$(echo $c|cut -d / -f 1)
      mask=$(echo $c|cut -d / -f 2)
      net=$(ip ro l dev $if|grep scope\ link|grep -v metric|awk '{ print $1 }')
      einfo Adding policy routing for $table [$net]
      if [ -z "$net" ]
      then
        ewarn "SKIP $table [net undefined]"
        return
      fi
      #einfo Adding ip=$ip mask=$mask net=$net
      #echo ip route replace $net dev $if src $ip table $table
      ip route replace $net dev $if src $ip table $table
      #echo ip route replace $LAN_A dev $IF_A src $ip table $table
      ip route replace $LAN_A dev $IF_A src $ip table $table
      #echo ip route replace $LAN_W dev $IF_W src $ip table $table
      ip route replace $LAN_W dev $IF_W src $ip table $table
      # fixme: check wheither pointopoint or not, don't compare with ppp0
      if [ "$if" = "ppp0" ]
      then
        ip route replace default dev $if table $table
      else
        gw=$(ip ro l dev $if|grep \ via\ |head -n 1|awk '{ print $3 }')
        if [ -z "$gw" ]
        then
          net1=$(echo $net|cut -d / -f 1)
          # fixme this is buggy
          gw=$(echo $net1|perl -pne 's/\.0$/.1/')
          einfo "BUGGY GW $gw"
        fi
        #echo $table ... gw=$gw
        ip route replace default via $gw table $table
      fi
      ip ru del p 10$mark >& /dev/null
      ip ru add p 10$mark fwmark $mark lookup $table
      ip ru del p 11$mark >& /dev/null
      ip1=$(echo $ip|tr . ' '|awk '{ print $1 "." $2 }')
      if ! [ "$ip1" = "10.254" ]
      then
        ip ru add p 11$mark from $ip lookup $table
      fi
    }
    
    eindent
    eindent
    addpr $IF_Q *** 3
    addpr $IF_O *** 4
    addpr $IF_C *** 5
    addpr $IF_V l2tpvpn 6
    addpr $IF_M *** 7
    addpr $IF_X *** 8
    addpr $IF_T *** 9
    addpr $IF_S *** 10
    eoutdent


    Тут IF_Q, IF_O, IF_C - провайдерские интерфейсы (и локальные сети в них); IF_V - VPN в провайдера IF_C; IF_M, IF_X, IF_T, IF_S - разные VPN; IF_A, IF_W - внутриквартирные сети.
    Написано