Маршрутизация – наше всё!

Вот сколько себя помню, всегда, вот всегда, сталкиваюсь с одними и те же граблями. Расскажу подробнее.

Предположим. Ноутбук. Мотаешься туда-сюда. Где-то используешь один vpn, где-то другой. С общим доступом к интернет все просто, а вот если надо получить доступ к приватной сети – начинается «магия».

В 99% вся «магия» заключается в разруливании маршрутов. И в случаях, к примеру с Windows 11, по умолчанию весь трафик летит в vpn канал. В настройках снимаешь волшебный крыжик и трафик в vpn канал вообще не идет. Ну это я, такой «особенный», который роутинг руками прописал и все работает. А вот с простыми узерами – проблема.

Вот вы возразите. Скажите, что ведь можно все настроить на уровне VPN сервера. И будете правы. Если у вас cisco, как пример, то можете. А если MikroTik? Или D-Link? В этом случае помогут только руки или голова. Голова нужна для написания клиентского скрипта, который будет добавлять маршруты в приватную сеть, а при разрыве соединения такие маршруты автоматически будут удаляться.

А что делать в случае OpenVPN? Уф! Что может быть проще! Но нет. И здесь есть нюансы.

Предположим, еще разок, что у вас есть домашняя сеть. 192.168.1.1/24. Вы дома подняли VPN сервер с сеткой 172.16.1.1/24. Да, вот такой лобовой пример. Подключились к своему vpn серверу и получили адрес 172.16.1.2. А ваш домашний сервер имеет адрес 192.168.1.10. Если на локальном компьютере у вас не прописан маршрут в сеть 192.168.1.1/24, то все пакеты будут улетать по дефолтному маршруту. Прописали маршрут руками – все работает.

Но мы же не лыком шиты, нам нужна автоматизация. Для этого в настройках клиента прописываем всего на всего одну строку:

route 192.168.1.0 255.255.255.0

а в настройках OpenVPN сервера:

topology subnet
client-to-client

Если попробуете пушить роутинг через сервер – не получится. Работает только со стороны клиента.

Подведу итог сего послания: если сеть работает, а к приватным ресурсам через vpn нет сетевого доступа – смотрите маршруты, проблема чаще всего именно в них.