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

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

    @res2001
    Слава Кривошейков,
    перестал пинговать локальный адрес сервера впн

    Локальный адрес - это 192.168.1.254? То что не пингуется сервер по этому адресу - не большая проблема, по ВПН адресу он должен пинговаться.
    Кстати, если бы клиент и/или сервер были бы под линуксом, то подобный пинг не проходил бы в принципе, там такое не работает по умолчанию.

    Вообще ВПН сервер и клиент после подключения должны пинговать себя всегда по внутренним ВПН адресам, не зависимо от настроек маршрутов. Они находятся в одной ВПН сети, поэтому с точки зрения TCP/IP доступны друг другу на прямую, без маршрутизации.

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

    @res2001
    Слава Кривошейков,
    Что я делаю не так?

    Вот это:
    На ВПН клиенте не нужно выполнять команды route add.

    Все добавленные вручную маршруты удалите.
    Вообще на ВПН сервер и ВПН клиенте все маршруты нужно устанавливать через конфиг ВПН сервера или CCD клиента.
    Можно и в ручную. Но в этом случае маршруты автоматически не удалятся, если связь по ВПН отвалится (или клиент отключится). И не появятся при восстановлении связи.

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

    @res2001
    Слава Кривошейков, Я так и думал. Обычно для камер (и телефонии) делают свою отдельную физическую сеть, чтоб трафик сетей не влиял друг на друга. Т.к. с камер идет довольно значительный постоянный объем трафика.

    В общем тут вам надо выбрать:
    1. изменять маршрутизацию на камерах и видео сервере
    2. использовать NAT. Если использовать этот вариант, то на NAT можно перевести и трафик в локалку за клиентом. Можно и не переводить. NAT на линуксе встроенный, никакого доп.софта не нужно. На винде же это может стать отдельным геморроем.
  • Как выполнить SQL запрос при помощи .BAT файла?

    @res2001
    je_anatoly, У каждой СУБД свой собственный клиент. Идете в документацию по вашей конкретной СУБД, ищите там описание клиента командной строки и читаете.
  • Сервер-клиент openvpn win не видят за собой локальную сеть. как исправить?

    @res2001
    Слава Кривошейков, Если не желательно вносить изменения в конфигурацию камер/видео сервера, то можно обойти проблему настроив NAT на ВПН клиенте на интерфейсе для сети камер и пустив трафик к камерам через NAT. В этом случае на конечных устройствах ничего менять не нужно.
    Кстати, этот же вариант можно использовать и с локальными сетями компов. Но NAT - это дополнительная обработка трафика, которую можно избежать, настроив маршрутизацию.
    Но это уже другая история. Как настраивать NAT на винде я с ходу не скажу. Вроде в Windows Server есть служба NAT (устанавливается дополнительно), а вот в десктопной винде ее нет, надо искать что-то стороннее.

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

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

    @res2001
    Слава Кривошейков, У ВПН клиента на локальном интерфейсе есть адрес из подсети камер?
    Сеть камер надо добавить в CCD клиента в опцию iroute. Это добавит маршрут на ВПН сервере для сети камер.

    На ВПН клиенте не нужно выполнять команды route add. Все маршруты добавляются на основе ВПН конфига сервера и/или клиентского CCD файла (push route).
  • Сервер-клиент 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% нужен маршрут на ВПН клиенте до локальной сети через ВПН сервер.
    Вся настройка, после того как ВПН клиент подключился к ВПН серверу и пинги между ними пошли, сводится именно к заданию нужных маршрутов и нужных правил фаервола.
    Напрямую к ВПН это уже не относится - это обычные действия для маршрутизирования трафика между сетями.