• Как подружить Zabbix-agent 2 и zabbix-server?

    @dronmaxman
    VoIP Administrator
    failed: [104] Connection reset by peer

    Посмотри лог агента, конкретно на имя сервера который пробует к нему подключиться и соответственно этот сервер должен быть указан в конфигурации агента в Server=.
    Ответ написан
  • Просмотр forward соединений на linux?

    @dronmaxman
    VoIP Administrator
    sudo apt install conntrack
    sudo conntrack -L --dst-nat
    sudo conntrack -E --dst-nat

    Или логировать через iptables

    sudo iptables -I FORWARD -m limit --limit 2/min --limit-burst 10 -j LOG --log-prefix "FORWARD: "
    Ответ написан
  • Как правильно настроить подключение на шлюзе?

    @dronmaxman
    VoIP Administrator
    Проблема стара как мир, но люди никак не могут найти решение...
    https://habr.com/ru/articles/107267/
    https://habr.com/ru/articles/117620/
    Ответ написан
    Комментировать
  • Как восстановить права на папки и файлы в ubuntu?

    @dronmaxman
    VoIP Administrator
    В теории можно загрузиться с LiveCD или recovery mode, подмонтировать корень и поправить права.
    mount -o remount, rw /dev/sda1 /media/root
    chmod 755 /media/root


    /dev/sda1 - это как пример диск с корнем, у тебя может быть другое имя
    Ответ написан
    Комментировать
  • Как настроить доступ по группам к FTP серверу?

    @dronmaxman
    VoIP Administrator
    https://github.com/drakkan/sftpgo

    Мега гибкая штука. У себя поднял в docker.
    Ответ написан
    Комментировать
  • Реализация NAT в сети с mikrotik crs326?

    @dronmaxman
    VoIP Administrator
    Не такой уж он и слабый для NAT, большенство домашних роутеров имеют схожие характеристики. С минимальным набором правил с NAT он справиться, а вот на VPN умрет. Хотя все таки это просчет, банально hap ac2 будет в разы лучше в качестве NAT, при это он стоит копейки. Я бы все таки продавил доп закупку.

    Использовать виртуальный роутер это как стрелять себе в ногу, он обязательно в какой-то момент не запустится и удаленно этот вопрос решить не получиться.

    Если сотрудников не много (до20). Как бы я сделал
    Настроил бы на нем NAT с минимальными правилами и fasttrack, а если мне нужен VPN то поднял бы виртуалку и пробросил на нее нужные порты.
    Ответ написан
    8 комментариев
  • Как реализовать домашний ПК для веб сервера и pet проектов?

    @dronmaxman
    VoIP Administrator

    1) Подскажите какую лучше поставить операционную систему? Если Linux, то в сторону каких дистрибутивов смотреть. Хотелось бы удалённо подключаться к этому ПК для мониторинга или обновления файлов с github.

    Proxmox или другой гипервизор
    2) Актуален ли для подобного Docker или слишком много ресурсов будет отнимать?

    Актуален.
    3) Правильно ли запускать различные сайты просто на разных портах роутера?

    Лучше использовать прокси (я бы использовал traefik или nginx).
    5) Раз выполняется проброс порта, то как это обезопасить?

    Как раз стоит изучить решения по защите (nginx Bunker, geoip, crowdsec)
    Ответ написан
    Комментировать
  • Как отследить программу которая выходит в интернет?

    @dronmaxman
    VoIP Administrator
    Посмотреть можно так
    https://learn.microsoft.com/en-us/sysinternals/dow...
    Ответ написан
    Комментировать
  • Можно ли открыть доступ к папке через интернет?

    @dronmaxman
    VoIP Administrator
    Самый простой вариант если стоит python
    cd /my/folder
    sudo  python3 -m http.server 80
    Ответ написан
    6 комментариев
  • Как организовать запись входящих/исходящих звонков определенных абонентов?

    @dronmaxman
    VoIP Administrator
    Мой пример.

    [internal]
     same => _XXX.,Dial(SIP/${EXTEN},60,WwtTrU(sub-mixmonitor,${CALLERID(num)},${EXTEN},${UNIQUEID}))
     same => n,HangUp() 
    
    [sub-mixmonitor]
    exten => s,1,Noop(------------MixMonitor---------------)
    ; same => n,DumpChan()
    ; same => n,NoCDR()
     same => n,Noop(DIALEDPEERNUMBER ${DIALEDPEERNUMBER} )
     same => n,Set(FILE_UNIQUEID=${ARG3})
     same => n,Noop(UNIQUEID = ${FILE_UNIQUEID})
     same => n,GotoIf($[${DB_EXISTS(RECORD/${ARG1})}]?go-record)
     same => n,GotoIf($[${DB_EXISTS(RECORD/${ARG2})}]?go-record)
     same => n,Goto(end_sub)
     same => n(go-record),Set(WAV=/var/spool/asterisk/monitor/${FILE_UNIQUEID})
     same => n,Set(filedate=${STRFTIME(${EPOCH},,%Y%m%d_%H-%M-%S)})
     same => n,Set(foldername=${STRFTIME(${EPOCH},,%Y/%m)})
     same => n,Set(filename=${filedate}_${ARG1:-10}_${ARG2:-10}_${FILE_UNIQUEID})
     same => n,Set(MP3=/var/spool/asterisk/monitor/mp3/${foldername}/${filename})
     same => n,System(mkdir -p /var/spool/asterisk/monitor/mp3/${foldername})
     same => n,Set(monopt=nice -n 19 /usr/bin/lame -b 32  --silent "${WAV}.wav"  "${MP3}.mp3" && rm -rf "${WAV}.wav" && chmod o+r "${MP3}.mp3")
     same => n,Noop(${CDR(record)})
     same => n,Noop(CHANNEL ${CHANNEL(exten)})
     same => n,Set(CDR(realdst)=${ARG2});
     same => n,Set(CDR(record)=${FILE_UNIQUEID})
     same => n,Set(CDR(recordingfile)=${filename}.mp3)
     same => n,MixMonitor(${WAV}.wav,b,${monopt})
     same => n(end_sub),return
    Ответ написан
    Комментировать
  • IP-KVM для дома?

    @dronmaxman
    VoIP Administrator
    Судя по всему тебе вообще не нужен ip-kvm
    а нужен что из
    steam, moonlight, parsec
    Ответ написан
  • Cамоподписанный сертификат SSL добавить в список доверенных в браузере?

    @dronmaxman
    VoIP Administrator
    BertiK0_0, Для соблюдения доверия необходимо несколько придерживаться нескольких правил.
    1) Должна быть валидна дата окончания сертификата, у ключа нет срока действия, только у сертификата.
    2) Уровень шифрование не ниже SHA256
    3) Длина ключа не меньше 2048 bits.
    4) CN в сертификате должен совпадать с доменным именем, можно указать несколько CN (alternative name) в том числе IP.
    5) Использовать необходимо 443 порт
    6) В системе или браузере должен быть установлен рутовый сертификат, ключем которого был подписан сертификат сервера.

    Сертификат устанавливается в систему кроме некоторорых исключений (firefox), все популярые ОС имеют встроенный инструмент для установки сертификата (double click). Скрок действия сертификат может быть 10 и 30 лет, не критично, но некоторым браузерм не нравятся сертификаты со сроком жизни более 2х лет.
    Не стоит сразу поднимать подключение с сертификатом. Пусть пользователь после установки ПО зайдет на 80 порт, и укажет необхимые параметры сертификата (доменное имя и срок службы), скачает рутовый сертификат и после этого сервер активирует редирект на 443 порт.

    В некоторых организациях есть свой центр сертификации, можно запросить сертификат у них, ПК в домене будут автоматически подтягивать сертификат рута с сервера сертификации и доверять твоему серверу. Соответственно так же стоит предусмотреть механизм импорта стороннего сертификата на твой сервер.

    Посмотри как это делают другие, например PfSence, Fortigate, они из коротби тоже идут с самоподписанными сертификатами и предлагают скачать и установить свой рут.
    Ответ написан
  • Сбербанк говорит: сертификат прикреплён некорректно. Почему?

    @dronmaxman
    VoIP Administrator
    curl_setopt( $ch, CURLOPT_SSLCERT, 'https://interotkos.ru/admin/SSL/certificate_fbb854...' );

    Following store locations are supported: CurrentUser, LocalMachine, CurrentService, Services, CurrentUserGroupPolicy, LocalMachineGroupPolicy, LocalMachineEnterprise.

    certificate_fbb85415-7416-4a5d-aa54-93321dc2306d.p12

    Schannel also support P12 certificate file, with the string P12 specified with CURLOPT_SSLCERTTYPE.

    https://curl.se/libcurl/c/CURLOPT_SSLCERT.html
    Ответ написан
  • Как в ArchLinux добавить новый сетевой интерфейс?

    @dronmaxman
    VoIP Administrator
    sudo ip tuntap add tap0 mode tap
    sudo ip link set tap0 up
    sudo ip addr add 192.168.2.2/24 dev tap0
    sudo ip route add default via 192.168.2.1


    /etc/systemd/network/10-tap0.netdev
    [NetDev]
    Name=tap0
    Kind=tap


    /etc/systemd/network/20-tap0.network
    [Match]
    Name=tap0
    
    [Network]
    Address=192.168.2.2/24
    Gateway=192.168.2.1
    DNS=8.8.8.8
    DNS=8.8.4.4
    Ответ написан
  • Как удалить данные о профиле при сетевом подключении?

    @dronmaxman
    VoIP Administrator
    cmd

    net use \\192.168.1.105\Learn /delete

    klist purge
    Ответ написан
    Комментировать
  • Как запретить скачивание/запуск исполняемых файлов и все сайты с онлайн играми?

    @dronmaxman
    VoIP Administrator
    Настраиваеш групповую политику, четко определяеш список Exe которые можно запускать, все остальное в лес.

    По доступу, блокировка через DNS оптимальный выбор. Можно поставить какой нибудь PiHole или AdGuard DNS и через них банить все запросы на левые сайты.

    Остает еще дыра с DOH для самых продвинутых, но адреса DOH известны и их можно заблокировать на Firewall.
    Ответ написан
    3 комментария
  • Можно ли настроить NAT в пределах одной сети?

    @dronmaxman
    VoIP Administrator
    /ip firewall mangle
    add chain=prerouting comment="NAT Loopback detect" dst-address=192.168.0.1 dst-port=3389 protocol=tcp in-interface-list=LAN connection-state=new action=mark-packet new-packet-mark=nat-loopback passthrough=yes
    
    /ip firewall nat
    add chain=srcnat packet-mark=nat-loopback action=masquerade comment="NAT Loopback replace address" 
    
    /ip firewall nat
    add chain=dstnat dst-address=192.168.0.1 protocol=tcp dst-port=3389 action=dst-nat to-addresses=192.168.0.10 to-port=3389
    Ответ написан
    1 комментарий
  • Почему не срабатывает route?

    @dronmaxman
    VoIP Administrator
    Потому что интерфейс пропадает, винде это не нравиться)
    Лучше сделать батник, который будет запускать VPN и прописывать маршрут каждый раз.
    Ответ написан
    1 комментарий
  • Астериск, как звонить с нужного транка?

    @dronmaxman
    VoIP Administrator
    exten => _0[1-3]XXX,1,Noop(---- call to AST A1 ----)
     same => n,Set(CALLEID(num)=02${CALLRID(num)}) ;; Подменяем номер звонящего, что бы работал обратный звонок
     same => n,Dial(SIP/trunkA1/${EXTEN:3},15,Tt)
     same => n,HangUp() ;; Обрываем звонок по окончании или если произошла ошибка что бы не звонить в пожарную службу
    Ответ написан
    4 комментария
  • Как сделать домен с SSL вместо IP для WG-Easy (реп. DigneZzZ/dwg)?

    @dronmaxman
    VoIP Administrator
    Не забудь поменять MYEMAIL@gmail.com на свой.
    version: "3"
    services:
      traefik:
        image: "traefik:v2.10"
        container_name: "traefik"
        command:
          #- "--log.level=DEBUG"
          - "--api.insecure=true"
          - "--providers.docker=true"
          - "--providers.docker.exposedbydefault=false"
          - "--entrypoints.web.address=:80"
          - "--entrypoints.websecure.address=:443"
          - "--certificatesresolvers.myresolver.acme.httpchallenge=true"
          - "--certificatesresolvers.myresolver.acme.httpchallenge.entrypoint=web"
          #- "--certificatesresolvers.myresolver.acme.caserver=https://acme-staging-v02.api.letsencrypt.org/directory"
          - "--certificatesresolvers.myresolver.acme.email=MYEMAIL@gmail.com"
          - "--certificatesresolvers.myresolver.acme.storage=/letsencrypt/acme.json"
        ports:
          - "80:80"
          - "443:443"
    #      - "8080:8080"
        volumes:
          - "./letsencrypt:/letsencrypt"
          - "/var/run/docker.sock:/var/run/docker.sock:ro"
        networks:
          private_network:
            ipv4_address: 10.2.0.120
    
      unbound:
        image: "mvance/unbound:1.17.0"
        container_name: unbound
        restart: unless-stopped
        hostname: "unbound"
        volumes:
          - "./unbound:/opt/unbound/etc/unbound/"
        networks:
          private_network:
            ipv4_address: 10.2.0.200
    
      wg-easy:
        depends_on: [unbound, adguardhome]
        environment:
          - WG_HOST=MYHOST_IP
          - PASSWORD=openode
          - WG_PORT=51820
          - WG_DEFAULT_ADDRESS=10.10.10.x
          - WG_DEFAULT_DNS=10.2.0.100
          - WG_ALLOWED_IPS=10.2.0.0/24, 0.0.0.0/0, ::/0
          - WG_PERSISTENT_KEEPALIVE=25
          - WG_MTU=1280
        #image: ditek/wg-easy
        image: weejewel/wg-easy
        container_name: wg-easy
        volumes:
          - .:/etc/wireguard
        ports:
          - "51820:51820/udp"
    #      - "51821:51821/tcp"
        restart: unless-stopped
        cap_add:
          - NET_ADMIN
          - SYS_MODULE
        sysctls:
          - net.ipv4.ip_forward=1
          - net.ipv4.conf.all.src_valid_mark=1
        dns:
          - 10.2.0.100
          - 10.2.0.200
        networks:
          private_network:
            ipv4_address: 10.2.0.3
        labels:
          - "traefik.enable=true"
          - "traefik.http.routers.vpn.rule=Host(`vpn.site.com`)"
          - "traefik.http.routers.vpn.entrypoints=websecure"
          - 'traefik.http.routers.vpn.tls=true'
          - "traefik.http.routers.vpn.tls.certresolver=myresolver"
          - "traefik.http.services.vpn.loadbalancer.server.port=51821"
    
      adguardhome:
        depends_on: [unbound]
        image: adguard/adguardhome
        container_name: adguardhome
        restart: unless-stopped
        environment:
          - TZ=America/Los_Angeles
        volumes:
          - ./work:/opt/adguardhome/work
          - ./conf:/opt/adguardhome/conf
        networks:
          private_network:
            ipv4_address: 10.2.0.100
    
    networks:
      private_network:
        ipam:
          driver: default
          config:
            - subnet: 10.2.0.0/24
    Ответ написан