Сообщество - Лига Сисадминов

Лига Сисадминов

2 419 постов 18 936 подписчиков

Популярные теги в сообществе:

Помощь в согласовании устройств. протокол WiFi

Сеть стоит на роутер OpenWrt SmartBox N300 1.2 (это перешитый смартбок от Пчелайна) нареканий нет. в нем настроено все банально PPPoE / DNS от сторонних сервисов. Ни какой иной логики (SAMBA/Torrent/DynDNS и пр) не поднято. Работает 24/7 Swap / Mem. не нагружены. Траффик идет большой и постоянно. Так же в роутер воткнут кабель отдельным портом для раб. пк. + отдельный порт камера В-Набл. Далее За Роутером стоит Raisecom iscom2110ea-ma настроен для проброса DHCP. также не чего не поднималось. И вся периферия живет за ним. Все.

Пришлось делать проброс Wifi так как стало еще больше всякого, есть два уст-во первый это Asus RT N-11P B1 и еще Cisco AIR но я ее окерпичил.(когда ни будь сделаю) еще пару китайских роутеров. Но они медленные и постоянно виснут.

Короче при подключения к сети повторителем Asus RT работает нормально. Но раз в сутки зависает. Я его хочу подключить к Raisecom iscom2110 кабелем и что б он уже от туда брал ликнАп и отдавал WIFI в сеть . Настройка у него банальная брать тот же диапазон IP брать DNS от роутера и раздавать в сеть. И при таком подключении он вещает на мертво всю сеть. Рухает все даже камера на роутер входа. причем еще сам виснет. При перемене на схему смотреть в шлюз роутера НО раздавать свой диапазон IP работает но не отдает DNS даже при условии прописанных адресов на самом устройстве.

з.ы.

в сети более 20 ти устр-в. часть прописаны статикой часть динамика.

В чем проблема может быть?. или забить и раскерписить Циску... и все.

Показать полностью
3121

Майнер, маскирующийся под Realtek HD и taskhost1

Итак, симптомы этой гадости:

1. А че мой ноут звучит как боинг на взлете?
2. Ля, а почему игра лагает?
3. Кто такой этот ваш COM Surrogate и нахрена он грузит мне процессор?
4. А че у меня антивирус не встает, потому что мне системный администратор запретил? Этож домашний комп.
5. АЛЯРМА, у меня сайты сами закрываются и проводник и вообще все.
6. У меня нет плиты, потому что я жарю яичницу на крышке ноутбука
7. И тому подобное...

Копаем глубже, разъясняем про майнера:

Кто-то когда-то (конечно же не ты) смотрел много порнухи и качал всякий шлак. Подцепил майнера, ублюдка такого, который на твоих мощностях криптовалюту добывает. Бывает. Главное чтобы мама не спалила.
Суть такая, в папке "'C:\ProgramData\RealtekHD" лежит файлик taskhost.exe. И смело маскируется в диспетчере задач под COM Surrogate, запускаемый dllhost''ом, который в свою очередь должен лежать в ""C:\Windows\System32". Подозрительно? Я тоже так считаю. Вот этот шлак и есть тот самый вирусняк.

Собственно, помимо этого он:
1. Создает папки в "'C:\ProgramData", которые создали бы топ 10 антивирусов при установке, делает их скрытыми (ну вот прям совсем скрытыми, чуть ли не с признаком "системная") и блокирует к ним доступ достопочтенному тебе и системе. На опережение в общем действует гаденыш.
2. Эта хитрая жопа лезет в твой регистр и банит тебе там возможности рабоать с проводником, таск менеджером и прочими полезными вещами. Причем как бы не совсем банит, надо же не спалиться, а так, чуть чуть:
2.1. Установка антивирусов - пошел в жопу, этого нам тут не хватало
2.2. Зайти и удалить файл вируса - ты что, с дуба рухнул? ЗАБАНЕНО
2.3. Слишком долго шаришься по проводнику? - не ешь мои мощности для майнинга, курва.
3. Он решает, что зайти на сайты, которые помогут тебе решить проблему, скачать антивирус и так далее - это плохая затея, поэтому ограждает тебя от этих плохих действий, внося в файл HOSTS небольшие корректировки (где-то 80 штук).

Так, а делать то мы с этим че будем?

Тут все изи, по шагам, по минутам:
1. Жмякаем Win+R тыкаем по клавиатуре "msconfig.exe" ну и на Enter ткнуть не забываем
2. Вкладочка "Загрузка", галочка "Безопасный режим" и ребутнемся
Теперь мы этому говну не по зубам, он же под службу маскируется, а мы их отключили (обязательно потирать руки или гладить кота, как злодей из бондианы)
3. Опять наш любимый Win+R пальчиками набираем "regedit" жмякаем Enter
4. Смело идем в "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer'"
Там еще может быть папочка "DisallowRun"" - Вот оно то нам и надо, оно банит нам запуск программ (в нашем случае - антивирусов).
5. Если там много хлама - проделки вируса, удаляем их (там обычно написано, что он банит)
6. Выходим из безопасного режима (Шаг 1-2, только безопасный режим наоборот отключаем)
Финишная прямая.
7. Как нибудь через три пды колено (флешка, телефон, телеграм, да пофиг) закидываем себе на комп малюсенький дистрибутив Rkill. Эта штука при запуске ненадолго остановит уродца и поубивает его процессы.
8. Собственно, нахрена нужен предыдущий шаг? Если есть желание поиграть в самого быстрого стрелка на диком западе - можешь попробовать запустить Rkill, а потом сразу зайти и удалить приложуху с вирусом. Если нет - запускаем, качаем антивирус (я обычно докторвеба для таких вещей использую), устанавливаем, стартуем проверочку. Найдет пару измененных этой штукой файлов и починит или удалит.
9. Файлик "hosts.sys" может быть не починить. Залезаем к нему домой по адресу "C:\Windows\System32\drivers\etc", открываем в блокнотике и удаляем все строки без # первым символом. сохраняем как "hosts"", меняем расширение с ".txt" на ".sys"

Сейчас вместе думаем "Да сколько уже можно?!", но верим в лучшее, осталось чутка.

10. Заходим в "'C:\ProgramData", ищем папки с названиями антивирусов
11. ПКМ на них нещадно -> Свойства -> Безопасность -> Дополнительно
12. Находим своего юзера, видим напротив него "полный доступ" и "запрещено"
Сильно зло думаем "Скотина, как он имеет право хозяйничать на моем компе.?!"
13. Нажимаем на себя, изменить и, спасибо что вирус тупой, просто нажимаем разрешить.
14. Удаляем нахер папку, радуемся жизни.
15. Вуаля, готово, дан, качай порнуху дальше. Скринов не будет, мне лень.

На всякий на тебе ссыль на докторвеба и на полезную статейку на ремонтке

UPD:

Тут по прочитанным комментам - есть бесплатная утилитка DrWeb cureit ссылка вот

Показать полностью
20

Локальная сеть 10G

Всем доброго!
Требуется помощь зала.
Столкнулся с непонятным поведением сетевой(их) карта.
Строю 10G сеточку, в наличии 4 компа и комутатор D-link 1250-28 с 4мя SFP+ портами, 4 сетевых карты от дядюшки Ляо названные Intel 520-DA1, от этого же старика 2 провода 7м.
С 3мя компами все отлично вставляем карточку, провод в карточку и в комутатор и D-link оповещает зелененьким светодиодом о наличии коннекта на порту. С одним же компом чудеса, карта стоит, проводок на месте D-link не видит на порту подключение. Произвольная замена сетевых карт, проводов, портов, показала что все сетевые карты работают, провода целы, порты в комутаторе живы.
Полез в биос матери MSI MAG B550 TOMAHAWK MAX WIFI (MS-7C91) в настройках PCI-E испробовал все варианты - auto, x8+x8, x8+x4+x4, x4+x4+x4+x4. Поведение одинаковое, на сетевой карте жёлтые act/link, на комутаторе на порту пусто.
Куда бы ещё копнуть?

36

Делаем актуальный TOR Proxy socks5 на Raspberry + NYX на момент установки с комментариями и настройкой Chrome для работы с .Onion и смены IP

Делаем актуальный TOR Proxy socks5 на Raspberry + NYX на момент установки с комментариями и настройкой Chrome для работы с .Onion и смены IP

Все написанное ниже хоть его и кажется много ставится с нуля минут за 15-20, смотрите выделенное жирным, остальное комментарии. Это было получено и проанализировано через множество ошибок и часов гуглежа, и не понимания почему же не работает. Делалось не для анонимности, а для чтения комьюнити форума циско, и подобного.

Заранее предупрежу что для работы требуется Raspberry на архитектуре arm64 (Raspberry 3 B+), 32 битные я не смог без костылей обновить пакет тора, а хотелось так как их больше у меня.

Могут быть ошибки, что-то лишнее. Есть что поправить напишите. Я обновлю.

Я упускаю моменты как записать самый маленький дистрибутив на минимальную флеш 4Gb, и найти IP адрес малины в сети, и как к ней подключиться через SSH (Я использую MobaXterm).

Далее инструкция копировать-вставить всю строку до скобки "(" читая комментарии!, ну кроме места где мы доходим до torrc файла.

  1. sudo su (входим под рутом)

  2. lsb_release -c (выясняем архитектуру Raspberry если у вас как у меня "3 B+" то это будет "bullseye" и ниже конфиг править не нужно, просто копировать-вставить. Если архитектура другая нужно ниже поменять с "bullseye" на вашу в пункте ниже ".....torproject.org Ваше значение main")

  3. sudo nano /etc/apt/sources.list.d/tor.list (создаём файл для обновления репозитория DEB TOR на актуальный. Пишем строки:)

    deb [signed-by=/usr/share/keyrings/tor-archive-keyring.gpg] https://deb.torproject.org/torproject.org bullseye main

    deb-src [signed-by=/usr/share/keyrings/tor-archive-keyring.gpg] https://deb.torproject.org/torproject.org bullseye main

  4. Закрываем tor.list через Ctrl+S и Ctrl+X (Смотри на язык раскладки, иначе не применится)

  5. "ВНИМАНИЕ ПЛОХО ОТОБРАЖАЕТСЯ ССЫЛКА ОНА ДОЛЖНА БЫТЬ ДЛИННОЙ БЕЗ... И ЗАКАНЧИВАТЬСЯ НА 86DDD89.asc"

    sudo wget -qO- https://deb.torproject.org/torproject.org/A3C4F0F979CAA22CDB... | sudo gpg --dearmor | sudo tee /usr/share/keyrings/tor-archive-keyring.gpg >/dev/null  (Это добавляет сертификат DEB тора)

  6. sudo apt update -y (Обновляем)

  7. sudo apt-get update -y (Обновляем)

  8. sudo apt-get upgrade -y (Обновляем)

  9. sudo apt install -f  (Обновляем)

  10. sudo timedatectl set-timezone Europe/Moscow (обновляем время, может быть излишним, но я ловил ошибку времени пару раз, пусть будет)

  11. sudo apt install apt-transport-https -y (это потребуется в дальнейшем для обновления пакета тор, или нет? я тут не уверен, но пусть будет)

  12. sudo apt install obfs4proxy -y (Ставим obfs4)

  13. sudo apt install nyx -y (Ставим средство мониторинга ТОР, красиво после портянок, но для домохозяек мало информативно). После полной установки запускается как nyx в SSH.

  14. sudo apt install tor deb.torproject.org-keyring --yes (Ставим ТОР)

  15. sudo nano /lib/systemd/system/tor.service (правим загрузку сервисов TOR после перезагрузки, без этого у меня не стартовали сервисы)

    В раздел [Unit] вставить

    Wants=network-online.target

    After=network-online.target

  16. Закрываем tor.service через Ctrl+S и Ctrl+X (Смотри на язык раскладки, иначе не применится)

    ПОДГОТОВКА перед пунктом 17.

    Переходим по ссылкам ниже и набираем proxy obfs4, складываем это в блокнот (Я набирал штук 10. Чем их больше тем хуже хопы, или ошибки и вообще косяки. И будет не старт, но пробуйте а вдруг)

    ## Оф. Бот в telegram с obfs4 прокси https://t.me/GetBridgesBot

    ## Оф. сайт для получения obfs4 прокси https://bridges.torproject.org/bridges/?transport=obfs4

    ## Тоже obfs4 прокси, но откуда не знаю https://t.me/s/tor_bridges

    ## Тут удаляем дубликаты: https://spiskin.ru/scripts/del_duplicates/

    ## Если есть ещё что полезное напишите.

    Главное после того как собрали и удалили дубликаты вставляем обязательно фразу "Bridge" перед каждой прокси:

    Было - obfs4 178.74.40.27:8921............блабла......

    Стало - Bridge obfs4 178.74.40.27:8921............блабла......

    Внимание: Если не стартует дальше Bootstrapped 2% (conn_done_pt): Connected to pluggable transport, значит после удаления дублей что-то покорябило в тексте проксей. делайте заново.

    ## Записали найденные\полученные proxy и далеко не убираем. Далее подготавливаем настройки вашего TOR в файле torrc

  17. sudo nano /etc/tor/torrc - правим конфиг (ВНИМАНИЕ в этом файле НУЖНО ВСТАВИТЬ IP АДРЕС Raspberry + добавить obfs4 прокси которые мы получили, удалить полностью строку в этом nano "блокноте" это кнопка "F9")

    ##Вставляем все это в /etc/tor/torrc от начала до конца "Всю портянку прям с комментариями на кириллице.

    SOCKSPort 192.168.XX.Y:9977

    ## Это ваш прокси SOCKS5 вида IP:Port. Меняем XX.Y на ваш IP адрес Raspberry в локальной сети полученным устройством (например ifconfig, или смотреть на роутере\свитче, или где угодно, мы то уже правим конфиг к этому моменту, ставили пакеты.. Вы его должны знать, меняем порт на нужный вам)

    SOCKSPolicy accept 192.168.XX.0/16

    ## Тут тоже нужно поменять на вашу подсеть 192.168.XX.0/16 - где XX верное в Вашем случае

    RunAsDaemon 1

    DataDirectory /var/lib/tor

    StrictNodes 1

    ClientTransportPlugin obfs4 exec /usr/bin/obfs4proxy

    UseBridges 1

    ExcludeExitNodes {RU},{UA},{AM},{KG},{BY}

    ## Перечисляем символические имена стран, узлы из которых не хотим использовать в качестве выходных (в примере это Россия, Украина, Белоруссия)

    ExcludeNodes {RU},{UA},{AM},{KG},{BY}

    ## Эта опция исключает ноды на любых стадиях при составлении маршрута, то есть указанные ноды не могут использоваться для входной, промежуточной или выходной ноды.

    ## И вот тут мы вставляем прокси которые мы набрали чуть выше. Не забываем что фразу "Bridge" вставляем перед каждой прокси.

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

    bridge obfs4 185.177.207.210:11210 044defca9726828cae0f880dfedb6d957006087a cert=mlcpy31wgw9vs1tqdcxgiyzaaq6rcdwvw50klpdak/4mzva+wekmlzqrqatcbump2y36tq iat-mode=1

    bridge obfs4 188.121.98.35:3312 59c83853c391991814c238e99b7c0c7a0efa9d16 cert=/qxxb1tpclw75azw7i1uvshzxzh0cnyfayxhthhbn03vx8oot2bxikb6ww+cqt+zackjvg iat-mode=0

  18. Закрываем Ctrl+S и Ctrl+X (Смотри на язык раскладки, иначе не применится)

  19. sudo systemctl enable tor.service (Запуск)

  20. sudo systemctl enable tor (Запуск)

  21. sudo update-rc.d -f tor remove && sudo update-rc.d -f tor defaults (Запуск)

  22. sudo systemctl restart tor (Рестарт сервисов TOR)

  23. sudo systemctl restart tor@default.service (Рестарт сервисов TOR)

  24. sudo systemctl status tor (Cмотрим статус TOR, если Active: failed - красный, то не работает и что-то сделали не так! Active: active (exited) - хорошо. Служба должна работать после перезагрузки)

  25. sudo systemctl status tor@default.service (Active: active (running) - хорошо, остальное нет. Служба должна работать после перезагрузки)

  26. journalctl -exft Tor (Ищем строку Bootstrapped 100% (done): Done (Если она есть тор работает!) После установки мне удобно смотреть старт через эту команду, что происходит)

  27. NYX (запускаем мониторинг если нужно для наглядности)

Переходим в браузер. Все описанное выше запустило нам прокси тор, можно ставить прокси в браузер!

  1. Ставим в CHROME расширение "Антизапрет":

    https://chromewebstore.google.com/detail/обход-блокировок-рунета/npgcnondjocldhldegnakemclmfkngch?utm_source=ext_app_menu

  2. Тык

  3. Ставим галочки, нажимаем плюсик.

  4. Добавляем сайты которые нужно проксировать, или через вон те две стрелочки туда-сюда вносим их сразу списком

  5. Проверяем работу сайтов.

    Я проверяю через whoer.net + сайты Onion:
    http://check.torproject.org (Должно быть желтым, зелёным не знаю как настроить что полностью функционально было)
    http://a4ygisnerpgtc5ayerl22pll6cls3oyj54qgpm7qrmb66xrxts6y3lyd.onion/index.html - Сайт TOR
    https://old.reddittorjg6rue252oqsxryoxengawnmo46qy4kyii5wtqnwfj4ooad.onion/ - Reddit
    https://onion.center/cgi/out.cgi?i=22 - ФЛИБУСТА!

    Готово! Дальше по желанию. Есть что поменять\добавить напишите. Все что я находил на гитхабе\сети, либо не актуальное и не обновляет из репозиториев, либо не работает, либо не работает в наших реалиях, либо просто кусок команд, и поди разберись. Городить докеры "аля проще" я не захотел, тут наглядно и просто. Это сможет сделать ну просто любой по формату далее-далее-далее.

Моя цель дальше сделать скрипт на .sh по подобию: https://github.com/martinkubecka/quickToRelay/blob/main/quic...

Всем удачи.

Показать полностью
42

Проверка скорости вашей локальной сети с помощью OpenSpeedTest

Давайте представим, что нам нужно развернуть приложение, у которого есть явные требования к скорости сети. Мы например можем просто взять, открыть браузер, забить в гугле "тест скорости сети", открыть любой из приглянувшихся нам тестов скорости и... вспомнить что все эти тесты могут проверить только скорость вашего подключения к внешнему миру.

Ок. А что насчёт тестов скорости в локальной сети? Ну, в принципе у нас вроде как есть iperf. Но может еще что-то менее кондовое?
Что-то еще есть. Это как раз https://github.com/openspeedtest/Speed-Test.

OpenSpeedTest - open source решение, предоставляющее возможность оценки производительности сети, и не требующее установки каких-либо агентов или плагинов на стороне клиента. После установки доступ к инструменту можно получить из любого современного браузера. Удобней всего развернуть docker-контейнер с OpenSpeedTest из готового образа (nginx+alpine).
Запустить OpenSpeedTest можно как с готовым, и автоматически обновляемым LetsEncrypt SSL сертификатом, так и без него. В статье мы рассмотрим оба варианта.

Для запуска приложения нам понадобится только какая-нибудь машина с Linux, где мы сможем запускать контейнеры. В статье все действия будут проводиться на виртуалке с Ubuntu 22.04. Для других ОС отличие будет в основном только в методе установки Docker.

Установка Docker

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

Итак. Для начала позаботимся о скачивании и установке GPG ключа:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

После выполнения команды добавим официальный репозиторий Docker:

echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Установим нужные зависимости:

sudo apt-get install apt-transport-https ca-certificates curl gnupg lsb-release -y

Перед установкой Docker на всякий случай обновим систему:

sudo apt-get update

Ну и поставим уже сам Docker CE со всем необходимым:

sudo apt-get install docker-ce docker-ce-cli containerd.io -y

Во избежание запуска Docker с sudo и прочими повышениями привелегий, добавляем пользователя в группу docker:

sudo usermod -aG docker $USER

Для проверки работы нужно перелогиниться в систему, после чего выполнить например:

docker ps

Если всё хорошо, должна показаться примерно такая картина:

CONTAINER ID IMAGE  COMMAND CREATED  STATUS  PORTS

Всё готово. Теперь можно приступить к более интересной части.

Развёртывание OpenSpeedTest

Сначала рассмотрим вариант запуска без LetsEncrypt. Всё, что вам нужно сделать для этого - запустить следующую команду:

docker run --restart=unless-stopped --name openspeedtest -d -p 3000:3000 -p 3001:3001 openspeedtest/latest

Запуск контейнера может занять некоторое время (вполне может повисеть пару минут). После того как контейнер запустится, откройте браузер и введите http://SERVER:3000, где SERVER - IP адрес сервера на котором размещён контейнер с OpenSpeedTest. После открытия веб-интерфейса приложения вам достаточно нажать кнопку Start, чтобы запустить проверку:

Никто не мешает так же подключаться к нему и по https, для этого в адресной строке браузера нужно будет ввести https://SERVER:3001.

Запуск с LetsEncrypt

Если вы предпочитаете разворачивать контейнеры с поддержкой LetsEncrypt SSL, вам нужно соблюсти несколько условий:

  • иметь белый IP

  • доменное имя, которое преобразуется в IP-адрес хост-сервера

  • почта

Если всё в наличие, то запуск контейнера с поддержкой LetsEncrypt SSL можно произвести следующей командой:

docker run -e ENABLE_LETSENCRYPT=True -e DOMAIN_NAME=yourdomain -e USER_EMAIL=youremail --restart=unless-stopped --name openspeedtest -d -p 80:3000 -p 443:3001 openspeedtest/latest

После удачного запуска контейнера, сервис будет доступен по адресу https://SERVER:443.

Заключение

В целом это все действия, которые потребуется сделать для запуска собственного сервера SpeedTest в своей локальной сети. Штука достаточно удобная и сильно упрощает поиск проблем в перспективе (при их появлении).

Показать полностью 2
74

Cat's & Lamp. Появление Powershell или как жизнь стала чуть проще

На дворе Апрель месяц 2003 год. Птички поют, кукушки кукуют. Microsoft выпускает в свет свою прекрасную Windows Server 2003. Системные администраторы в слезах счастья рассказывают любителям консоли как много изменений в AD, в безопасности, в *any_windows_feature_name* произошло и как теперь здорово пользоваться окнами.

Одуревший от счастья нажиматель кнопок на клавиатуре.

Одуревший от счастья нажиматель кнопок на клавиатуре.

И всё бы хорошо, но любители пингвинов стали активнее намекать жалким любителям GUI о том, что консоль это божественно, а кнопки мышью нажимать - удел ламеров. Bash, мол, позволяет скрипты писать и вообще делать всё что душе угодно в плане автоматизации.

Конечно, в Windows есть cmd и даже есть возможность писать bat-скрипты, но выглядит енто, конечно убого. Глобальных отличий непосредственно в самих оболочках со стороны конечного пользователя черного экрана не так много, но дьявол скрыт в мелочах.

Для начала посмотрим, что же енто за cmd \ bash такие и зачем они собственно нужны.

command line interpreter (CMD)

Типичный вид cmd.exe

Типичный вид cmd.exe

CMD — это командная строка для операционной системы Microsoft Windows с функциями, основанными на командах. Конвейера нет, вывод результатов в строке. Долго отсутствовали инструменты для работы с текстом.

Bourne again shell (Bash)

Типичный вид bash

Типичный вид bash

Bash — это язык командной строки и сценариев для большинства операционных систем на базе Unix/Linux. Есть конвейер, вывод результатов в строке. Имеются инструменты для работы с выводом в виде текста (grep \ awk \ cat \ tail и т.д.). Они позволяют отделить нужные буквы из строки от ненужных при выводе результатов действия команд.

Шли годы, nix-админы наращивали скилл в умении прерарировать текст, оконные админы жмакали кнопки в gui и плакали при написании bat-скриптов, попутно совместно меряясь писюнами, кому же из них работать сложнее. И так бы оно и было, пока ребята из Microsoft не решили выкатить его. Его величество Powershell.

- В чем же величие? - спросите вы.

Powershell это такая же среда выполнения скриптов и взаимодействия с OS, как и cmd \ bash. Есть одно но - powershell умеет в объекты. Он по умолчанию работает с объектами и их свойствами. Почему это так важно? Потому что вывод в строки большинства утилит и приложений, с которыми умеет работать cmd \ bash не имеют единого стандарта вывода. ipconfig может выдать вам совершенно разное полотно информации на разных OS, при разных количествах сетевых интерфейсов и просто если луна не в меркурии будет.

Вывод текста утилитой ipconfig

Вывод текста утилитой ipconfig

Допустим вы захотели вытащить через cmd IP-адрес.

На Bash сделать это достаточно легко. Для этого достаточно использовать простую команду ниже:

ifconfig eth0 | sed -n '2 {s/^.*inet addr:\([0-9.]*\) .*/\1/;p}'

Сильно, правда? Всего regexp (регулярные выражения) надо знать, как свои 9 пальцев.

В Windows тогда вообще с этим дела никак не обстояли, поэтому приходилось изучать полотно текста и радоваться, что вообще хоть какая-то информация в консоли отображается.

С приходом powershell консоль научилась работать с объектами и при вводе командлета (название стрёмное, да, так уж они там называются): Get-NetIPAddress объекты, у которых есть одинаковые свойства, к которым можно обращаться.

История с объектным ориентированием консоли сильно облегчила возможность получения информации о системе. Например, теперь чтобы получить информацию об IP адресе, нет нужды изучать regexp, а достаточно запомнить, что к свойствам в объектах можно получить доступ через точку:

Помимо этого powershell поддерживает конвейер для передачи результатов деятельности из одной команды в другую, if - else \ switch ветвления, циклы do while \ until, создание функций и своих объектов.

В первой версии Powershell 1.0 функционал был немного куцый в сравнении с текущей версией, но его объектная ориентированность уже принесла много счастья в руки любителей автоматизировать.

Вторая версия добавила возможность удаленного выполнения кода, поддержку Windows Server 2008 и Windows 7. Помимо этого большинство программных продуктов Microsoft не только нативно поддерживало работу через powershell, но и предоставляло больше возможностей, нежели GUI.

Powershell 3.0 появился рядом с Windows 2012 и Windows 8, получил еще большее развитие командлетов и возможностей отладки. В общем так и продолжалось его развитие вплоть до 5ой версии, на которой Microsoft решили, что нужно сделать cross-платформенную оболочку и объявили о создании PowerShell Core c поддержкой различных систем в названии которых отсутствует слово Windows: MacOS \ Ubuntu \ RHEL \ CentOS и так далее.

Какие еще возможности предоставляет эта оболочка я расскажу в следующей статье Cat's & Lamp.

Показать полностью 7
2

Firewalld. Занимательный факт

Салом! (привет на таджикском)

Занимательный (и чуточку возмутительный) факт обнаружил при скриптовании правил фаервола (который firewalld) в ОС вида "RHEL8" (AlmaLinux8, Rocky Linux 8, etc).

По какой-то неведомой причине добавление элементов ipset-а в сам ipset через файл работает "через раз" (в общем, как повезёт), если использовать "--add-entries-from-file" в рамках bash-скрипта.

Провёл не менее десятка попыток запуска скрипта. Корректно ряд подобных команд (для 4-х ipset-ов) отработал только единожды, хотя ввод вручную отрабатывает стабильно (не проверял более трёх раз).

При этом, если в рамках скрипта использовать в цикле команду на добавление единичного элемента в конкретный ipset ("--add-entry"), то проблем не возникает.

В общем, в скриптах лучше задействовать добавление элементов в ipset при помощи "--add-entry".

Firewalld. Занимательный факт
Показать полностью 1

Нужна помощь сисадмина или мастера по установке проводного интернета

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

Отличная работа, все прочитано!