LINUX.ORG.RU

Сообщения Bubublik

 

Конвертация видеофайлов

Предисловие: есть небольшой видеосервис, на котором храняться записи лекций ВУЗа. Ранее сие было банальной файлопомойкой, но в прошлом году дошли руки и был реализован «свою ютуб с блэкджеком и павлинами» - лекции можно посмотреть, можно скачать, можно свой плей-лист сформировать. Ну в общем такое... Крутится все на обычном компе (i7, DDR3), на борту Debian.

Дабы все было однотипно и красиво мы начали кодировать видео в одинаковый формат (ffmpeg), что логично - и места меньше занимает и админить такое проще. Но вот тут возникла проблема - есть необходимость конвертнуть огромное количество видосов, человек писал лекции несколько лет.

Подскажите, есть ли смысл (понимаю что есть) прикупить видеокарту и кодировать ffmpeg с использованием GPU?

Какую из дешманских видеокарт лучше взять под такие задачи?

Перемещено hobbit из general

 , ,

Bubublik
()

Настройка VPN на Mikrotik (нужна сеть без Интернета)

Есть сеть, пускай «сеть А» - 192.168.109.0/24, в ней есть web-сервер (192.168.109.200) и файлопомойка (192.168.109.201). Внешний IP динамический. На входе стоит Mikrotik, на нем настроен L2TP. Тут скорость Интернет-соединения до 100Мбит.

Также есть сеть, пускай «сеть Б» 192.168.2.0/24, по сути общая сеть с кучей клиентов. Тут скорость Интернет-соединения до 10Гбит. Часть клиентов подключается к «сети А» по L2TP и юзает ресурсы этой сети.

Все работает, но есть нюанс - при подключении клиентов «сети Б» по L2TP к «сети А», они черпают Инетрнет тоже с «сети А», что не есть хорошо.

В какую сторону копать, дабы клиенты «сети Б» по L2TP получали доступ к ресурсам «сети А», но юзали свой Инетрнет?

 , , ,

Bubublik
()

Дисковий RAID-массив выпадает в read-only

Имею в хозяйстве сервер (Supermicro), куплен для резервных копий. Железо новое, месяц как купили. В нём рейд 10, по два HDD в блоке (span), всего 12 блоков. Ну сие такое...

На борту Debian 11, свежий. ОСь стоит на отдельном SSD. Рейд-массив подсунут в каталог /dat (fstab через UUID) Из «дополнительного» софта установлены только non-free дрова, htop, rsync, autofs и mc.

Проблема: запускаю rsync на копирование, копировать много - почти 40ТБ. Копируется все с виндового сервера, который монтируется через autofs. И где то через часика два rsync падает с ошибкой, что запись невозможна. хз почему, но рейд-массив падает в read-only. После ребута всё норм.

Что за х**ня?

 , ,

Bubublik
()

Намутил с nginx

Доброго времени суток, линуксоиды.

В общем, имею web-сервер. NGINX+PHP-FPM+MySQLi+PostgreSQL. Ничего особенного... Конфиг писал лично, но со временем добавлялись все новые и новые «очень нужные моменты», в результате чего появилась проблема.

Проблема: после прогрузки веб-сайта не отображаются рандомные картинки - что-то прогружается, что-то - нет. Закономерности нет, сугобо случайно.

Вопрос: где я натупил?

nginx.conf

user  nginx;
worker_processes  8;
worker_rlimit_nofile 8192;
worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000;

error_log  /var/log/nginx/error.log crit;
pid        /var/run/nginx.pid;

events {
        worker_connections  1024;
        use epoll;
        worker_aio_requests 32;
        multi_accept on;
}


http {
        server_tokens off;

        include       /etc/nginx/mime.types.conf;
        default_type  application/octet-stream;

        log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                                            '$status $body_bytes_sent "$http_referer" '
                                            '"$http_user_agent" "$http_x_forwarded_for"';

        access_log  /var/log/nginx/access.log main buffer=16k;

        open_file_cache max=200000 inactive=10s;
        open_file_cache_valid 10s;
        open_file_cache_min_uses 6;
        open_file_cache_errors on;

        gzip on;
        gzip_disable        "msie6";
        gzip_vary           on;
        gzip_comp_level     7;
        gzip_buffers        64 32k;
        gzip_http_version   1.0;
        gzip_types          *;
        gzip_proxied        any;

        limit_conn_zone $binary_remote_addr zone=addr:8m;
        limit_conn_zone $server_name zone=perserver:8m;

        limit_conn addr 32;	               
        limit_conn perserver 256;          

        server_name_in_redirect on;
        server_names_hash_bucket_size  32;

        sendfile                    on;
        keepalive_timeout           10;
        keepalive_requests          10;
        reset_timedout_connection   on;
        tcp_nopush                  on;
        tcp_nodelay                 on;

        # client_body_timeout 10;
        # send_timeout 10;

        ssl_protocols TLSv1.3 TLSv1.2;
        ssl_session_cache shared:SSL:1m;
        ssl_session_timeout  10m;		
        ssl_prefer_server_ciphers   on;		
        ssl_ciphers ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES256-SHA384;
        ssl_ecdh_curve secp384r1;
        ssl_session_tickets off;
        # ssl_stapling on;
        ssl_stapling_verify on;

        resolver 1.1.1.1 8.8.8.8 8.8.4.4 valid=300s;
        resolver_timeout 5s;

        add_header Strict-Transport-Security 'max-age=31536000; preload';
        add_header X-Frame-Options "DENY";
        add_header X-Content-Type-Options nosniff;
        add_header X-XSS-Protection "1; mode=block";

        proxy_max_temp_file_size 0;
        proxy_buffering off;

        ssl_dhparam /etc/ssl/certs/dhparam.pem;

        map $sent_http_content_type $expires {
        	default                    off;
        	text/html                  epoch;
        	text/css                   max;
        	application/javascript     max;
        	~img/                    max;
        }
		
		fastcgi_cache_key "$scheme$request_method$host$request_uri$cookie_PHPSESSID";
		fastcgi_cache_path /tmp/nginx_cache levels=1:2 keys_zone=fastcgicache:10m inactive=70m max_size=512m;
		fastcgi_cache off;
		fastcgi_cache_valid 200 60m;
		
		# fastcgi_cache_bypass $no_cache;
		# fastcgi_no_cache $no_cache;
		

        server {
            server_name  _;
            root   /usr/share/html;

            listen       80;
        }

        include /etc/nginx/sites-enabled/*.conf;
}

конфиг сайта

server {
    set $pool "example.com";
    set $main_dir "example.com";
    set $root_dir "/home/www/";
    set $php_version "5.6";
    set $php_exec_sec "60";
    set $subdomain "";

    server_name  example.com www.example.com;
    root   $root_dir$main_dir/htdocs;

    listen       80;		   
    listen       443 ssl http2;

    if ($request_method !~ ^(GET|HEAD|POST)$ ) {
      return 444;
    }

    if ( -f /var/log/nginx/ban/$remote_addr ) {
        return 403;
    }

    pagespeed off;
    pagespeed FileCachePath /home/www/example.com/htdocs/engine/cache;

    location /nginx_stat {
	    stub_status on;
    }

    location / {
        index  index.php;
        try_files $uri $uri/ /index.php?$args;
    }

    client_max_body_size 1m;
    client_body_buffer_size 1024k;

    ssl_certificate         /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key     /etc/letsencrypt/live/example.com/privkey.pem;

    access_log  /home/www/example.com/log/nginx_access.log main buffer=16k;
    error_log   /home/www/example.com/log/nginx_error.log crit;

    add_header cache-control "no-cahce, no-store, must-revalidate, max-age=0";
    add_header X-Content-Type-Options nosniff;
    add_header X-XSS-Protection "1; mode=block";
    add_header Strict-Transport-Security "max-age=31536000; preload";

    rewrite "^/photos.html$" /index.php?do=mod_photogal last;
    rewrite "^/hotline.html$" /index.php?do=hotline last;
    rewrite "^/rules.html$" /index.php?do=rules last;
    rewrite "^/statistics.html$" /index.php?do=stats last;
    rewrite "^/addnews.html$" /index.php?do=addnews last;

    # Передача запроса в FPM
    location ~ \.php$ {

        try_files $fastcgi_script_name =404;

        if ( $host != "example.com" ) {
            rewrite ^(.+)$ https://example.com$1 permanent;
        }

        if ($scheme !~ ^https$) {
            rewrite ^(.+)$ https://$host$1 permanent;
        }

        include             /etc/nginx/fastcgi_params.conf;
        client_body_temp_path /home/www/example.com/tmp;
        fastcgi_param       PHP_ADMIN_VALUE     " upload_tmp_dir=$root_dir$main_dir/tmp/upload
                                                  open_basedir=$root_dir$main_dir/htdocs:$root_dir$main_dir/log:$root_dir$main_dir/tmp/upload:$root_dir$main_dir/tmp/download
                                                  session.save_path=$root_dir$main_dir/tmp/session
                                                  error_log=$root_dir$main_dir/log/php_error.log
                                                  mail.log=$root_dir$main_dir/log/php_mail.log
                                                  upload_max_filesize = 8M
                                                  post_max_size = 8M
                                                  memory_limit=32M
                                                  max_input_time=$php_exec_sec
                                                  max_execution_time=$php_exec_sec
        					                    ";
    }
	
	location ~* \.(jpg|jpeg|gif|png|pdf|rar|zip)$ {
	  gzip off;
	  aio on;
	  access_log   off;
	  expires    -1;
	}

	location ~* \.(txt|css|js|log)$ {
	  access_log off;
	  add_header gzip_compress_ratio $gzip_ratio;
	  expires max;
	}

}

 

Bubublik
()

Анализ RAM

Есть задача - достать с винта информацию. Скажу сразу, дабы не было вопросов - комп принесли с «органов», вроде как этой железякой пользовался юзер координирующий закладки в городе.

В общем есть комп с линухом на борту. На носителе три раздела - один з загрузчиком (1Mb), вторые два шифрованы LUKS’ом (2Gb и 76Gb).

Если включить - все норм грузится и упирается в пасс пользователя. ОСь на смену tty не реагирует.

Поправить загрузчик возможности нет - бинарник с загрузчиком тупо намазан на раздел.

Все к чему я додумался - грузонуть его на виртуалке (норм грузится) и сдампить ram при загрузке, когда разделы уже расшифрованы.

Возникает вопрос: чем можно в более-менее не вырвиглазном виде посмотреть что лежит в RAM? По моему мнению, там как минимум должна лежать таблица файлов расшифрованного раздела, ключи расшифровки…

 , ,

Bubublik
()

Блокировка трафика Opera VPN

В общем есть предприятие, в нем сеть из овердох.. большого количества юзернеймов. Часть виндовсы*, часть линухи. Вот собственно часть виндовых юзернеймов начали конкретно надоедать своими OperaVPN - приносят на флешке портабельную версию, запускают и бегом в одноклассники/фейсбук/и т.п..

* нельзя отказаться от винды - спец.софт для общения с заказчиками, нельзя закрыть им интернет - этот софт работает через интернет + по специфике своей работы они постоянно гуглят что-то.

Руководство каждые несколько дней методично приносит мне распечатки скринов с датами публикаций фоточек/приколов нашими сотрудницами с вопросом "какого х*ра я тебе плачу деньги?".

Вот и вопрос: я понимаю, что окромя OperaVPN есть ещё много методов (например ТОР) обхода всяких блокировок, но как заблочить OperaVPN используя microtik?

 , , ,

Bubublik
()

Обьединение web-серверов на NGINX

Доброго времени суток :)

Есть у меня в сети два web-сервера, оба на nginx, режим доступа к ним - в хостах юзеров прописано какое доменное имя к какому IP завязан. На каждом сервере есть по нескольку ресурсов - всяческие реестры и системы учёта. Объединить всё в один - нельзя, уровни секретности, епт.
На сервере А есть ресурсы А1 и А2.
На сервере В есть ресурсы В1, В2 и В3.

Отныне нужно эти два сервера как-то вывести в глобальную сеть, внешний IP у нас один. С роутера проброшен порт на сервер А.

Нужно настроить сие таким образом дабы запрос к серверу А отдавался юзеру, а запрос к серверу В проходил через А отрабатывался на сервере В и возвращался юзеру.

В принципе на сервере А в конфигах nginx'а можно забить все домены с сервера В и через proxy_pass гонять все нужные запросы на сервер В.
Но правильно ли сие? Можно ли как-то перенаправлять запросы не nginx'ом, а... чем-то более легковесным (например iptables)? И стоит ли сие делать?

 ,

Bubublik
()

Доменная сеть

Оставили мне в наследство контору, точнее сетевое хозяйство. Как оно работает - ..й его знает.

В общем ситуация у меня такова:
0. Есть доменная сеть, везде виндовсы, один контроллер + около сотни юзернеймов.
1. Каждый юзернейм может со своим логином/паролем войти с любого ПК.
2. Есть общая сетевая шара, у каждого юзера есть каталог в этой шаре, каждый юзер может писАть только в свой каталог, читать может с любого.
3. Есть сервер, туда ходят по рдп, юзера туда пускает по его же логину/пассворду.
4. Контроллер диктует групповые политики - юзерам обрезано часть функционала виндовса.

Что нужно сделать:
0. Максимально уменьшить количество виндовсов в сети.
1. Сделать контроллер на линухе.
2. Сделать шару на линухе.
3. Не потерять существующий функционал, т.е. юзеры должны иметь возможность логиниться на любом ПК под управлением линуха, юзеры должны иметь к доступ к шаре.
4. Нужна возможность управлять всеми линух-машинами сразу, т.е. ставить/обновлять/удалять пакеты, что-то вроде глобального ссш.
5. Подключить к чисто линуховой сети виндовые машины которые нельзя сменить на линух по причине спец. софта.

Ребята, я даже не знаю в какую сторону копать :(

 ,

Bubublik
()

Доступк к виндовому RDP

Имеется у меня домашний ПК с дебом на борту, есть на работе сервер тоже с дебом (без графония, консоль) смотрящий и слушающий интернет, ну и виндовый сервер в одной локалке с первым серваком, но без доступа к интернету.

Есть необходимость у меня ходить из дома на виндовый сервер, единственное звено через которое можно зайти это сервак с дебом. Получить доступ к фс винды не проблема, проблема в том что ходить нужно по рдп, дабы контролировать работу софта.

Вопрос: Как?

 ,

Bubublik
()

RSS подписка на новые темы