Задать вопрос
  • Маршрутизация 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...
    Автор пытается сделать примерно то же самое, что и вы хотите и да же с той же самой библиотекой :)
  • Можно ли подменить WS2_32 библиотеку и есть ли готовая обёртка?

    @res2001
    Kalombyr, а удалить из реестра?
    Промониторить куда лезет в реестр приложение можно с помощью утилиты regmon из набора Sysinternals. Набор можно скачать с сайта микрософт.

    Механизм поиска библиотек в любом случае будет работать, так что другие приложения вполне смогут использовать библиотеку.
  • Можно ли подменить WS2_32 библиотеку и есть ли готовая обёртка?

    @res2001
    Армянское Радио,
    с разрядностью не ошиблись?

    Это WinSock библиотека, она и на х64 с таким же именем.
  • Можно ли подменить WS2_32 библиотеку и есть ли готовая обёртка?

    @res2001
    Kalombyr, Проверьте с помощью dependency walker какие библиотеки использует приложение.
    Теоретически может быть в исполняемом файле зашит полный путь к библиотеке. Так же теоретически его можно поправить прям в исполняемом файле. Но как это посмотреть и чем править - я не вкурсе.
  • Как указать таргету CMake, чтобы он компилировался с статической библиотекой?

    @res2001
    Вспомнил еще, если у вас это дело под линуксом, то в cmake можно использовать find_package(PkgConfig REQUIRED) для включения поиска библиотек с помощью pkg_config и использовать pkg_check_modules для поиска библиотек.
    Чтоб pkg_check_modules искал статические библиотеки нужно добавить опцию --static в переменную PKG_CONFIG_ARGN, этот ключ заставит pkg_config искать статические библиотеки.
    В этом случае pkg_check_modules создает выходные переменные с префиксом STATIC, их можно использовать в target_link_libraries
    https://cmake.org/cmake/help/latest/module/FindPkg...
    Ну и man pkg_config можно посмотреть для справки.