Может ли OpenVPN создать маршрут по умолчанию, если он не существует?

Как разрешить неопределенную ссылку на 'RAND_egd'

Я считаю, что теперь вам следует вызвать RAND_add_egd . Также см. упрощение API rand_egd в списке рассылки openssl-dev.

Код, который вы компилируете, должен иметь защиту OpenSSL 1.1.0. Может быть, что-то вроде:

#if OPENSSL_VERSION_NUMBER >= 0x10100000L

    int rc = RAND_egd();
    ...

#else

    int rc = RAND_add_egd();
    ...

#endif

Дэниел обычно очень хорошо умеет не отставать от OpenSSL. Похоже, вы получаете версию чего-то нижнего уровня дистрибутива.

Согласно cURL Issue 763 , cURL впервые добавил поддержку openssl-1.1.0-dev по крайней мере в апреле 2016 года. Полный журнал изменений находится по адресу cURL Changelog .


Похоже, вам стоит перейти от cURL 7.50.2. Имеет 12 известных уязвимостей . Похоже, версия 7.51.0 была выпущена 2 ноября 2016 г.

2
16.07.2017, 11:29
2 ответа

Согласно руководству, redirect-gateway def1 не пытается заменить маршрут по умолчанию, он просто создает два новых 0.0.0.0/1 и 128.0.0.0/1. Как отсутствие маршрута по умолчанию предотвращает их создание?

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

На странице руководства для OpenVPN это довольно ясно:

- флаги шлюза перенаправления ...

Автоматически выполнять команды маршрутизации, чтобы весь исходящий IP-трафик перенаправлялся через VPN. . Это вариант на стороне клиента.

Эта опция выполняет три шага:

(1) Создает статический маршрут для адреса --remote, который перенаправляет на уже существующий шлюз по умолчанию. Это сделано для того, чтобы (3) не создавал петлю маршрутизации.

(2) Удалить маршрут шлюза по умолчанию.

(3) Установите новый шлюз по умолчанию как адрес конечной точки VPN (полученный либо из --route-gateway, либо из второго параметра в --ifconfig, если --dev tun - указано).

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

Затем вы спрашиваете

, как я могу заставить OpenVPN автоматически маршрутизировать весь трафик через VPN, если маршрут по умолчанию изначально не существует?

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

3
27.01.2020, 21:59

Два варианта обхода:

  • Установите поддельный шлюз по умолчанию (например, 127.0.0.1) и разрешите OpenVPN перезаписать его.
  • Используйте сценарий после запуска для настройки шлюза с использованием ip route
1
27.01.2020, 21:59

Теги

Похожие вопросы