Задать вопрос
  • Инструменты для визуализации mongodb?

    @res2001
    На сколько помню, в монге можно задать некоторые правила проверки при заполнении контейнеров, некий аналог схемы в реляционных БД. Если эти правила есть, то теоретически можно что-то построить, основываясь на этих правилах, если нет - каждая запись может быть произвольным объектом.
  • Ubuntu. Какой сервис или процесс пишет данные строки в syslog?

    @res2001
    Константин, На сколько я понимаю эти сообщения появляются при загрузке ОС. Видимо systemd сообщает об этапах загрузки системы. Это не ошибки, а просто информационные сообщения.
  • Ubuntu. Какой сервис или процесс пишет данные строки в syslog?

    @res2001
    Константин, В данном случае это пишет именно systemd. Если что это не "только программа" - как вы можете увидеть местами у systemd PID == 1.
    systemd - этот тот самый первый демон, который стартует самым первым сразу после ядра и управляет всей системой. И он то же может писать логи.
  • Ubuntu. Какой сервис или процесс пишет данные строки в syslog?

    @res2001
    Видимо это systemd.
    В логах, как правило, указывается имя сервиса, который записал это конкретное сообщение, в скобках указан PID.
  • Как сделать проброс по порту для другой сети?

    @res2001
    m4son,
    Я думал создать порт от сети vpn

    Вы не правильно думаете.
    На сколько я понял виртуальная машина имеет доступ к вашей локальной сети.
    Тогда вам достаточно в настройках openvpn сервера добавить маршрут для своей локальной сети, который будет добавляться при подключении на стороне клиента. Делается это с помощью опции в конфиге ВПН сервера:
    push "route <IP адрес локальной подсети> <маска подсети>"

    Если у вас локальная сеть за ВПН сервером имеет адрес 192.168.1.0 и маску 255.255.255.0, то опция будет выглядеть так:
    push "route 192.168.1.0 255.255.255.0"
    Кавычки являются частью опции.
    После добавления опции в конфиг сервера, перезапустите сервер, подключитесь клиентом. На стороне клиента должен появится маршрут к подсети за сервером. Проверить это можно командой route print.
    Но это еще не все - на вашей виртуалке вы должны добавить маршрут до ВПН подсети, иначе все ответы будут отправлятся на шлюз по умолчанию (это скорее всего ваш домашний роутер), а это не то что надо. Добавить маршрут можно командой: route add. В команде шлюзом указать IP адрес в локальной сети вашего реального компьютера.

    Чтоб вся эта конструкция не слетела после смены адреса компа (он же скорее всего получает адрес динамически), нужно как-то зафиксировать адрес на компе, чтоб он не менялся со временем. Это можно сделать двумя способами: 1. Указать статический адрес не из диапазона, раздаваемого DHCP сервером. 2. Настроить DHCP сервер, чтоб он МАС адресу вашего компа всегда отдавал какой-то определенный IP адрес.
  • Маршрутизация 2 eth с перенаправлением?

    @res2001
    Обычно приложения отправляют запросы без привязки к конкретному IP адресу и уж тем более сетевому адаптеру. Ядро само определяет через какой интерфейс нужно отправлять запрос. Делается это с помощью таблицы маршрутизации. Если у вас не так, то возможно таблица маршрутизации не правильно настроена.
    Видимо "основной" - это адрес, принадлежащий локальной сети. А eth2 - это внешний адрес для выхода в интернет. Если так, то маршрут по умолчанию должен быть прописан через eth2, а значит все должно работать так как вы и описали.
    Адрес 79.79.79.9 - это адрес в интернете?
    Приведите вывод команд:
    1. ip address show
    2. ip route show
    Реальные белые адреса в выводе можете заменить. Лишние сетевые адаптеры, если есть, можете удалить из вывода.
  • Как сделать проброс по порту для другой сети?

    @res2001
    Ничего не понял.
    Пробросив 1 порт вы предоставите доступ только к одному порту удаленного компьютера.
    Но может вам не нужен проброс портов. Думаю достаточно настроить маршрутизацию.
    Но нужна дополнительная информация:
    1. Нужна схема сети, можно на словах. С указанием адресов сетей и адресов ВПН сервера и клиента в них.
    2. конфиг файлы ВПН сервера и клиента.
    3. Я так понял ВПН у вас работает. Пинг с ВПН клиента на ВПН сервер и наоборот проходит по внутренним ВПН адресам?
  • Как настроить Zyxel Zywall 310?

    @res2001
    Alexx136, И тестируйте сначала пинг - это быстрее. Если ответ по пингу будет, то и прокси должен заработать.
  • Как настроить Zyxel Zywall 310?

    @res2001
    Alexx136, Ну тогда проведите эксперимент без изменений на прокси, если будет работать, значит на прокси какая-то подходящая маска.
  • Как настроить Zyxel Zywall 310?

    @res2001
    Alexx136,
    3. В windows 10: настройки -> Сеть и интернет -> Прокси сервер (в принципе можно и в internet explorer)

    Это и есть настройки Internet Explorer, вынесенные в системные настройки. Для других браузеров, требуется настраивать прокси в них, у каждого есть свои настройки. Хотя, вроде, и firefox и chrome умеют их импортировать из настроек IE.

    Пинги на прокси с клиента видимо то же не проходят?
    В DHCP то же поменяйте маску на 12. Или для проверки можете на одном из клиентов задать статический адрес с 12 маской (это будет маска 255.240.0.0). После этого можете проверить пинг на прокси и доступность прокси из IE.
    Кстати, какая маска сети на самом прокси настроена? Там то же должна быть 12.
  • Как настроить Zyxel Zywall 310?

    @res2001
    Alexx136,
    1. Поведение не поменялось.

    Странно. Что конкретно вы изменяли и где?
    2. Адреса DHCP выдает 10.10.0.0/23

    Все больше интересных подробностей всплывает
    3. Пока в настройках сетевого подключения Windows

    Это как интересно? Что-то не припомню в настройках сетевого подключения настроек прокси.
  • Как настроить Zyxel Zywall 310?

    @res2001
    Alexx136, С 12 маской какое поведение? По идее должно быть аналогично тому как вы бы поменяли адреса в локалке на 192.168.0.0/8.

    Адреса для локалки выдаются по DHCP? Маску надо и там изменить то же, чтоб и все локальные клиенты работали с этой маской.

    Трафик как заворачивается на прокси? Правилами фаервола или софт настроен на использование прокси?

    В сети еще другие роутеры есть? В интернет как выходите? Через этот же zywall? Криптошлюз подключается, видимо, к какой-то выделенной линии, не связанной с интернетом?
  • Как настроить Zyxel Zywall 310?

    @res2001
    Alexx136,
    Сеть делал не я.

    Но вам с ней дальше жить.
    Изменение порядка маршрутизации и прописание политики маршрутизации не помогли. Zywall 310 все равно ищет его в локалке и соответственно не находит.

    Почему не находит? Он же в локалке :-)
    Почему прокси ищет zywall? Это "прозрачный" прокси?
    Поэтому взять и просто все поменять довольно затруднительно

    Из-за того, что у вас маска в локалке 8 - у вас толком не работает маршрутизация, т.к. и WAN интерфейсы получаются то же в локалке. Не знаю, почему у вас работает яндекс на WAN интерфейсе с "локальным" адресом, это какие-то чудеса. Может быть в zywall пакеты принудительно форвардятся на WAN интерфейсы?
    Пока вы с этим бардаком не разберетесь, маршрутизация у вас работать не будет. Какие еще проблемы можете из-за этого поиметь сказать трудно.

    Маску можно выбирать не обязательно 24, можно тоньше подойти, так, что бы маской отсечь реальные локальные адреса от WAN адресов. В этом случае маршрутизация то же будет работать.
    Например, если все локальные адреса умещаются в диапазон 10.0.0.0 - 10.15.255.255, то можно взять маску 12. Тогда WAN 10.136... уже будет вне локальной сети. Это только для примера, если у вас есть еще другие диапазоны адресов, то надо учитывать их все.
    Ну и при переходе на новую маску может отвалится WAN, т.к. я сейчас не понимаю почему WAN у вас вообще работает при неработающей маршрутизации. Надо детально смотреть настройки маршрутизатора.
    Хорошо бы схему сети представлять, а то у вас кучка "фиктивных" подсетей намекает на то что сеть довольно большая. Какое место в сети занимает Zywall?
  • Почему линковщик жалуется на undefined reference?

    @res2001
    Dolarun,
    И интересно, а почему в конце? Синтаксис такой? Я просто редко библиотеки линкую.

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

    Компоновщик, так же как и компилятор однопроходный. Читает очередную опцию командной строки, строит на ее основе список символов, пытается разрешить предыдущие undefined reference текущими символами, переходит к следующей опции.
    Таким образом, если на очередном объектном файле есть undefined reference они все должны закрыться с помощью объектных файлов, указанных после этого объектника.
  • Почему линковщик жалуется на undefined reference?

    @res2001
    Dolarun,
    Группы я сделал на всякий случай. Без групп так же

    Стоит убрать. Думаю OpenGL нормально архитектурно построен.

    Список не найденных символов изменился. Это хорошо.

    Попробуйте поиграть порядком следования опций -l. Смысл в том, что их надо располагать в командной строке от более высокоуровневых к менее. Грубо говоря, исходники вашей программы - это самый высокий уровень, системные библиотеки ОС - самый низкий уровень, другие библиотеки находятся где-то посередине.
  • Почему линковщик жалуется на undefined reference?

    @res2001
    Dolarun, Кажется дошло :)
    Перенесите все включения библиотек в конец командной строки, вместе с опциями --Wl,--start-group и -Wl,--end-group.
    Вообще не совсем понятно назначение этих опций тут. В бибилотеках есть перекрестные ссылки друг на друга? Как-то это странно. Попахивает кривой архитектурой библиотек. Если бы это были библиотеки не OpenGL (или чего-нибудь настолько же глобального), то это могло быть вполне вероятно. По моему должно работать и без этих опций. Но библиотеки в конец!
  • Почему линковщик жалуется на undefined reference?

    @res2001
    Dolarun, Если убрать опции --Wl,--start-group и -Wl,--end-group что-нибудь изменится?
  • Что значит эта строка на СИ/C++?

    @res2001
    Сергей Карбивничий, Дополню немного.
    В Си нет std::function, поэтому для простоты можно объявить тип указателя на функцию с помощью typedef.
    Для вашего примера это будет выглядеть так:
    typedef double (*func_t)(double x);
    func_t func;

    Тут func_t будет типом указателя на функцию с заданной сигнатурой, а func - переменная типа func_t.

    Еще из интересных объявлений - указатель на массив фиксированной длинны или указатель на VLA массив. Запись примерно похожа на указатель на функцию, что-то типа:
    int (*arr)[10];
    Еще сложнее получится, если нужен массив указателей на функцию в подобном исполнении:
    double (*func[10])(double x);
    Если указатели на функции используются регулярно, то указатели на массивы фиксированной длины не видел ни разу в реальном коде.

    Что касается указателей на массив VLA - их в принципе удобно использовать в случае обычных многомерных динамических массивов. Объявив указатель на подобный многомерный VLA массив, можно упростить индексацию в многомерном массиве и использовать привычную индексацию вида arr[i][j][k]. И не важно, что оригинальный массив не VLA.
    Другое дело, что VLA массивов в С++ нет, они есть только в С99+. И хотя сами VLA массивы в моем описании не используются (и вообще они зло, по моему), но их поддержка должна быть иначе и указатели не будут работать. Впрочем в gcc по умолчанию можно использовать VLA в коде С++, т.к. по умолчанию включены GNU расширения. И даже с указанием ключа -pedantic на VLA он только предупреждение показыват. Нужно использовать -Werror иди -pedantic-errors, чтоб получить ошибку. Многие советуют использовать -Wall -Wextra -Werror в своих проектах, и я с ними согласен.
    Когда-то делал пример использования указателей на VLA: https://ideone.com/tYeGHY

    В микросовтовском компиляторе VLA не было в принципе. По крайней мере это было актуально для MSVS2019, сейчас может что-то уже изменилось.
  • Почему линковщик жалуется на undefined reference?

    @res2001
    Dolarun,
    Сам собрал библиотеку glfw3.(Cmake && make)

    Выглядит все нормально. Вроде бы должно собираться.
    Проверьте, чтоб собранные библиотеки точно лежали в укзанном в -L пути.
    Если не указать -L то компилятор ругнется, что библиотеки не найдены?
  • Можно ли подменить WS2_32 библиотеку и есть ли готовая обёртка?

    @res2001
    Kalombyr, да, имел ввиду этот ключ.
    Вот еще наткнулся на статью по теме: https://www.codeproject.com/Articles/325603/Inject...
    Автор пытается сделать примерно то же самое, что и вы хотите и да же с той же самой библиотекой :)