Задать вопрос
  • Установка stunnel какой порт использовать?

    @res2001
    dminster94,
    стунел на свервере работает,на клиенте стунел просто пишет конфигурация заебись,но не подключается

    stunnel сам по себе никуда подключаться не будет, он начнет подключаться только когда приложение, которое он обслуживает будет подключаться.
    Теперь конфиги stunnel:
    Сервер:
    [openvpn]
    client = no
    accept = 443
    connect = 127.0.0.1:1194
    cert = stunnel.pem

    Надо прописать полный путь к ключу.

    Клиент:
    [openvpn]
    client = yes
    accept = 127.0.0.1:1194
    connect = 104.131.103.27:443
    cert = /etc/stunnel/stunnel.pem


    Сервер openvpn:
    port 1194
    local 127.0.0.1
    push "route 104.131.103.27 255.255.255.255 net_gateway"


    Клиент openvpn:
    remote 127.0.0.1 1194

    Стартуем openvpn на сервере, stunnel на сервере, stunnel на клиенте, openvpn на клиенте.

    Если при запуске ошибки текст ошибок сюда, если не работает - логи сюда.
  • Как настроить маршрутизацию сети с openvpn?

    @res2001
    На сервере покажите клиентский конфиг в C:\\OpenVPN\\ccd
  • Установка stunnel какой порт использовать?

    @res2001
    dminster94, В такой конфигурации openvpn работает без stunnel?
  • Установка stunnel какой порт использовать?

    @res2001
    dminster94, Когда включаете stunnel и настраиваете openvpn на 127 адрес, то там возникает ситуация, которая описана тут: https://help.ubuntu.ru/wiki/stunnel в разделе "Особенности настроек приложений при работе через stunnel", так что простой заменой адреса не обойтись.
  • Установка stunnel какой порт использовать?

    @res2001
    dminster94,
    почему горит красным,и он не актив

    Я вам в прошлом посте писал об этом.
    Смысл в том, что в openvpn вы можете сделать 10 конфигов для разных ВПНов и все их запустить. Каждый конфиг будет отдельно запущенный экземпляр openvpn.
    systemd позволяет это делать с помощью указания названия конфига в такой форме:
    <имя конфига>@openvpn.service
    Когда systemd запускает openvpn он название конфига передает в параметре --config.
    Еще раз внимательно посмотрите ваш скриншот:
    systemctl status у вас опрашивает openvpn с конфигом "openvpn-server.conf", а ps выдает openvpn с конфигом "server.conf".
    Это два разных конфига, в одном конфиге может быть ошибка, в другом нет ошибки. Что бы по второму конфигу запросить статус службы надо дать такую команду:
    systemctl status server@openvpn.service

    Конкретные номера портов роли не играют, можете заменить на произвольные цифры максимум 65535, главное их правильно выставить.
    остальные скрпиты требуют наличие айпи серва , это означает что я не могу стереть айпи и ввести 127)но 127 и айпи серва это же одно и тоже?

    127.0.0.1 это IP адрес локального хоста. НА КАЖДОМ КОМПЬЮТЕРЕ ЭТОТ АДРЕС ССЫЛАЕТСЯ НА ЭТОТ ЖЕ КОМПЬЮТЕР. Этот адрес есть на каждом компьютере. В конфигурации с stunnel вы должны его использовать.

    Настройте конфиги openvpn на клиенте и сервере на прямую (без stunnel), проверьте, чтоб все работало и скиньте сюда конфиги.
    Так же скиньте конфиги stunnel клиента и сервера, а напишу, где что поправить.
  • Установка stunnel какой порт использовать?

    @res2001
    dminster94,
    Начните с того, что настройте openvpn на клиенте и на сервере на работу без stunnel. Подключитесь клиентом. Пропингуйте внутренний ВПН адрес сервера с клиента. Конфиги сюда. Ошибки и логи то же сюда.

    Выключите пока stunnel, пока займитесь openvpn.

    По поводу ваших последних постов:
    sudo systemctl status openvpn-server@server.service
    ps -ax | grep openvpn

    Посмотрите внимательно на вывод этих двух команд в вашем предыдущем посте.
    Объясняю: команда systemctl status openvpn-server@server.service показывает состояние сервиса openvpn, запущенного с конфигом openvpn-server.conf - это файл конфигурации, который будет использоваться при старте openvpn, он должен лежать в /etc/openvpn. И эта команда показывает, что этот сервис не работает: Active: inactive (dead)
    ps -ax - показывает, что у вас все же работает openvpn. Смотрим командную строку дальше и видим параметры --config /etc/openvpn/server.conf. Т.е. этот работающий экземпляр openvpn запущен с конфигом server.conf.
    Состояние этой службы так же можно посмотреть и через systemctl status server@openvpn
    У вас пачка конфигов openvpn, вы дергаете то одно, то другое, не понимаете что происходит, какой из конфигов не рабочий, делаете какие-то выводы из этой каши.
    Оставьте 1 конфиг openvpn в каталоге /etc/openvpn.
    systemd надо сказать, чтоб он не использовал не нужные службы (конфиги которые вы удалите) openvpn:
    sudo systemctl disable <имя конфига>@openvpn
    Работайте только с одним конфигом и его доводите до рабочего состояния.
  • Установка stunnel какой порт использовать?

    @res2001
    dminster94,
    а что то работает что то нет

    Это понятно, иначе бы этой портянки не было бы.
    Просто перестаньте уже использовать поделки из сети и включайте свою голову.
    Поставьте какой-то вариант, не важно работает или нет и давайте его добивать до рабочего состояния. Не нужно этих метаний. У вас уже 100500 вариантов было, не поймешь к какому относятся ваши ответы, логи и т.п.
    потом не ставится стуннел.пишет стунел фейлд

    На каком этапе, после чего конкретно это пишется, где пишется, пишется что-то еще, какой конфиг stunnel при этом? Не возможно ответить на это "пишет стунел фейлд" как-то вразумительно, если не знать ответы на вышеперечисленные вопросы.

    Начните с того, что настройте openvpn на клиенте и на сервере на работу без stunnel. Подключитесь клиентом. Пропингуйте внутренний ВПН адрес сервера с клиента. Конфиги сюда. Ошибки и логи то же сюда.

    Когда это заработает будем прикручивать stunnel.
  • Установка stunnel какой порт использовать?

    @res2001
    dminster94,
    может есть идеи что бы впн оставить в покое он же работает,а порешать вопросы со стунел

    Мне вообще не понятна ваша цель. Вы хотите добиться, что бы никто не видел, что вы используете ВПН. Зачем? Как я писал в начале этой эпопеи - знание, что вы используете ВПН никак не поможет читать шифрованный трафик, который передается по ВПН. Но, конечно, цели могут быть разные. Я не в курсе нужен ли вам ВПН.
    На счет порешать вопросы с stunnel:
    stunnel - не работает сам по себе, он лишь организует шифрованный туннель между двумя приложениями. Если нет других приложений, то и stunnel не нужен.
    Вы можете потренироваться на чем-нибудь более простом (не на openvpn). Например поднять telnet сервер и клиент и перенастроить их на работу через stunnel. Но, по моему, это трата времени.
    Суть не изменится. В любом случае вы сначала настраиваете клиент и сервер (openvpn или telnet или что угодно) так что бы они работали друг с другом на прямую, а потом (когда поднимете stunnel) просто меняете в конфиге приложений адрес и порт, на адрес и порт своего экземпляра stunnel. В этой схеме как у приложения есть 2 части клиент и сервер, так и stunnel настраивается в двух вариантах - для клиента и для сервера.

    вы когда настраивали с чем его использовали и что вам это дало?

    Я использовал stunnel c LDAP. У меня в конторе использовался LDAP сервер, в котором было старое шифрование и когда SSL3 сломали, пришлось придумывать схему как перевести LDAP сервер на более защищенный протокол. Было еще пару временных решений, где использовался stunnel. Но я уже давно не использую stunnel.

    этой командой проверять ОПЕН sudo systemctl status openvpn

    Можно этой. Эта команда возвращает состояние службы openvpn в "менеджере служб" (systemd).
    Можно и другими, например приведенный вами вывод ps -ax | grep openvpn говорит о том, что процесс openvpn работает, а это значит что как минимум конфиг корректный. Хорошо бы к этому приложить конфиг, чтоб я понимал в какой конфигурации он тут работает.
    Дополнительно можно проверить, открыт ли порт, который вы указали в конфиге. Команду для этого я указывал в одном из предыдущих постов. Все эти команды позволяют проверить работу openvpn разными способами.

    Нужно как то запускать стунел и опен на сервере?

    Вот сейчас не понял! До этого вы что и где запускали?

    Давайте вы не будете использовать сразу все найденные в сети рецепты. Остановитесь уже на одном и давайте его доводить до ума. Они в принципе все +-одинаковы, выбирайте любой.
    1. Для начала опишите вашу конфигурацию оборудования. Где вы запускаете openvpn и stunnel клиент и сервер? На разных компах? Под какими ОС? Соответствующие части stunnel запускаете там же где работает openvpn или где-то в на других компах?
    В типовой конфигурации:
    • на одном компе запускается openvpn server + stunnel server
    • на другом компе openvpn client + stunnel client

    Но могут быть и другие варианты. Чтоб настроить правильные конфиги всех частей, нужно понимать вашу конфигурацию оборудования.
    2. Выберите конфиг openvpn. Настройте openvpn на работу на прямую (без stunnel). Проверьте, чтоб точно все работало (как минимум после подключения клиента должны ходить пинги с клиента на сервер и обратно по внутреннему ВПН адресу сервера/клиента).
    3. После того как п.2 заработает, настраивайте stunnel, меняете в конфигах openvpn адреса и порты. Тестируете. Итоговые полные конфиги клиента и сервера openvpn и stunnel сюда. Если опять будут ошибки - логи сюда.
  • Установка stunnel какой порт использовать?

    @res2001
    dminster94, 1. 127.0.0.1 - это и есть IP - IP локального хоста. Любой комп может обратится к самому себе по этому адресу. Он есть везде.
    3. Что такая старая то? Сейчас 20.04 актуальна.
  • Установка stunnel какой порт использовать?

    @res2001
    dminster94,
    1)установка опена с айпи серва или 127 на сервер?
    2)создание файла клиент.опен с айпи серва или 127?
    3)установка стуннел,так он не ставится....логи кидал только вот получилось на 16.04(не создается папка стуннел так и пишет) зеленым горит,но стунел сервис фейлд.
    4)файл .пем переносить с серва на винду ?возможно и файл стунел.конф надо перенести с сервера на винду,потому что на винде как раз таки эти порты и прописаны которые он перебирает
    5)в сертификате спрашивают какой у вас Name Unit мне писать айпи серва или 127?
    6)мне тут посовтеловали опен +айпитаблес имели дело с настройкой?

    1,2. Вы же собираетесь завернуть трафик openvpn в stunnel, поэтому openvpn работает со 127 интерфейсом, а stunnel с обоими. Одинаково и на openvpn сервере и на клиенте.
    3. Не понял, куда не ставится, что такое 16.04? Если "сервис фейлд" то надо смотреть логи, там должна быть указан ошибка более детально, либо вы тут не все пишете.
    4. По ключам в stunnel ниже. У вас сейчас явно не хватает параметров. В таком виде не заведется.
    5. Пофигу, можете там написать vasia, это не обязательно IP. Для stunnel имя вообще пофигу, а в openvpn по имени сертификата (CN) можно делать специфические настройки для конкретного клиента.
    6. iptables - это линуксовый фаервол, я ниже пишу про это. Если у вас на линуксе включен фаервол, то он может блокировать трафик, даже если все настроено верно (но у вас пока не верно), поэтому его то же надо подкрутить. По линуксовому фаерволу у меня особо нет опыта. Но вам нужно открывать порты в фаерволе не для openvpn, а для stunnel, т.к. в вашей конфигурации stunnel смотрит на ружу. Openvpn работает с 127 интерфейсом - это локальный интерфейс компьютера там разрешен весь трафик по умолчанию.

    Последние 2 конфига openvpn для сервера и клиента похожи на рабочие.
    На всякий случай: в конфиге клиента опции cert и key должны описывать ключи клиента, они не должны быть теми же самыми, что ключи сервера; опция ca - один и тот же сертификат на клиенте и сервере.
    Пропишите полный путь к файлам ключей, я думаю в таком виде openvpn не сможет их найти (это конечно зависит от того где они лежат на диске), так же права доступа к файлам ключей должны быть 600, иначе будет ошибка.
    Для проверки работоспособности конфига сервера - стартуете openvpn сервер с указанным конфигом. После старта можно проверить, что в процессах есть процесс openvpn: ps -ax | grep openvpn
    Дополнитель можно проверить, что openvpn слушает адрес 127.0.0.1 TCP порт 1194: netstat -lntp

    По stunnel:
    в конфиге сервера поместите "client = no" в секцию openvpn.
    На сколько я знаю в stunnel так же как и в openvpn для ключей надо указывать 3 опции: ca, cert, key (они оба используют openssl для криптографии, поэтому работа с ключами у них идентична). У вас только одна. Для простоты в stunnel вы можете использовать те же файлы ключей, что и в openvpn - безопасности это не прибавит, но вы же не для этого все это затеяли. Или другие, тут особой разницы нет.

    Дальше стартуете в такой последовательности: openvpn сервер, stunnel сервер, stunnel client, openvpn client. Пока схема не отлажена лучше в ручную.
    Если ошибок при старте нет - проверяем пинг с клиента на сервер по внутреннему ВПН адресу сервера: ping 10.8.0.1
    Если не работает - идем в /var/log и смотрим логи, ищем там ошибки. По ошибкам, как правило, более-менее ясно, где они возникли и что делать для исправления ситуации.

    Возможно понадобиться открыть порт 443 в фаерволе на внешнем интерфейсе.
  • Почему выводитт int y, а не double?

    @res2001
    Спрячьте код в тег code, а не в спойлер и верните отступы.
    Приведите полный вывод программы.
    В целом ничего криминального вроде нет.
  • Как определить какая служба потребляет много процессорного времени?

    @res2001
    Nordman99, В менеджере задач на закладке "Детально" (или как там в русской винде), можно добавить поле "Command Line" и например по нему определить, что это за служба. Можно там же щелкнуть правой мышкой по любому svchost и выбрать "Goto Service". Кроме того на закладке Services (Службы) есть PID процесса, работающей службы - по нему вы всегда можете сориентироваться на закладке Details или Processes.

    svchost - это и есть одна из служб. svchost многоликий, он включает в себя сразу пачку служб. Все они работают в разных экземплярах svchost (это видно по обилию запущенных svchost). Друг от друга все они отличаются параметрами командной строки, с которыми запускается svchost (см.первый абзац). Эти параметры конфигурируются в "Службах" (ПКМ на Пуск->Computer Managment->Services and Application->Services).

    RtlFreeUnicodeString - это всего лишь одна из сотен или тысяч функций, которые вызываются внутри svchost. Вам достаточно знать название службы, которая грузит систему. Опускаться на уровень содержимого процесса (на уровень используемых функций) нет никакого смысла, т.к. исходников у вас все равно нет.

    Если что у меня Win10 х64 Eng, могут быть некоторые отличия в названиях пунктов и т.п. с вашей версией.
    Так же микрософт последнее время регулярно добавляет функционал в менеджер задач, так что возможно у вас чего-то нет. Но, на сколько помню, службы там появились уже достаточно давно.
  • Как определить какая служба потребляет много процессорного времени?

    @res2001
    Кстати, заметил на своем ноуте. После какого-то очередного обновления после первоначальной загрузки винда стала конкретно грузить диск (у меня обычный HDD). После нескольких минут (10-20) это проходит и дальше работа идет в обычном режиме. Грузят службы WinUpdate, SysMain и т.п. Ошибок нет. Можно, конечно, остановить службы, но не хочется. Можно попробовать переустановить винду, но не факт что поможет и просто лень.

    Предполагаю, что таким образом микрософт пинает меня, чтоб я менял свой старый винт на SDD :-)
    Они сговорились с производителями SSD :-)
    Придется купить SSD, т.к. винда нужна для работы. Да и давно уже хотел это сделать :-)
  • Как определить какая служба потребляет много процессорного времени?

    @res2001
    RtlFreeUnicodeString - это системная API функция, которая находится в ntdll.dll. Эту функцию может вызывать любое приложение или поток (что видно на одном из скринов). Думаю, что тормозит не конкретно эта функция, а тот кто ее вызывает. Видимо вызовов идет слишком много - это может грузить систему. Но вам эта информация вряд ли как-то поможет.
    У вас слишком много не нужной информации из Process Hacker 2. Она вообще мало кому может помочь, кроме разработчиков микрософт и т.п.
    Для диагностических целей в рамках возможностей обычного пользователя винды достаточно стандартного мнеджера задач.
    Обычно находят процесс, грузящий систему. Если это служба, то выходят на службу (менеджер задач это позволяет делать). Далее смотрят журнал винды на предмет сообщений с ошибками от этой службы. Если сообщения есть - гуглите по коду/тексту сообщения. Если сообщений нет - гуглите по "служба <имя службы> тормозит винду". Бывает что подобный гуглеж к чему-то приводит, бывает, что все бесполезно.
    Удачи!
  • Установка stunnel какой порт использовать?

    @res2001
    dminster94, Не нужно видео, это слишком долго.
    Настройте уже все руками, там не так все страшно. Вы уже неделю топчетесь на месте, там дел на пару часов.

    Чтоб были нормальные ответы вы должны дать конфиги и логи где есть ошибки (клиента и сервера, в текстовом виде) с вашими комментариями к ситуации.
  • Установка stunnel какой порт использовать?

    @res2001
    dminster94,
    у меня client и сервер это же один и тот же файл я его беру с серва подключаю к опену на винде

    Это не может быть один и тот же файл. В таком варианте вы создаете 2 сервера.
    Сертификаты и ключи для клиента и сервера разные? Одинаковым должен быть только сертификат CA.
    Конфиг сервера, конечно, какой-то куцый, но в принципе может и заработать. Можете попробовать на одном компе запустить и клиент и сервер openvpn, они должны подцепиться друг к другу. Значит конфиги рабочие и можно перехдить к stunnel.
    Включите логирование openvpn на сервере и клиенте, запустите его, проверьте состояние службы с помощью systemctl status openvpn

    По этой ссылке (https://www.easycoding.org/2019/03/21/primenyaem-s...), которую вы приводили в одном из сообщений, описан вариант, который предлагал я тут.

    stunnel.service - TLS tunnel for network daemons
    Loaded: loaded (/usr/lib/systemd/system/stunnel.service; enabled; vendor preset: dis>
    Active: inactive (dead) это systemctl status stunnel

    Это говорит о том, что служба stunnel зарегистрирована в systemd, но не запущена. Скорее всего из-за ошибки. Ошибки смотрите в логах. Возможно подробное логирование надо сначала включить в конфиге.

    Выложите конфиги stunnel. Выкладывайте в текстовом виде, так проще читать и логи то же. Странно, что в последнем логе stunnel он перебирает порты. Он не должен так поступать.
    Что это у вас за клиент OpenVPN. Стандартный клиент для винды выглядит по другому.
  • Почему не работает TCP чат?

    @res2001
    Андрей, Отлично! Верной дорогой идете.
    Вам нужно заново осмыслить проблему. Понять как сейчас все работает, и как должно работать у вас.
    В целом, в предыдущем ответе я накидал картинку. Вам нужно во всем этом разобраться.
  • Почему не работает TCP чат?

    @res2001
    Андрей, И не должно работать.
    У вас неинициализированный буфер (buffer), что вы отправляете в нем клиенту? - Мусор. И на что надеетесь?

    Весь обмен с клиентами происходит в отдельном потоке. На каждого клиента свой поток. Вам нужно вносить новый функционал в функцию serve_client() - она отвечает в сервере за обмен со своим килентом.
    Учитывая, что сервер многопоточный и каждый поток работает с одним своим клиентом, то для обмена информацией между разными клиентами вам нужно наладить какой-либо вариант многопоточного взаимодействия.
    Так что добавлением 3 строк в код вам не переделать эхо сервер в чат.
    Сейчас в сервере каждый поток - независим, он работает только со своим клиентом, на других ему наплевать. Никакого многопоточного взаимодействия тут не реализовано (т.к. не нужно). А вам это нужно.

    Я бы на самом деле реализовал это по другому - с помощью неблокирующих сокетов в одном потоке.

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