Задать вопрос
  • Сервер-клиент openvpn win не видят за собой локальную сеть. как исправить?

    @res2001
    После того как все заработает можно подумать, как автоматически распространять маршруты на компы внутри сетей. На камеры и видео сервера настройки, видимо, придется делать вручную.
  • Сервер-клиент openvpn win не видят за собой локальную сеть. как исправить?

    @res2001
    Слава Кривошейков, По камерам:
    1. Учитывая, что
    Для каждой сети , свой собственный видеосервер( один на обьект)

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

    2. Какой адрес является шлюзом по умолчанию на видеосерверах? Тут то же можно изменить шлюз по умолчанию или добавить маршрут.

    3. На компах в сети за сервером, которым нужен доступ к сетям камер нужно добавить соответствующий маршрут.
  • Сервер-клиент openvpn win не видят за собой локальную сеть. как исправить?

    @res2001
    Слава Кривошейков,
    2. route delete в параметрах надо повторить всю информацию по маршруту, т.е. то же, что указывал в route add
    4.2. маршурт с адресом шлюза 10.8.0.1 надо удалить
    6. На компах внутри сети реестр менять не надо, это актуально только на компах, которые сами будут являться маршрутизаторами - ВПН клиент и ВПН сервер.

    А если мне нужен доступ к роутеру с впн клиента за впн сервером?как тогда настроить. И про камеры тот же вопрос

    У роутера есть адрес в сети 192.168.1.0? По этому адрес роутер будет доступен, после того как добавишь маршрут на роутер для сети 10.8.0.0.

    Ну в целом вроде все заработало. Осталось только проверить сеть за ВПН клиентом.
    Если фаерволы отключены, то можно включать по одному и настраивать правила фаервола, если потребуется.
  • Сервер-клиент openvpn win не видят за собой локальную сеть. как исправить?

    @res2001
    Слава Кривошейков, Кстати, еще один момент забыл уточнить.
    На ВПН сервере и ВПН клиенте какая ОС стоит? Возможно надо дополнительно включить маршрутизацию. Она вполне может быть выключена и тогда пакеты в принципе не будут передаваться между сетевыми адаптерами.
    Проверьте в реестре ключ: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\IPEnableRouter он должен быть равен 1.
    Если он равен 0, то установите 1.
    Если такого ключа нет, то его надо создать вручную, тип параметра REG_DWORD.
  • Сервер-клиент openvpn win не видят за собой локальную сеть. как исправить?

    @res2001
    Слава Кривошейков,
    1. Вы не указали адрес шлюза в команде route -p add, из-за этого маршрут может и добавился, но с каким шлюзом?
    Для справки смотри route /?
    После добавления маршрут должен появиться в выводе route print в таблице "постоянные маршруты".
    Шлюзом нужно указать адрес ВПН сервера в сети 192.168.1.0, а не ВПН адрес!
    Напишите какой адрес имеет ВПН сервер в своей сети? То же самое для ВПН клиента. Я вам напишу правильные команды полностью.

    2. На скрине "Клиент ВПН" маршрут для сети 192.168.1.0 находится в двух таблицах. Похоже вы пытались вручную добавить маршрут командой route -p add, из-за чего маршрут появился в "постоянных маршрутах". Удалите его оттуда. После подключения маршрут должен появится в "активных маршрутах" автоматически.

    3. На скрине "сервер ВПН" маршрут для сети 192.168.1.0 левый. Как он туда попал? Удалите его. Пока этот маршрут будет в таблице маршрутизации нормальной передачи трафика между сетями не будет.

    4. Скрин "Пинг".
    4.1. Если хотите пинговать из сети сервера ВПН клиента по ВПН адресу, то надо добавить еще один маршрут:
    route -p add 10.8.0.0 mask 255.255.255.0 <IP адрес ВПН сервера в сети 192.168.1.0>

    То же самое и для клиентской сети. Для теста в принципе это имеет смысл, в реальности скорее всего не нужно, поэтому я вам и не писал об этом.
    4.2. Пока вы не добавите маршрут на комп 192.168.100.245 он пинговаться из сети за сервером не будет.

    Только после того как все маршруты пропишутся и вы их проверите с помощью route print будет смысл переходить к пингам.

    Вам надо разобраться как работает маршрутизация в TCP/IP.
    Логика достаточно проста - если пакет передается не в свою сеть, то ищется маршрут в таблице маршрутизации. Если подходящего маршрута нет - используется шлюз по умолчанию.
    Маршрут - это просто адрес следующего узла, куда должен быть отправлен пакет для этой сети.
  • Как получить дату -3 дня?

    @res2001
    Shalidor, Странно, что вы сегодня формируете архив с датой -3 дня. Обычно архив формируется день в день. Но это ваши дела.
    Команда set /a умеет в арифметические вычисления. Но данные в переменных все равно текстовые. В set /a каждый раз текст преобразуется в число.
    Так что можете ее использовать для вычисления даты. Но есть подводные камни:
    1. числа, начинающиеся с 0 считаются восьмеричными.
    2. формат даты, получаемый из %date% зависит от системных настроек.
    3. високосные годы

    В "гугле" находил скрипты для конвертации даты/времени в timestamp и обратно. Получив такой timestamp легко вычислить -3 дня и конвертнуть обратно в дату. Там учитываются все нюансы. Погуглите.
  • Как получить дату -3 дня?

    @res2001
    Shalidor, Т.е. вы батником формируете архив, где в имени файла будет фигурировать дата -3 дня?
  • Суть макросов в с++?

    @res2001
    maaGames, Согласен.
    Но и do while(0) проблему решает без дополнительных манипуляций с опциями.
    Кроме того, например, в библиотеках с открытыми исходниками (и не только) часто не известно с какими опциями будет она в итоге собрана.
  • Суть макросов в с++?

    @res2001
    maaGames, Без do while(0) если после макроса ставить точку с запятой, то компилятор выдает предупреждение.
    Возможно, это предупреждение появляется при -Wall -Wextra опциях компилятора, не проверял. Я обычно с повышенным уровнем предупреждений собираю, так что у меня предупреждение есть.
  • Почему процессы windows не завершаются?

    @res2001
    Не сталкивался с подобным.
    Но в современной винде часто переустановка это самый быстрый способ исправить ошибку.
    Если в течение суток не найдете ответ - переустанавливайте, т.к. увеличивается шанс не найти ответ и в течение месяца.

    Так происходит со всеми приложениями? Например, блокнот или калькулятор себя так же ведут?
    Посмотрите журнал винды, может там есть какие ошибки, которые подскажут направление дальнейших поисков.
  • Суть макросов в с++?

    @res2001
    Никита Ярёменко, Но если очень надо, то можно и сделать :-)
    Пишите обычную функцию сортировки, так что бы она все возвращала через параметры. Отлаживаете функцию, чтоб она нормально работала. Затем просто подменяете функцию на макрос.
    Например, была функция:
    void mysort(int *arr, int size)
    {
    /* тут тело функции */
    }

    Входной массив arr является и выходным.

    Стал макрос:
    #define mysort(arr, size)   \
    do {                                   \
    /* тут тело функции  */     \
    } while(0)


    В принципе все.
    В do ... while(0) все завернуто по двум причинам:
    1. при выходе из цикла все переменные, объявленные внутри цикла уничтожаться и не будут влиять на вызывающий код.
    2. при использовании макроса можно ставить в конце точку с запятой, так будет выглядеть совсем как вызов функции
    3. Сам цикл компилятор в итоговом коде удалит, но все побочные эффекты останутся

    Как уже многие заметили в реальных проектах обычно так не делают, особенно на плюсах. Для подобного есть шаблоны.
    На Си еще можно иногда встретить подобный подход, но то же не часто. Например, видел реализацию "встраиваемого" списка и очереди в подобном стиле.
  • Подключение по VPN к RDP: почему не работает?

    @res2001
    PFrontEnd,
    могу достучаться до устройств в сети

    Т.е. другие устройства в сети доступны.
    Значит дело в фаерволе на RDP сервере, а не в маршрутизации.
    Просто добавьте правило разрешающее входящие соединения на TCP/3389 из ВПН сети.
  • Подключение по VPN к RDP: почему не работает?

    @res2001
    Сергей, 100% нужен маршрут на ВПН клиенте до локальной сети через ВПН сервер.
    Вся настройка, после того как ВПН клиент подключился к ВПН серверу и пинги между ними пошли, сводится именно к заданию нужных маршрутов и нужных правил фаервола.
    Напрямую к ВПН это уже не относится - это обычные действия для маршрутизирования трафика между сетями.
  • Суть макросов в с++?

    @res2001
    Никита Ярёменко,
    но в примерах использованы макросы для решения задач

    Согласен с Adamos
    Приведите пример использования макросов в задачах. Может ваш препод под макросами понимает что-то другое, чем мы.
  • Суть макросов в с++?

    @res2001
    Что за бред, товарищ! Вы случайно языки программирования не попутали?
    С упрощением синтаксиса я еще с натяжкой могу согласиться, хотя никогда не видел такого юзкейса в реальности. Но первый вариант - отборный бред.
  • Подключение по VPN к RDP: почему не работает?

    @res2001
    AlexVWill, Проброс портов конечно можно сделать, проблему с RDP это решит. А потом автор захочет доступ к локальному веб серверу или тупо шару виндовую по ВПН увидеть. То же проброс портов предлагаете делать?
  • Как создать VPN туннель?

    @res2001
    Что бы эта локальная сеть связывала только меня и мой пк без wifi.

    Связывала как, телепатически?
    Не будет WiFi, будет Ethernet или оптика или другой транспорт.
    WiFi в данном случае лишь вариант физической среды передачи данных - без нее не обойтись. Телепатически пока мы данные передавать не умеем, даже между людьми, что уж говорить про компьютеры.

    Но, обычно, сетевым приложениям вообще пофигу какая среда передачи данных. Им главное, что бы байты данных перегонялись, а как это происходит - наплевать. Приложение просто использует какой-то вариант Socket API, не заботясь о том как будут фактически передаваться данные.

    Но у вас, чувствую, проблема вовсе не в WiFi. Видимо, когда вы пытаетесь получить доступ к компу через интернет (или из другой сети), то коннект не происходит.
    Тут вы должны немного понимать как работают сети на уровне IP протокола. Вам нужно узнать: как работает маршрутизация, что такое маска, зачем она применяется, при чем тут IPv6, что такое белые адреса и серые, как с помощью NAT обходят ограничения IPv4, какие проблемы создает NAT при этом, как можно решить эти проблемы.
    А потом все это нужно натянуть на свое приложение и возможно что-то поправитьв нем, а может быть будет достаточно какой-то дополнительной настройки сетевого окружения.
  • Оригинальный Windows XP на современный компьютер?

    @res2001
    Кирилл Дмитрий, Вам нужно не страдать некрофилией, а добавить памяти в ноут.
    Но в принципе, у вас и при свободном 1 Гб софт должен работать, т.к. виртуальную память никто не отменял. Пусть и медленней, чем при большем объеме памяти.

    Если же нет возможности добавить памяти, то надо освободить дополнительную память. Подумайте над тем, какое ПО можно удалить с ноута (особенно то что работает постоянно), возможно какие-то службы можно выключить на совсем или перевести в ручной режим, запуская их скриптами или в планировщике и т.д. и т.п.
    В конце концов - держите в браузере не 50 открытых вкладок, а 5.
  • Сервер-клиент openvpn win не видят за собой локальную сеть. как исправить?

    @res2001
    По камерам.
    Тут смысл тот же - нужно на узлах (камерах, видео сервере) добавить маршруты для сети за ВПН сервером. Но тут можно поиграть шлюзом по умолчанию (смотри вопросы ниже).
    На компах в сети за ВПН сервером, где нужен доступ к сетям камер, нужно добавить маршруты к сетям камер. Делается это аналогично посту выше, только изменить адрес сети.

    Вопросы:
    1.
    Шлюзом является видеосервер

    Видео сервер свой собственный для каждой сети камер или один видео сервер может работать с камерами из нескольких сетей?
    Если видео сервер "собственный" и имеет IP адрес в той же сети, что и камеры, то назначать его шлюзом по умолчанию в камерах не нужно. Т.к. видео сервер напрямую доступен в сети, без маршрутизации.
    Шлюз по умолчанию можно оставить пустым или использовать его в своих целях. Например, назначить шлюзом по умолчанию для камер ВПН клиента, ВПН клиент должен иметь на одном из своих локальных интерфейсов адрес из сети камер и должен быть доступен по сети.

    2.Доступ к сетям камер нужен из сети 192.168.1.0? Доступ нужен к камерам или может быть достаточно видео сервера?
  • Сервер-клиент openvpn win не видят за собой локальную сеть. как исправить?

    @res2001
    В таблице маршрутизации сервера маршрут для сети 192.168.100.0 явно какой-то левый.
    Он у вас присутствует, если соединение не установлено? Если это wireguard влезает, то надо его убрать - 2 маршрута к одной сети - дополнительные проблемы. Маршрут должен появиться только после подключения клиента и в адресе шлюза должен быть указан ВПН IP адрес клиента.
    В клиентской таблице маршрутизации маршрут добавился правильно, но там так же присутствует и второй маршрут.
    В общем добейтесь, что бы лишних маршрутов не было. При отключенном соединении маршрутов в таблицах маршрутизации не должно быть вовсе.

    Теперь про компы в сети 192.168.1.0 - на каждый комп, которому нужен доступ к камерам и к сети за клиентом нужно добавить маршрут для сети192.168.100.0 (и для сети камер). Ручной способ - использовать команду
    route -p add 192.168.100.0 mask 255.255.255.0 <IP адрес ВПН сервера в сети 192.168.1.0>

    Команда добавит постоянный маршрут.
    Но добавлять руками на каждом компе - это не наш метод, обычно. Маршруты можно распространять с помощью опций DHCP, GPO (тут я точно не уверен, т.к. давно не использовал), какие-то другие варианты то же возможны.

    Для компов в сети за ВПН клиентом надо проделать аналогичную операцию, только команда другая:
    route -p add 192.168.1.0 mask 255.255.255.0 <IP адрес ВПН клиента в сети 192.168.100.0>


    Можете выбрать по 1 подопытному компу в каждой сети, на которых будете отрабатывать схему. Маршруты пока добавляйте руками, об вариантах автоматизации подумаете потом.

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