Jump to content
  • 2

3.08.C.0.0-3: не удаётся завернуть DNS-трафик в туннель OpenVPN


dartraiden
 Share

Question

1) в свойствах проводного подключения отключаю получение провайдерских DNS и явно указываю DNS 77.88.8.8

2) в конфиге OpenVPN пишу "route 77.88.8.8 255.255.255.0"

3) в системном журнале OpenVPN отчитывается, что маршрут добавлен ("OpenVPN0": install accepted route to 77.88.8.8/255.255.255.255 via 192.168.104.1), но в реальности маршрутизируется трафик не так.

Для наглядности трассировка с компа, подключенного к роутеру с прошивкой 3.7.4. и  этого же компа, поделюченного к роутеру с прошивкой 3.8

Цитата

 tracert 77.88.8.8

  1    <1 мс    <1 мс    <1 мс  192.168.1.1
  2   186 ms   197 ms   164 ms  192.168.104.1

 
 

(трафик пошёл в туннель - 192.168.104.1 адрес VPN-сервера)

Цитата

 tracert 77.88.8.8

  1    <1 мс    <1 мс    <1 мс  192.168.1.1
  2     *        *        *     Превышен интервал ожидания для запроса.
  3     *        *        *     Превышен интервал ожидания для запроса.
  4     *        *        *     Превышен интервал ожидания для запроса.
  5     *        *        *     Превышен интервал ожидания для запроса.
  6     *        *        *     Превышен интервал ожидания для запроса.
  7     *        *        *     Превышен интервал ожидания для запроса.
  8     *        *        *     Превышен интервал ожидания для запроса.
  9    93 ms    93 ms    93 ms  dns.yandex.ru [77.88.8.8]

 

(а в 3.8 ничего подобного)

Это критично, например, для пользователей VPN-сервера Antizapret, где для правильной работы нужно прописать в свойства сетевого подключения DNS-адреса и завернуть трафик до них в туннель через конфиг OpenVPN.

Как воспроизвести: это стабильно воспроизводится, если настраивать VPN-подключение  по этой инструкции. Стоит отметить, что это воспроизводится только при попытке завернуть в туннель трафик до DNS-адресов, указанных в свойствах моего IPoE подключения. То есть, если в конфиге будет "route какой_то_IP_НЕ_указанный_как_DNS_в_свойствах_подключения", то трассировка будет "правильная", а если это IP DNS-сервера, указанного в свойствах проводного подключения, то трассировка будет "неправильная".

Edited by dartraiden
  • Upvote 1
Link to comment
Share on other sites

5 answers to this question

Recommended Posts

  • 0
9 часов назад, dartraiden сказал:

1) в свойствах проводного подключения отключаю получение провайдерских DNS и явно указываю DNS 77.88.8.8

После данного у вас появился стат маршрут для 77.88.8.8 на вашего провайдера, проверьте сами

Скрытый текст

Пример

В настройках провайдера в поле DNS прописан 8.8.8.8 и в итоге

/ # ip ro
default via 1хх.ххх.ххх.1 dev eth3 
8.8.8.8 via 1хх.ххх.ххх.1 dev eth3 
1хх.ххх.ххх.0/25 dev eth3 scope link  src 1хх.ххх.хх.6 
192.168.1.0/24 dev br0 scope link  src 192.168.1.1 
/ # 

Убираю

/ # ip ro
default via 1хх.ххх.ххх.1 dev eth3 
1хх.ххх.ххх.0/25 dev eth3 scope link  src 1хх.ххх.хх.6 
192.168.1.0/24 dev br0 scope link  src 192.168.1.1 
/ # 

Пропишем 77.88.8.8

/ # ip ro
default via 1xx.xxx.xxx.1 dev eth3 
77.88.8.8 via 1xx.xxx.xxx.1 dev eth3 
1хх.ххх.ххх.0/25 dev eth3 scope link  src 1хх.ххх.хх.6 
192.168.1.0/24 dev br0 scope link  src 192.168.1.1 
/ # 

Где eth3 сетевой интерфейс проводной ISP порт WAN

 

Link to comment
Share on other sites

  • 0
Posted (edited)

Спасибо за идею, посмотрел маршруты в /controlPanel/staticRoutes

Маршрутов на провайдера нет, а проблема оказалась немного в другом - в забытом подключении к ProtonVPN (Wireguard), которое никем не используется (в приоритетах стоит ниже, чем проводное подключение к провайдеру), но было включено (когда-то оставил его и забыл про него, т.к. оно не мешало).

На примере всё того же 77.88.8.8:

- в 3.7 всегда создаётся маршрут к этому IP-адресу через интерфейс AntiZapret (как и указано в конфиге OpenVPN), даже если оба подключения активны
- в 3.8 по какой-то причине всегда создаётся маршрут через ProtonVPN

Edited by dartraiden
Link to comment
Share on other sites

  • 0
Posted (edited)

Скинул настройки и воспроизвёл с нуля.

1) настраиваем Antizapret, убеждаемся, что standard test на dnsleaktest.com показывает, что роутер использует только DNS-сервер Antizapret, также в списке маршрутов видно, что маршруты до указанных в инструкции DNS серверов проходят через Antizapret

2) добавляем бесплатный ProtonVPN (протокол WireGuard), подключаем, возможно понадобится перезагрузить роутер или пару раз включить-отключить PrototonVPN

на 3.8 это приводит к тому, что маршрут

77.88.8.8/32  192.168.104.1  Antizapret

заменяется маршрутом

77.88.8.8/32 0.0.0.0 ProtonVPN

и standard test на dnsleaktest.com показывает, что мы используем несколько DNS-серверов

 

Не уверен, баг это или фича, я плоховато шарю в маршрутизации.

Edited by dartraiden
Link to comment
Share on other sites

  • 0

В общем опытным путем выяснилось что если PPPoE или второе подключение PPPoE в моем случае.. как резевное создается.. начинается такая вот проблема... если чисто ipoe то все без проблем заворачивается.

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...