Задать вопрос
  • Gitlab отказывается запускаться. Как починить?

    @mureevms
    Товарищи в комментах все правильно сказали. Я же хочу более конструктивно:
    1. Скорее всего ставился Гитлаб в Omnibus версии, поэтому data каталог по дефолту находится в /var/opt/gitlab/, проверьте сколько он занимает места.
    2. Ни слова не было сказано каков размер диска. Посмотрите требования перед тем, как ставить монстров.
    3. В конфиге Гитлаба три тысячи строк, среди которых по дефолту раньше были включены Графана и Прометей, которые пишут кучу данных в БД. Изучите.
    4. Если настраивались бэкапы, требуется плюс 100% больше места для хранения каждого бэкапа, чем размер всех реп. На вскидку, у меня весь data каталоаг занимает 15,5 гиг, (из этого все репы 7, бэкап 7, плюс по-мелочи). 0,5 гига логов. При чем, для создания бэкапа надо дополнительно x2 больше места, чем весит сам бэкап, это обусловлено особенностью и порядком его создания.
    5. Сам Гитлаб весит не мало, у меня он Omnibus в Докере и его каталог весит 43 гига.
    6. Опять же про свой Гитлаб сервер, диск размером 90 гиг, 43 занимает сам Гитлаб, 16 дата каталог с одним бэкапом и логами. 20 свободно, остальные 10 занято системой.
    Ответ написан
    3 комментария
  • Почему создание образа Docker зависает на стадии docker build?

    @mureevms
    Красным по черному же пижет, что
    Error: Failed to download metadata for repo 'appstream': Cannot prepare internal mirrorlist: No URLs in mirrorlist


    Это проблема Centos, потому что он всё. Починить можно, но не в докере, смысла не имеет. Соберите на живом дистре тоже самое
    Ответ написан
    5 комментариев
  • Openvpn MTU, не заходят входящие VoIP звонки, как можно на это повлиять?

    @mureevms
    На UDP, с такими параметрами на обеих сторонах, SIP трафик прекрасно ходит:
    tun-mtu 1500
    mssfix 1450
    Ответ написан
    Комментировать
  • Как удалить содержимое C:\Users со всех компьютеров в домене?

    @mureevms
    В групповых политиках есть параметр удаления каталога пользователя (не помню название, нагуглите), если он не логинился в систему какое-то время. Можно поставить это значение в минимум и каталоги учеток удалятся
    Ответ написан
    Комментировать
  • OpenVPN на сертификатах, без авторизации пользователя?

    @mureevms
    В конфиге клиента кроме блока сертификата <ca> еще должны быть <tls-auth>, <cert> и <key>

    UPD:
    Посмотрите мою заметку, там в конце приведен пример файла конфига клиента
    Ответ написан
  • Windows Server 2008 r2 как запускать соединение OpenVPN client автоматически?

    @mureevms
    Принцип таков, что надо установить OpenVPN в виде сервиса, настроить этот сервис и запустить. Тогда он будет автоматически подключаться без действий со стороны пользователя.
    Пошагово:
    1. При установке OpenVPN надо выбрать установку OpenVPN sevice, который по дефолту не ставится. Для этого в начальном окне установки кликнуть Customize
    2. Скопировать файлы конфигурации в C:\Program Files\OpenVPN\config-auto\
    3. Основной файл должен иметь расширение .ovpn
    4. Перейти в службы и перезапустить службу OpenVPNService

    Если подключение не поднялось, логи смотреть в каталоге C:\Program Files\OpenVPN\log, файл будет называть как файл конфига. Если файла лога нет, сервис при старте не подхватывает файл конфига.
    Ответ написан
    Комментировать
  • Как создать ссылку от имени другого пользователя в Linux?

    @mureevms
    А просто вот так не работает?
    ln -s /usr/share/applications/firefox.desktop ~/Рабочий\ стол/
    Ответ написан
  • Какой можно взять недорогой ноутбук для Linux'а?

    @mureevms
    Надо определить задачи обучения. Ради чего?
    Пока вы не поставите Линукс основной системой - вы не будете его изучать, все это быстро закончится, а на ноут будет поставлена винда. Если вы поставите Линкус и будете работать только в ГУИ, то вам не нужен Линукс. Если вы боитесь консоли - вам не нужен Линукс. Если вам нужен специализированный виндовый софт - вам не нужен Линукс. А если вам не нужен Линукс, то зачем его учить и еще вкладывать в это деньги? Знания без практики это трата времени.

    > в виртуалке мне не удобно, ибо на работе сижу большую часть времени

    Я бы советовал все же на виртуалке, даже без дуал бута. Поиграетесь месяц и бросите.
    Ответ написан
  • Как получить квоту static ip в awscli?

    @mureevms
    А там действительно нет квот по выводу команды.

    $ aws service-quotas list-service-quotas --service-code lightsail --region us-east-2
    {
        "Quotas": []
    }


    Дефолтная квота IP адресов 5 per Region
    Ответ написан
    Комментировать
  • Как отключить хранение вкладок в оперативной памяти в Firefox?

    @mureevms
    Я использую плагин Auto Tab Discard, он замораживает не активные вкладки. Потребление памяти действительно снизилось, а так же процессор стал меньше нагружаться
    Ответ написан
    Комментировать
  • Почему не работает node сервер внутри контейнера Docker?

    @mureevms
    Как запускаете контейнер?
    EXPOSE 8000 не открывает порт, а указывает запускающему не забыть это сделать.
    Используйте ключ при запуске для открытия порта -p 8000:8000
    Ответ написан
    Комментировать
  • Как ответить на команду "yes'?

    @mureevms
    В responses перед двоеточием указать вопрос, на который надо ответить. После двоеточия ответ:
    - name: Generic question with multiple different responses
      ansible.builtin.expect:
        command: /path/to/custom/command
        responses:
          'Do you want to continue?[Y/n]:': 'y'
          'Something else needs to be entered:': 'Enter this'
    Ответ написан
    4 комментария
  • На что установить сервер?

    @mureevms
    Adamos rPman Drno

    Позволю себе вас поправить. Dedicated - это выделенный сервер, но само название не говорит виртуальный он или железяка. Слышали же аббревиатуру VPS или VDS, где VS - Virtual Server. P и D - Private и Dedicated. Может и был ранее какой-то смысл в разделении, но сейчас это синонимы. Таким образом, Dedicated просто значит, что сам сервер (OS) вы не делите ни с кем, т.е. это не хостинг на котором может быть множество клиентов. Только вы им владетее. Но ни как не указывает на его железячность или виртуальность.

    А то о чем вы говорите, имея ввиду железяку, называется Bare Metal server.
    Ответ написан
    2 комментария
  • Как в playbook (Ansible) задать условие?

    @mureevms
    - name: Test
      hosts: localhost
      connection: local
      tasks:
      - name: run shell
        shell: "ls"
        register: register_shell
    
      - name: print shell
        debug:
          msg: "{{ register_shell }}"
    
      - name: Run if "Vlan 1" exist
        debug:
          msg: Vlan 1 exist
        when: register_shell.stdout_lines is search("Vlan 1")
    
      - name: Run if "Vlan 1" NOT exist
        debug:
          msg: Vlan 1 NOT exist
        when: register_shell.stdout_lines is not search("Vlan 1")


    Вывод
    TASK [Gathering Facts] *********************************************************
    ok: [localhost]
    
    TASK [run shell] ***************************************************************
    changed: [localhost]
    
    TASK [print shell] *************************************************************
    ok: [localhost] => {
        "msg": {
            "changed": true,
            "cmd": "ls",
            "delta": "0:00:00.004657",
            "end": "2022-04-15 14:44:10.370659",
            "failed": false,
            "rc": 0,
            "start": "2022-04-15 14:44:10.366002",
            "stderr": "",
            "stderr_lines": [],
            "stdout": "host_vars\nprovisioning.yml\nroles\nVlan 1",
            "stdout_lines": [
                "host_vars",
                "provisioning.yml",
                "roles",
                "Vlan 1"
            ]
        }
    }
    
    TASK [Run if "Vlan 1" exist] ***************************************************
    ok: [localhost] => {
        "msg": "Vlan 1 exist"
    }
    
    TASK [Run if "Vlan 1" NOT exist] ***********************************************
    skipping: [localhost]
    
    PLAY RECAP *********************************************************************
    localhost                  : ok=4    changed=1    unreachable=0    failed=0    skipped=1    rescued=0    ignored=0
    Ответ написан
    1 комментарий
  • Сервер-клиент openvpn win не видят за собой локальную сеть. как исправить?

    @mureevms
    По мотивам комментов решил описать как должно работать в теории. Специально обернул таким тегом, чтобы не париться с html списком, это боль, когда уже православный markdown сделают.
    1. При поднятом туннеле между клиентом и сервером есть коннект по дефолту, ничего дополнительно делать не требуется.
    
    Клиент > сервер
    2. Чтобы дать клиенту доступ в сеть за сервером, надо (сделать все пункты):
    	2.1. На сервере в конфиге OVPN сервера сделать пуш нужной подсети
    	2.2. На сервере разрешить форвардинг между OVPN подсетью и локальной (которая за сервером)
    2.x. Если за сервером несколько подсетей, повторить для каждой
    3. Чтобы сети за клиентом дать доступ к сети за сервером надо сделать п.2 и далее два варианта (или/или):
    	3.1. Если клиент является шлюзом для своей локальной сети
    		3.1.1. На клиенте разрешить форвардинг между OVPN подсетью и локальной (которая за клиентом)
    	3.2. Если клиент НЕ является шлюзом для локальной сети, надо выполнить п. 3.1.1 и
    		3.2.1. На каждой машине в локальной сети (которая за клиентом) прописать роут до ВПН подсети через хост на котором установлен клиент
    3.x. Если за клиентом несколько подсетей, повторить для каждой
    
    Сервер > клиент
    4. Чтобы дать серверу доступ в сеть за клиентом надо выполнить п.2 и
    	4.1. На клиенте разрешить форвардинг между OVPN подсетью и локальной (которая за клиентом)
    4.x. Если за клиентом несколько подсетей, повторить для каждой
    5. Чтобы сети за сервером дать доступ к сети за клиентом надо сделать п.2, п.3 и (или/или):
    	5.1. Если сервер является шлюзом для своей локальной сети
    		5.1.1. На сервере разрешить форвардинг между OVPN подсетью и локальной (которая за сервером)
    	5.2. Если сервер НЕ является шлюзом для локальной сети, надо выполнить п. 5.1.1 и
    		5.2.1. На каждой машине в локальной сети (которая за сервером) прописать роут до ВПН подсети через хост на котором установлен сервер
    5.x. Если за клиентом несколько подсетей, повторить для каждой
    
    Клиент <> сервер
    6. Чтобы сети и за клиентом и за сервером видели друг друга, надо сделать все пункты.
    
    Еще важный и не всегда очевидный момент, подсети всех объединяемых локальных сетей не должны пересекаться, т.е. не должны быть одинаковыми или не входить одна в другую.
    Ответ написан
  • Почему имя из переменных выводится не полностью?

    @mureevms
    1. Не определена переменная snap_num
    2. snap_date != snapdate
    Ответ написан
    Комментировать
  • Как поднять свой аналог CloudFlare для DNS на Linux?

    @mureevms
    Смешались в кучу кони, люди... попробуем прояснить, хоть решение уже есть, но автор действительно ничего не понимает в вопросе, поэтому не может нормально оценить ответ как решение.

    При регистрации доменов у любого регистратора, можно указать ns сервера CloudFlare.

    Можно указать любые NS сервера, хоть свои. Это не фича CloudFlare, а просто держатель DNS зоны домена. Еще говорят, домен делегирован на <Имя владельца DNS зоны>

    В CloudFlare указыватся только ip сервера где крутятся домены.

    Судя по всему речь идет про A запись. Просто почитайте про типы DNS записей. И, наверное, имеется ввиду, что крутятся не домены, а сайты, которые сопоставлены с этим доменом А записью.

    Получается что ip адрес сервера с доменами скрыт, в whois виден только сервер CloudFlare.

    Нет. Whois, DNS и IP адреса разные вещи, хоть и связаны друг с другом.
    Whois - сервис, который позволяет узнать основные данные о доменном имени. Пример https://whois.ru/google.ru. Там нет никакой инфы про IP адреса и домены, только NS записи.
    DNS - сервис, грубо говоря, который сопоставляет доменные имена и IP адреса.
    IP - уникальный набор байтов для возможности использования интернета с конкретного устройства.
    Т.е. пока CloudFlare ничего не скрыл. Если бы вы делегировали домен на Яндекс, там были бы NS сервера Яндекса.

    Мне нужно тоже самое сделать на 2-х серверах линукса.
    На одном нужно поднять DNS сервер, в котором будет прописан 1 домен domainkkkkkk.ru и будут записи
    ...
    На втором сервере будут крутится другие домены
    ...

    Свой DNS сервер имеет поднимать только в том случае (в данном контексте), если вы хотите сами хостить свою зону, т.е. делегировать ее на свой DNS сервер. А вам этого не надо, поскольку вы уже делегировали зону в CloudFlare.
    Вам надо разметить на серверах сайты, которые будут сопоставлены с доменами, а сделать это надо сопоставлением доменного имени с IP адресом сервера на котором будет нужный сайт, путем добавления А записи.
    Т.е. если IP первого сервера x.x.x.x, а второго y.y.y.y, надо создать несколько DNS записей:
    Имя               Тип   Значение
    site1.domain.ru   A     x.x.x.x
    site2.domain.ru   A     x.x.x.x
    newdomain1.ru     A     y.y.y.y
    newdomain2.ru     A     y.y.y.y
    newdomain3.ru     A     y.y.y.y

    Все еще CloudFlare ничего не скрыл.

    Первый ДНС сервер должен знать где находится второй сервер и про домены на нем.
    Данные первого сервера я пропишу у регистратора для доменов со второго сервера.

    Это просто фантазии не имеющие отношения к делу

    ---

    Таким образом, вы ничего не скроете, послольку клиенту чтобы зайти на сайт надо сопоставить имя сайта с его IP адресом.
    Если все же надо скрыть (кстати, зачем?), то как раз этим и занимается CloudFlare. В разделе DNS есть облачко со стрелочкой около DNS записи и только нажав на нее вы включите проксирование через CloudFlare.

    Если знаете как у них реализована ддос защита, напишите в дополнению к основному вопросу.

    Об этом уже сказал Dr. Bacon, добавлю лишь то, что DDOS защита включается только при проксировании.
    Ответ написан
    Комментировать
  • CURL | Как скачать не зная версию?

    @mureevms
    В линуксовой консоли можно так, приведите под винду сами, я в нее не умею

    # Выяснить длинную версию последнего релиза:
    LONG_VERSION=$(curl -s https://github.com/adoptium/temurin8-binaries/releases/latest | awk -F\" {'print $2'} | awk -F/ {'print $8'})
    
    # Привести длинную версию последнего релиза к короткой:
    SHORT_VERSION=$(echo $LONG_VERSION | awk -F- {'print $1$2'} | sed 's/jdk//')
    
    # Скачать файл:
    wget https://github.com/adoptium/temurin8-binaries/releases/download/$LONG_VERSION/OpenJDK8U-jdk_x64_windows_hotspot_$SHORT_VERSION.msi
    Ответ написан