{
    "version": "https:\/\/jsonfeed.org\/version\/1.1",
    "title": "IT science: заметки с тегом ubuntu",
    "_rss_description": "IT science — статьи и инструкции из мира IT",
    "_rss_language": "ru",
    "_itunes_email": "",
    "_itunes_categories_xml": "",
    "_itunes_image": "",
    "_itunes_explicit": "",
    "home_page_url": "https:\/\/itscience.pro\/tags\/ubuntu\/",
    "feed_url": "https:\/\/itscience.pro\/tags\/ubuntu\/json\/",
    "icon": "https:\/\/itscience.pro\/pictures\/userpic\/userpic@2x.jpg?1658757154",
    "authors": [
        {
            "name": "IT science",
            "url": "https:\/\/itscience.pro\/",
            "avatar": "https:\/\/itscience.pro\/pictures\/userpic\/userpic@2x.jpg?1658757154"
        }
    ],
    "items": [
        {
            "id": "46",
            "url": "https:\/\/itscience.pro\/all\/statistika-ispolzovaniya-licenziy-autodesk-server-licenziy\/",
            "title": "Статистика использования лицензий Autodesk (сервер лицензий)",
            "content_html": "<p>Делюсь опытом, может кому-то пригодится.<\/p>\n<p>Внимание! Это материал про официальный сервер лицензий!<\/p>\n<p>Когда-то  у нас были сетевые лицензии, сначала бессрочные, потом годовые и был свой сетевой сервер лицензий.<br \/>\nСам сервер был развёрнут на машине с windows, файл лицензий получали через кабинет Autodesk после продления.<\/p>\n<p>Но, сейчас о другом. Нам захотелось получать статистику выдачи лицензий, т. к. куплено их было «впритык» и нужно было отслеживать целесообразность использования.<\/p>\n<p>В инсталляторе идёт утилита <b>lmutil.exe<\/b>, запуск которой в командной строке выдаст статистику по ключам.<\/p>\n<p>Это конечно круто, но недостаточно смотреть статистику, хочется её накапливать, в базе например. Через командную строку Windows делать такое непрактично. На выручку приходит наш любимый linux.<\/p>\n<p>Для начала идём на сайт Autodesk и скачиваем Autodesk Network License Manager для Linux.<br \/>\n<a href=\"https:\/\/knowledge.autodesk.com\/ru\/search-result\/caas\/downloads\/downloads\/RUS\/content\/autodesk-network-license-manager-for-linux.html\">https:\/\/knowledge.autodesk.com\/ru\/search-result\/caas\/downloads\/downloads\/RUS\/content\/autodesk-network-license-manager-for-linux.html<\/a><\/p>\n<p>Обратите внимание, поддерживаемые версии:<\/p>\n<ul>\n<li>Red Hat Enterprise Linux 8<\/li>\n<li>Red Hat Enterprise Linux 7<\/li>\n<li>SUSE Linux Enterprise 15 с пакетом обновления 2 (SP2)<\/li>\n<li>SUSE Linux Enterprise 15 с пакетом обновления 1 (SP1)<\/li>\n<li>SUSE Linux Enterprise 15<\/li>\n<li>SUSE Linux Enterprise 12 с пакетом обновления 4 (SP4)<\/li>\n<\/ul>\n<p>Не смущайтесь, ниже я расскажу как это всё запустить на Ubuntu.<\/p>\n<p>Если заглянуть в RPM пакет, то там распаковываются 4 файла в папку <b>\/opt\/flexnetserver\/<\/b><\/p>\n<ul>\n<li>LicenseAdministration.pdf<\/li>\n<li>adskflex<\/li>\n<li>lmgrd<\/li>\n<li>lmutil<\/li>\n<\/ul>\n<p>Собственно, для наших целей потребуется только файл <b>lmutil<\/b><\/p>\n<p>Закидываем распакованный файл куда хотим на наш сервер, хоть в папку scripts<\/p>\n<p>Ну, а дальше, небольшой фикс<\/p>\n<p>Если при запуске утилиты она выдаёт ошибку<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">$ .\/lmutil\nbash: .\/lmutil: Нет такого файла или каталога<\/code><\/pre><p>ldd выдаёт результат<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">$ ldd lmutil\n        linux-vdso.so.1 (0x00007fff5b1de000)\n        libpthread.so.0 =&gt; \/lib\/x86_64-linux-gnu\/libpthread.so.0 (0x00007fbe36c6f000)\n        libm.so.6 =&gt; \/lib\/x86_64-linux-gnu\/libm.so.6 (0x00007fbe36b20000)\n        libgcc_s.so.1 =&gt; \/lib\/x86_64-linux-gnu\/libgcc_s.so.1 (0x00007fbe36b05000)\n        libc.so.6 =&gt; \/lib\/x86_64-linux-gnu\/libc.so.6 (0x00007fbe36913000)\n        libdl.so.2 =&gt; \/lib\/x86_64-linux-gnu\/libdl.so.2 (0x00007fbe3690d000)\n        librt.so.1 =&gt; \/lib\/x86_64-linux-gnu\/librt.so.1 (0x00007fbe36903000)\n        \/lib64\/ld-lsb-x86-64.so.3 =&gt; \/lib64\/ld-linux-x86-64.so.2 (0x00007fbe36c98000)<\/code><\/pre><p>Попробуйте сделать линк на so<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">sudo ln -s ld-linux-x86-64.so.2 \/lib64\/ld-lsb-x86-64.so.3<\/code><\/pre><p>и вам повезёт<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">$ .\/lmutil\nlmutil - Copyright (c) 1989-2021 Flexera. All Rights Reserved.\nusage:  lmutil lmborrow | lmborrowl -status\n        lmutil lmborrow | lmborrowl -purge\n        lmutil lmborrow | lmborrowl -purge -status\n        lmutil lmborrow | lmborrowl -clear\n        lmutil lmborrow | lmborrowl {all|vendor} dd-mmm-yyyy:[time]\n        lmutil lmborrow -return [-c licfile] [-d display_name]  [-u username] [-h hostname] [-fqdn] [-vendor name] feature [-bv version]\n...<\/code><\/pre><p>А дальше дело техники<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">$ .\/lmutil lmstat -f 85536ACD_2011_0F -c 40000@server_license<\/code><\/pre><p>запрашиваем статистику по использованию лицензий для продукта <b>AutoCAD 2011<\/b> у сервера <b>server_license<\/b><\/p>\n<p>Коды продуктов можно посмотреть тут: <a href=\"https:\/\/jtbworld.com\/flexnet-flexlm-feature-codes-for-autodesk-applications-and-other-applications\">https:\/\/jtbworld.com\/flexnet-flexlm-feature-codes-for-autodesk-applications-and-other-applications<\/a><\/p>\n<p>Из Linux можно опрашивать несколько серверов LMTOOL, если нужно, а дальше нужно только распарсить вывод и сохранить его в базу.<\/p>\n",
            "date_published": "2022-09-12T17:37:46+03:00",
            "date_modified": "2022-09-12T17:52:24+03:00",
            "tags": [
                "Autodesk",
                "lmtools",
                "nlm",
                "ubuntu"
            ],
            "_date_published_rfc2822": "Mon, 12 Sep 2022 17:37:46 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "46",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": []
            }
        },
        {
            "id": "43",
            "url": "https:\/\/itscience.pro\/all\/sozdayom-synology-iscsi-i-podklyuchaem-v-ubuntu\/",
            "title": "Создаём synology iscsi и подключаем в Ubuntu",
            "content_html": "<p>сервер Synology DSM 7.0.1-42218<br \/>\nUbuntu 20.04<\/p>\n<h2>В Synology<\/h2>\n<p>переходим в SAN менеджер и создаем target<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/itscience.pro\/pictures\/izobrazhenie_2021-12-16_134256.png\" width=\"800\" height=\"351.91637630662\" alt=\"\" \/>\n<\/div>\n<p>и сразу создаём, связанный с target LUN<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"671\" data-ratio=\"1.0583596214511\">\n<img src=\"https:\/\/itscience.pro\/pictures\/izobrazhenie_2021-12-16_134406.png\" width=\"671\" height=\"634\" alt=\"\" \/>\n<img src=\"https:\/\/itscience.pro\/pictures\/izobrazhenie_2021-12-16_134433.png\" width=\"670\" height=\"636\" alt=\"\" \/>\n<img src=\"https:\/\/itscience.pro\/pictures\/izobrazhenie_2021-12-16_134704.png\" width=\"674\" height=\"635\" alt=\"\" \/>\n<img src=\"https:\/\/itscience.pro\/pictures\/izobrazhenie_2021-12-16_134720.png\" width=\"669\" height=\"636\" alt=\"\" \/>\n<\/div>\n<\/div>\n<p>нам нужно 30Тб, не заморачиваемся с гибкостью, нужна максимальная надёжность<\/p>\n<p>дальше настраиваем в ubuntu<\/p>\n<h2>в Ubuntu<\/h2>\n<p>устанавливаем софт<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">sudo su\napt update\napt install open-iscsi<\/code><\/pre><p>редактируем конфиг<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">mcedit \/etc\/iscsi\/iscsid.conf<\/code><\/pre><p>меняем<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">#*****************\n# Startup settings\n#*****************\n\n# To request that the iscsi initd scripts startup a session set to &quot;automatic&quot;.\n# node.startup = automatic\n#\n# To manually startup the session set to &quot;manual&quot;. The default is manual.\n#node.startup = manual\nnode.startup = automatic<\/code><\/pre><p>запрашиваем доступные таргеты с сервера<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">iscsiadm -m discovery -t st -p &lt;адрес сервера&gt;<\/code><\/pre><div class=\"e2-text-picture\">\n<img src=\"https:\/\/itscience.pro\/pictures\/izobrazhenie_2021-12-16_160129.png\" width=\"602\" height=\"52\" alt=\"\" \/>\n<\/div>\n<p>когда у нас подключен LUN мы можем заняться созданием раздела и форматированием в btrfs<br \/>\nдля начала посмотрим, куда подключился LUN<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">fdisk -l<\/code><\/pre><div class=\"e2-text-picture\">\n<img src=\"https:\/\/itscience.pro\/pictures\/izobrazhenie_2021-12-16_170905.png\" width=\"685\" height=\"321\" alt=\"\" \/>\n<\/div>\n<p>в нашем примере это \/dev\/sdb<\/p>\n<p>создаем раздел на все свободное пространство (это будет радел GPT, иначе не сможем сделать больше 2 TiB).<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">fdisk \/dev\/sdb<\/code><\/pre><div class=\"e2-text-picture\">\n<img src=\"https:\/\/itscience.pro\/pictures\/izobrazhenie_2021-12-16_171013.png\" width=\"800\" height=\"602.10930009588\" alt=\"\" \/>\n<\/div>\n<p>как нам подсказывает помощь, сначала меняем тип раздела, жмём <b>g<\/b>, потом создаем новый раздел <b>n<\/b>, номер раздела 1, он у нас первый и единственный, размеры начала раздела и его конца по-умолчанию. Когда мы все проверили и нас все устроило, жмём <b>w<\/b> и записываем изменения.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/itscience.pro\/pictures\/izobrazhenie_2021-12-16_171042.png\" width=\"736\" height=\"230\" alt=\"\" \/>\n<\/div>\n<p>ещё раз запускаем fdisk и смотрим результат<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">fdisk -l<\/code><\/pre><div class=\"e2-text-picture\">\n<img src=\"https:\/\/itscience.pro\/pictures\/izobrazhenie_2021-12-16_171120.png\" width=\"680\" height=\"400\" alt=\"\" \/>\n<\/div>\n<p>мы получили раздел \/dev\/sdb1<\/p>\n<p>теперь форматируем<br \/>\nдля начала установим btrfs-progs<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">apt install btrfs-progs<\/code><\/pre><p>форматируем наш раздел<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">mkfs.btrfs -L data \/dev\/sdb1<\/code><\/pre><div class=\"e2-text-picture\">\n<img src=\"https:\/\/itscience.pro\/pictures\/izobrazhenie_2021-12-16_172420.png\" width=\"455\" height=\"321\" alt=\"\" \/>\n<\/div>\n<p>подключаем раздел как папку \/var<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">mount \/dev\/sdb1 \/mail<\/code><\/pre><p>смотрим uuid нашего раздела<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">btrfs filesystem show \/mail<\/code><\/pre><div class=\"e2-text-picture\">\n<img src=\"https:\/\/itscience.pro\/pictures\/izobrazhenie_2021-12-16_173113.png\" width=\"488\" height=\"65\" alt=\"\" \/>\n<\/div>\n<p>редактируем \/etc\/fstab для автоматического подключения<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">mcedit \/etc\/fstab<\/code><\/pre><p>прописываем<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">UUID=5d84eadf-6272-4b3f-8ac9-90a72108df11       \/mail   btrfs   defaults    0 0<\/code><\/pre><p>перегружаем и проверяем<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">reboot<\/code><\/pre>",
            "date_published": "2021-12-17T14:43:39+03:00",
            "date_modified": "2021-12-17T14:43:21+03:00",
            "tags": [
                "iscsi",
                "synology",
                "ubuntu"
            ],
            "image": "https:\/\/itscience.pro\/pictures\/izobrazhenie_2021-12-16_134256.png",
            "_date_published_rfc2822": "Fri, 17 Dec 2021 14:43:39 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "43",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "jquery\/jquery.js",
                    "fotorama\/fotorama.css",
                    "fotorama\/fotorama.js",
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": [
                    "https:\/\/itscience.pro\/pictures\/izobrazhenie_2021-12-16_134256.png",
                    "https:\/\/itscience.pro\/pictures\/izobrazhenie_2021-12-16_134406.png",
                    "https:\/\/itscience.pro\/pictures\/izobrazhenie_2021-12-16_134433.png",
                    "https:\/\/itscience.pro\/pictures\/izobrazhenie_2021-12-16_134704.png",
                    "https:\/\/itscience.pro\/pictures\/izobrazhenie_2021-12-16_134720.png",
                    "https:\/\/itscience.pro\/pictures\/izobrazhenie_2021-12-16_160129.png",
                    "https:\/\/itscience.pro\/pictures\/izobrazhenie_2021-12-16_170905.png",
                    "https:\/\/itscience.pro\/pictures\/izobrazhenie_2021-12-16_171013.png",
                    "https:\/\/itscience.pro\/pictures\/izobrazhenie_2021-12-16_171042.png",
                    "https:\/\/itscience.pro\/pictures\/izobrazhenie_2021-12-16_171120.png",
                    "https:\/\/itscience.pro\/pictures\/izobrazhenie_2021-12-16_172420.png",
                    "https:\/\/itscience.pro\/pictures\/izobrazhenie_2021-12-16_173113.png"
                ]
            }
        },
        {
            "id": "33",
            "url": "https:\/\/itscience.pro\/all\/otslezhivaem-podklyucheniya-po-vpn-na-pfsense\/",
            "title": "отслеживаем подключения по vpn на pfsense",
            "content_html": "<p>Пандемия 2020 дала свои плоды: удаленная работа, массовое использование VPN. Конечно, любое руководство захочет контролировать удаленное подключение\/отключение сотрудников. У себя в компании мы интегрировали VPN в пропускную систему создав виртуальный контроллер. Теперь отдел кадров видит кто посещал рабочее место зайдя в офис или подключался удаленно. Полностью расписывать весь механизм я не стану, лишь опубликую как можно организовать получение событий со шлюза на pfsense.<\/p>\n<p>Для начала создаём сервер на ubuntu, например, виртуальный. Требования минимальны: 1 CPU, 256Мб памяти, 10Гб диск. Я щедро выделил 1Гб памяти и 100 Гб диска, вот что реально потребляет система:<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/itscience.pro\/pictures\/izobrazhenie_2021-04-21_112612.png\" width=\"644\" height=\"90\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/itscience.pro\/pictures\/izobrazhenie_2021-04-21_120015.png\" width=\"569\" height=\"164\" alt=\"\" \/>\n<\/div>\n<p>Качаем минимальный дистрибутив в 74Мб <a href=\"http:\/\/archive.ubuntu.com\/ubuntu\/dists\/focal\/main\/installer-amd64\/current\/legacy-images\/netboot\/mini.iso\">http:\/\/archive.ubuntu.com\/ubuntu\/dists\/focal\/main\/installer-amd64\/current\/legacy-images\/netboot\/mini.iso<\/a><\/p>\n<p>устанавливаем syslog-ng<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">sudo apt update\nsudo apt install syslog-ng<\/code><\/pre><p>создаем конфиг \/etc\/syslog-ng\/conf.d\/external_log.conf<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">source s_udp {\n    udp(port(514));\n};\ndestination d_PFSENSE_VPN {\n     program(&quot;\/usr\/bin\/php \/home\/user\/pfsense_vpn.php&quot; );\n};\nfilter f_PFSENSE_VPN {\n    host(&quot;192.168.#.#&quot;);\n    match(&quot;,l2tp,&quot; value (&quot;MESSAGE&quot;));\n};\nlog {\n    source(s_udp);\n    filter(f_PFSENSE_VPN);\n    destination(d_PFSENSE_VPN);\n};\ndestination d_PFSENSE_OPENVPN {\n     program(&quot;\/usr\/bin\/php \/home\/user\/pfsense_vpn.php&quot; );\n};\nfilter f_PFSENSE_OPENVPN {\n    host(&quot;192.168.#.#&quot;);\n    program(&quot;openvpn&quot;);\n};\nlog {\n    source(s_udp);\n    filter(f_PFSENSE_OPENVPN);\n    destination(d_PFSENSE_OPENVPN);\n};<\/code><\/pre><p>где 192.168.#.# — ip-адрес pfsense<\/p>\n<p>перенаправим логи с pfsense на наш маленький сервер, здесь мы их будем парсить и обрабатывать как нам нужно<\/p>\n<p>в моём примере, мы создаем два фильтра <b>f_PFSENSE_VPN<\/b> и <b>f_PFSENSE_OPENVPN<\/b> для того чтобы скриптом обрабатывать только события связанные с подключением и отключением по протоколам l2tp и OpenVPN (актуально для формата логов pfsense версии 2.5.1<\/p>\n<p>есть два destination, но по сути они ссылаются на один и тот же скрипт <b>d_PFSENSE_VPN<\/b> и <b>d_PFSENSE_OPENVPN<\/b><\/p>\n<p>со стороны pfsense настраиваем пересылку логов на наш сервер<\/p>\n<p>Status -> System Logs -> Settings<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/itscience.pro\/pictures\/izobrazhenie_2021-04-21_114737.png\" width=\"800\" height=\"504.92957746479\" alt=\"\" \/>\n<\/div>\n<p>указываем ip-адрес и порт нашего сервера и ставим галочку «VPN Events (IPsec, OpenVPN, L2TP, PPPoE Server)», т. к. нам нужны только события удаленных подключений<\/p>\n<p>с парсером, я думаю, вы справитесь, приведу пример логов для OpenVPN:<br \/>\nподключение<\/p>\n<\/code><p>Jun 25 18:29:57 192.168.#.# openvpn: user ’user_name’ authenticated<\/p>\n<\/code><p>отключение<\/p>\n<\/code><p>Jun 25 18:57:34 192.168.#.# openvpn[16766]: user_name\/132.252.198.166:6182 Connection reset, restarting [-1]<\/p>\n<\/code><p>С l2tp еще проще:<br \/>\nподключение<\/p>\n<\/code><p>Jun 25 18:29:57 192.168.#.# root: login,l2tp,192.168.111.#,user_name<\/p>\n<\/code><p>отключение<\/p>\n<\/code><p>Jun 25 18:57:34 192.168.#.# root: logout,l2tp,192.168.111.#,user_name<\/p>\n<\/code>",
            "date_published": "2021-04-21T12:01:04+03:00",
            "date_modified": "2021-04-21T12:00:30+03:00",
            "tags": [
                "l2tp",
                "logging",
                "openvpn",
                "pfsense",
                "syslog-ng",
                "ubuntu",
                "vpn",
                "Логирование"
            ],
            "image": "https:\/\/itscience.pro\/pictures\/izobrazhenie_2021-04-21_112612.png",
            "_date_published_rfc2822": "Wed, 21 Apr 2021 12:01:04 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "33",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": [
                    "https:\/\/itscience.pro\/pictures\/izobrazhenie_2021-04-21_112612.png",
                    "https:\/\/itscience.pro\/pictures\/izobrazhenie_2021-04-21_120015.png",
                    "https:\/\/itscience.pro\/pictures\/izobrazhenie_2021-04-21_114737.png"
                ]
            }
        }
    ],
    "_e2_version": 4171,
    "_e2_ua_string": "Aegea 11.4 (v4171)"
}