8

Описание правил маршрутизации в .ovpn (для OpenVPN)

Раздельное туннелирование позволяет вам выбирать, какие приложения или ресурсы должны использовать VPN-соединение, а какие могут использовать обычное соединение. В OpenVPN Connect на Windows это можно сделать с помощью настройки конфигурационного файла и параметров в клиенте.

route-nopull

route subnet mask vpn_gateway

route subnet mask vpn_gateway

route subnet mask vpn_gateway

Где subnet — подсеть (192.168.1.0) или адрес (192.168.1.1), обращения к которым необходимо туннелировать, mask — маска подсети (255.255.255.0, а для единого IP-адреса имеет вид: 255.255.255.255). В конфигурациях OpenVPN ключевое слово vpn_gateway — это предопределённая переменная, используемая OpenVPN для обозначения IP-адреса VPN-сервера в VPN-туннеле. Когда вы используете vpn_gateway, OpenVPN автоматически заменяет его на IP-адрес удалённого VPN-сервера в туннеле. Не нужно вручную указывать IP-адрес VPN-сервера в этой строке.

Необходимо проверить в конфигурационном файле, присутствует ли параметр redirect-gateway def1, который перенаправляет весь трафик через VPN, несмотря на то, что вы также указали маршруты через route-nopull и отдельные маршруты для определённых подсетей и удалить/закомментировать его.

Как это работает:

  • redirect-gateway def1 — этот параметр заставляет OpenVPN перенаправлять весь трафик через VPN, меняя маршрут по умолчанию. Это влияет на весь трафик, который идёт вне маршрутов, явно указанных с помощью route.

  • route-nopull — этот параметр предотвращает автоматическое принятие маршрутов от сервера, но сам по себе он не отменяет действие redirect-gateway def1.

  • route — эти строки добавляют конкретные маршруты для определённых подсетей, которые будут идти через туннель.

Вы смотрите срез комментариев. Показать все
1
Автор поста оценил этот комментарий

А не подскажите как настроить это на роутере Асус? Добавил route-nopull и спискок адрессов в конфиг, и это по идее работает, адресса эти проходят через впн, но вот всё остально почему то блокируется. При чём этот же конфиг скормленный клиенту openvpn на виндовс работает нормально.

раскрыть ветку (7)
0
Автор поста оценил этот комментарий
Предполагаю, что VPN соединение используется для выхода в интернет, и роутер не получает маршрутов для не указанных в конфиге адресов/подсетей, он не знает куда пакеты слать. Убрать в конфигурации маршруты и route-nopull, настроить пользовательские маршруты в морде самого роутера через поднятое OVPN подключение (адрес, что выдаётся клиенту) и, если возможно, отключить использование подключения для доступа в интернет.. У тебя прошивка падаван?

Глянь у меня пост про Keenetic
раскрыть ветку (6)
0
Автор поста оценил этот комментарий

Не, прошивка родная от Асус, на роутер только она, и прошивка от Мерлина.

client
proto udp
explicit-exit-notify
dev tun
resolv-retry infinite
nobind
persist-key
persist-tun
remote-cert-tls server
verify-x509-name server name
auth SHA256
auth-nocache
auth-user-pass
cipher AES-128-GCM
tls-client
tls-version-min 1.2
tls-cipher TLS-ECDHE-RSA-WITH-AES-128-GCM-SHA256:TLS-ECDHE-ECDSA-WITH-AES-128-GCM-SHA256
ignore-unknown-option block-outside-dns
setenv opt block-outside-dns # Prevent Windows 10 DNS leak
verb 3
remote ams4.vpntype.com 3567
Дальше команда route-nopull и сертификаты. На кинетике как-то легче, там есть отдельная маршрутизация, а в Асусе, если прошивка от Мерлина, только vpn director, нудная вещь где каждый ip надо вручную записать.

раскрыть ветку (5)
0
Автор поста оценил этот комментарий

Роутера потыкаться нет, пробежался по скринам и мануалам от ASUS'ов/Merlin, я пришел к выводу, что на оф. прошивках до 388.xxxxx при включении профиля VPN весь трафик гуляет в туннель (как говорил ранее, согласно маршрутам в конфиге, для не указанных адресов роутер не знает куда девать пакеты, т.е. работать возможно только с правилом на 0.0.0.0/0). Начиная с 388.xxxxx доступен VPN Fusion, который позволяет туннелировать трафик от определенных устройств, ииии, я полагаю, если не указывать устройства и включить профиль, то поднимется VPN-соединение, от сервера будет выдан адрес, например 10.8.0.27, который можно задействовать в пользовательских маршрутах (первый скрин). Для Мерлина в VPN Director можно указывать не только отдельный IP, но и использовать формат CIDR для указания подсети (скрин второй), для примера на скриншоте 192.168.1.0/24:

Address: 192.168.1.0 11000000.10101000.00000001 .00000000
Netmask: 255.255.255.0 = 24 11111111.11111111.11111111 .00000000
Wildcard: 0.0.0.255 00000000.00000000.00000000 .11111111
=>

Network: 192.168.1.0/24 11000000.10101000.00000001 .00000000 (Class C)
Broadcast: 192.168.1.255 11000000.10101000.00000001 .11111111
HostMin: 192.168.1.1 11000000.10101000.00000001 .00000001
HostMax: 192.168.1.254 11000000.10101000.00000001 .11111110

Иллюстрация к комментарию
Иллюстрация к комментарию
раскрыть ветку (4)
0
Автор поста оценил этот комментарий
Я по ходу слишком тупой для всего этого(. Куплю Кинетик чуть позже, а пока вернусь на прошивку Мерлина, и по одному буду вбивать адреса для впн в vpn director, это у меня получалось.
Проблема в том что у Ютуба слишком много этих адресов, даже если вбивать в формате CIDR, то не нашёл что именно.
раскрыть ветку (2)
0
Автор поста оценил этот комментарий

Крохи, что поймал когда-то, проверь :)

AllowedIPs = 142.250.0.0/15

AllowedIPs = 74.125.0.0/16

AllowedIPs = 64.233.160.0/19

AllowedIPs = 35.184.0.0/13

раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Спасибо, попробую ночью.
0
Автор поста оценил этот комментарий

На Мерлине, в vpn director всё сработало, не нужно теперь всё забивать вручную, конфиг с route-nopull заработал как надо. Спасибо большое.

Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку