Ответы пользователя по тегу Linux
  • Как узнать MAC спящего компьютера?

    @Karpion
    Я настоятельно рекомендую вести учёт MAC-адресов в связке с IP-адресами и NetBIOS-именами. На будущее.

    Если известен производитель сетевой карты или мат.платы - то можно узнать, какие диапазоны MAC-адресов ему выдавались. А дальше - будить всех подряд в этом диапазоне, brute-force перебором.

    arp-scan, nmap и прочие приблуды - в данном случае бесполезны, ибо на спящем компьютере отключены все сетевые службы, кроме WakeOfLan. А WakeOfLan работет не на центральном процессоре, а на процессоре сетевой карты.
    Ответ написан
    6 комментариев
  • Как с помощью bash-скрипта выполнить ping в момент потери интернет соединения?

    @Karpion
    Я полагаю, что проще всего просто запустить пинги при старте системы, направив их вывод в программу-парсер (см.ниже). а вывод парсера - в файл.

    Парсер проще всего писать на AWK, Perl, Python - что лучше знаете. Программа читает с stdin поток данных в буфер; пока все нормально, буфер просто ротируется (старые записи-строки сбрасываются, новые помещаются на их место; буфер надо примерно на пять строк); при возникновении сбоя - буфер пишется на stdout и сразу туда начинают писаться сообщения о сбое; при исправлении сбоя - на stdout пишется ещё сколько-то сообщений. Ну и stdout перенаправлен в файл.

    Либо совсем тупо: писать вывод пинга в файл, а потом вырезать из файла нужные куски.
    Ответ написан
    Комментировать
  • Какой TCP порт лучше использовать для tcp/ip сервера на linux?

    @Karpion
    Я бы уточнил, что не следует использовать порты, которые подвергаются сканированию и подбору паролей - дабы Ваши программы не были вынуждены реагировать на попытки хакеров взломать Вашу систему. Примерный список такой:
    • 20,21 - FTP
    • 22 - SSh
    • 23 - Telnet
    • 25 - SMTP
    • 143,993 - IMAP4
    • 80 - HTTP
    • 110 - POP3
    • 3128 - Squid
    • Samba, OpenLDAP, известные SQL-серверы - порты не помню, лень смотреть
    Наверно, товарищи добавят в список ещё какие-то, я наверняка не все вспомнил.

    Денис Сечин предлагает "не запускать на сервере демоны тсп с выбраним портом" - ну так если выбрать порт, нужный какому-то демон, то будут проблемы с запретом запускать этот демон.
    Ответ написан
    Комментировать
  • Возможно ли сделать ссылку на всю корневую систему?

    @Karpion
    Я не понял, что Вы хотите сделать одинаковым, а что разным.

    Самый тупой способ:
    1. сделать каждому свою собственную корневую систему со всем деревом папок;
    2. общие файлы - жёстко слинковать;
    3. индивидуальные файлы - каждому свои.
    Система получается неимоверно гибкая: каждому клиенту можно выставить собственный набор файлов, который у него общий с остальными. Т.е. можно поставить трём клиентам один файл, пяти други - другой файл, а мест на диске займут два реальных файла.
    Цена этой гибкости - муторное администрирование. Муторно потому, что никому раеально такая гибкость не нужна.

    Ещё можно посмотреть в сторону UnionFS, которая может подвесить/смонтировать один каталог к другому.

    Ещё можно поиграть с симлинками - их можно делать на каталог, а резолвиться они будут на клиентах.

    Если файловая система сервера умеет дедуплицирование хотя бы на уровне файлов - то вообще нет проблемы создавать каждому клиенту свой полноценный каталог.

    Короче, Вы напишите, какие каталоги заведомо будут общие; какие с высокой вероятностью будут общие; а какие скорее сего будут раздельные. Тогда будет ясно, какой способ выбрать.
    Ответ написан
  • Виснет ПК 1-3 раза в день. Что проверить?

    @Karpion
    Начнём с аппаратуры:
    • пыль в системнике и в блоке питания;
    • крутиляторы
    • вздутые конденсаторы на мат.плате, на видюхе и на плате в блоке питания;
    • термопаста и плотность прилегания радиатора на процессоре и прочих чипах с радиатором;
    после проверки - отпишитесь, будем думать.
    Ответ написан
    Комментировать
  • Можно ли создать виртуальное ядро в Linux, если имеется кластер ARM?

    @Karpion
    Кластеризация - это весьма многообразная и нетривиальная наука. Если многопроцессорные/многоядерные системы уже стали банальностью - то кластеризация "ещё не устаканилась".

    Есть вариант кластеризации, подражающий многопроцессорынм/многоядерным системам:
    На каждом компьютере (компьютер при этом называется "нода", т.е. член кластера)) запущено своё собственное ядро с поддержкой кластеризации. Эти ядра регулярно обмениваются между собой на предмет сравнения очередей исполняемых задач (процессов). Если выясняется существенный дисбаланс приоритетов (это долго объяснять, пока пропустим подробности), то ядра затевают перенос задач с одной ноды на другую для выравнивания очередей. При этом надо перенести исполняемый код, данные задачи и управляющие структуры ядра, связанные с этой задачей (например, дескрипторы открытых файлов). Перенос задачи на новую ноду - это тяжёлая работа, так что её затевают если дисбаланс ну очень уж сильный. (Перенос задач между ядрами - тоже затевают пореже; там это проще, то тоже желательно делать это пореже.)
    Перенос задачи на новую ноду возможен только если там одинаковые процессоры (либо - если код задачи интерпретируемый; например, байт-код JVM).

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

    Но есть и иной тип кластеризации:
    На каждой ноде есть программный код, откомпилированный под неё. Программа (которую компилировали под разные ноды) написана так, что она умеет связываться с копиями на остальных нодах (откуда она знает список нод - это вообще отдельная тема) и перераспределять работу. Т.е. исходная задача д.б. оформлена как обработка большого массива данных; причём данные разбиты на куски, которые можно обрабатывать независимо. И вот разные куски данных перераспределяются между нодами.
    Например, брутфорс-подбор пароля - как раз такая задача, котрую можно раскидать на разные ноды с процессорами разных архитектур. Там вообще нет сложных потоков данных - есть огромный массив исходных данных в виде "все возможные пароли", и эти данные легко разделить на полностью независимые блоки.

    Кажется, я достаточно загрузил Вас. Дальше разговаривать надо после того, как Вы уточните - что за тяжёлые задачи Вы хотите распараллелить.
    Ответ написан
    Комментировать
  • Linux на Внешний SSD выдает Reboot and select proper boot device, как исправить?

    @Karpion
    1) Надо выяснить, кто выдаёт это сообщение - BIOS/UEFI, GRUB, Linux OS Loader или стартовая система Linux (ядро и последующие скрипты). Какие сообщения были до этого?

    2) Возможно, UEFI не понравился Linux. Надо отключить "безопасную загрузку", при которой UEFI сверяет цифровую подпись.

    3) Я не понял, как система работала внутри виртуалки. Она прямо грузилась с внешнего диска? Или использовался образ, который потом перенесли на внешний диск?

    4) У меня есть сильные подозрения, что внутри виртуалки и на физическом внешнем диске - имеется разница в именовании устройств. По кр.мере, во FreeBSD - это именно так: внутренний диск (и образ диска внутри виртуалки) называется /dev/ad*; в флешка - как SCSI: /dev/da*. Хотя при таком варианте - было бы сообщение типа "не могу смонтировать файловую систему", т.е. было бы слово "mount".
    Эта проблема во FreeBSD решается использованием GEOM-меток, которые пишутся на диск или на раздел и не зависят от способа подключения.

    Напишите о результатах, мне тоже интересно.
    Ответ написан
  • Почему сервер видит реальный ip вместо ip VPN?

    @Karpion
    Я так понял, что есть два компьютера, между которыми есть VPN-соединение. Т.е. у них есть IP-адреса от провайдеров; и IP-адреса от VPN-соединения.
    И с одного - идёт обращение на второй.

    В простейшем случае:
    1. Если первый компьютер обращается к VPN-IP-адресу второго - то обращение идёт через VPN; источник = VPN-IP-адрес первого компьютера.
    2. Если первый компьютер обращается к провайдерскому IP-адресу второго - то обращение идёт через Интернет; источник = провайдерский IP-адрес первого компьютера; это так потому. Это так потому, что иначе - IP-пакеты, порождаемые VPN, не дойдет до второго компьютера как положено.
    Разъясните фразу "Захожу на сайт, работающий на сервере-2" - буду думать дальше.

    Чтобы какие-то сервисы были доступны только с VPN - проще всего блокировать их порты (сами определяйте, какие) на физическом интерфейсе. Если неясно - спрашивайте.
    Ответ написан
    6 комментариев
  • Как пробросить папку из контейнера в локальну папку?

    @Karpion
    Я не понял проблему.

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

    Или сделать монтирование как по сети (с той только разницей, что сеть виртуальная, физическая часть сети отсутствует.
    Ответ написан
    Комментировать
  • Какая из двух программ врёт?

    @Karpion
    Ну, я бы предположил, что в разных системах - разные настройки управления крутилятором кулера, поэтому температура реально м.б. разной.

    Как сказал выше ky0:
    Щуп проверенного градусника, засунутый к процессору вас рассудит.
    Присоединяюсь.
    Ответ написан
    Комментировать
  • Как запустить приложение в Linux со второго IP адреса?

    @Karpion
    Продвинутые программы, написанные умными программистами - имеют ключ для выбора IP-адреса. Особенно программы с открытым кодом - там если кому-то требуется, он сам дописывает и с согласия автора добавляет правки в официальный исходник.

    Если программа так не умеет - можно запустить вирт.машину (или полноценную, или что-то типа Jail во FreeBSD) так, чтобы программа, запущенная внутри вирт.машины, могла воспользоваться только нужным IP-адресом.

    И наконец, можно организовать NAT для принудительной замены исходящего IP-адреса. Проблема в том, как отделить нужный трафик для заворачивания его в NAT-машину - это надо копать отдельно. Возможно, тут можно выделить трафик по TCP/UDP-порту. А можно включать NAT только на время работы нужной программы.
    Ответ написан
    Комментировать
  • Осторожное обновление через терминал как?

    @Karpion
    Ну, для начала надо помнить, что при разрыве терминального соединения - все программы, ассоциированные с этим терминалом, получают какой-то сигнал. Как правило, при этом они завершают работу. Т.е. обновление надо запускать в бэкграундном режиме.
    Ответ написан
    Комментировать
  • Установка Linux Mint ооочень медленная и не заканчивается, в чем дело?

    @Karpion
    Ну, попробуйте какой-нибудь иной дистрибутив - типа Xubuntu...
    Ответ написан
    Комментировать
  • Можно ли скомпилировать программу из исходников под ARM в Linux?

    @Karpion
    Собрать - можно. Но если на сайте производителя нет готовой сборки - то и обновлений не будет; надо будет брать обновления исходников и компилять/собирать заново.
    Ответ написан
    Комментировать
  • Установка Linux mint без флешки или диска?

    @Karpion
    Жёсткий диск при помощи недорогого переходника превращается в как бы флешку. Далее стандартно.

    Ну или можно грузиться о сети - по протоколу PXE.
    Ответ написан
    Комментировать
  • Какое есть ПО для создания виртуальной локальной сети в интернете работающее как Win так и в Linux?

    @Karpion
    В первую очередь следует подумать - а нужно ли Вам объединять таким образом компьютеры. Это крайне небезопасно в отношении вирусов.

    Следует посмотреть в сторону работы через терминальный сервер (это не слишком хорошее решение); или в сторону работы в стиле Googlo Docs, причём сервер можно поставить свой собственный..
    Ответ написан
    3 комментария
  • Как запустить приложение на другом IP адресе?

    @Karpion
    У Вас ошибка в том, что Вы путаете "сайт" и "приложение".

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

    Если Web-сервер обслуживает один сайт - то надо конкретно указать ему, какой IP-адрес слушать.
    Если Web-сервер обслуживает много сайтов - то для каждого сайта надо создать секцию, в которой прописать, на каких IP-адресах этот сайт будет работать.

    При разделении по доменным именам - можно в DNS прописать резолвинг на конкретный IP-адрес, а Web-сервер может слушать их все.
    Короче, есть тьма решений.

    Фразу "через первый планирую только подключаться к серверу, на котором стоит сайт" я не понял. Как именно Вы хотите "подключаться к серверу"? Если по SSh/FTP/etc - то он разделяется с сайтами по порту.
    Ответ написан
    Комментировать
  • Что актуального установить, вместо Ubuntu?

    @Karpion
    Я использую Xubuntu - вроде, нормальный.
    Ответ написан
    1 комментарий
  • Кто мне объяснить как работает шейпинг трафика с помощью proxy?

    @Karpion
    В ядре FreeBSD есть firewall по имени ipfw (и ещё два, но они нам не нужны); на него есть обвески, в т.ч. шейпинг и имитация потери пакетов. Исходный код открыт, можно читать, тянуть как есть, переписывать под себя: там BSD-license.

    Есть Proxy-server Squid, у него свой шейпинг. Код тоже открытый, можно брать и переделывать, но насчёт лицензии я яне уверен - может, она GPL.

    Почитайте документацию по обоим, в первую очередь обращая внимание на теорию шейпинга.
    Ответ написан
    2 комментария