Двусторонний VPN на Asus RT-56U и Zyxel Keenetic Lite

Недавно ушёл с работы. Уехал за город отдыхать. Рукам скучно и они всегда ищут на чём потренироваться. Был вечер и мне написал мой давний приятель по радиоэфиру. Мол, раз ты у нас админ, хоть и в прошлом, то уж точно должен знать, как выполнить тривиальную задачу: необходимо сети дачи и квартиры между собой объединить через OpenVPN. Белый динамический IP существует и даже с двух сторон. Устройства Kennetic Lite и Asus. У него получилась следующее:

Дома поднят OpenVPN сервер на Asus RT-56U и на дачу скопирована конфигурация с ключами. Соединение устанавливается, но он с дачи видит то, что существует дома, а из дома - не видит дачи.

Двусторонний VPN на Asus RT-56U и Zyxel Keenetic Lite VPN, Сети, Asus, Zyxel, Pptp, Openvpn, Длиннопост

Как ни пытался он из дома достучаться до дачи - никак. Ничего умнее не придумал, как создать сервер PPTP на Keenetic Lite и для доступа из дома через роутер подключаться на дачу. Теперь он видел сеть, которая существует на даче, но при этом весь интернет трафик заворачивается на дачу.

Двусторонний VPN на Asus RT-56U и Zyxel Keenetic Lite VPN, Сети, Asus, Zyxel, Pptp, Openvpn, Длиннопост

Требуется же сделать так, чтобы сети были общие, а в интернет все ходили по своим коннектам. Задача, на мой взгляд, плёвая и решалась мной обычно не дольше, чем за десять минут. Из которых пять уходило на заполнение задачи.

Двусторонний VPN на Asus RT-56U и Zyxel Keenetic Lite VPN, Сети, Asus, Zyxel, Pptp, Openvpn, Длиннопост

Вот только что-то пошло не так. То ли кризис на мировых биржах, то ли ураган за окном, то ли коронавирус. С сетевым оборудованием Asus не работал уже сотню лет и, если честно, то не особо мне с ним хочется работать. Мне дали доступ ко всему оборудованию и я приступил в ночи.  Первое, что посмотрел, что у нас происходит в таблицах роутинга. Keenetic при подключении получает push от Asus и добавляет в свою динамическую таблицу правильно:

192.168.85.0 255.255.255.0 10.8.0.2

то есть за полученным адресом 10.8.0.2 существует домашняя сеть 192.168.85.0/24.

Смотрю на то, что со стороны Asus и не вижу ни созданной сети OpenVPN 10.8.0.0 255.255.255.0 10.8.0.1, ни 192.168.100.0 255.255.255.0 10.8.0.2. Вижу только 10.8.0.0 255.255.255.0 * (дефолтный маршрут).

Вебинтерфейс Asus при всей своей красоте очень скучен для настроек. Бился с ним долго и не получил никакого результата. За окном дождь превращался то в крупу, то в снег, а ветер хлестал по окнам. Полистал форумы. Написано, что если что-то и можно сделать, то исключительно через SSH. Включил. Посмотрел настройки через консоль. Добавил клиентский файл для включения роутинга с прописанной сетью. В логах ошибки нет, но не подключает он его. Совсем. И так крутил, и сяк крутил. Умаялся. На часах был третий час. Ушёл спать.

Сдаваться не хотел. Сказал человеку всё, что думаю, что Asus скорее всего имеет на своём борту урезанный OpenVPN, поэтому через него не получится. Решил отдохнуть от задачи. Дел в доме до фига, в том числе и от этого сильного ветра.

У меня получалось установить соединение и в ручном режиме добавить рутинги. Сеть за Keenetic'ом была видна, но после добавления правил файрвола для ICMP, TCP, UDP. После разрыва соединения маршруты необходимо было писать заново.

Выходные прошли и тут решил попробовать сделать иначе. Раз доступен PPTP, то следует изучить его. В консоли по настройкам оного ничего (повторяю по буквам: НИ-ЧЕ-ГО) нет. Кроме общих файлов секретов.

Изучил настройки подключения клиента PPTP в вебе и понял, что можно указать сеть клиента при подключении, что и сделал. Добавил на Keenetic те же правила файрвола и... сеть за ним стала доступна, но ввиду отсутствия галки у default route, который используется для проброса всего трафика до квартиры, на Zyxel пришлось добавить статические маршруты для этого соединения с указанием подсети 192.168.85.0 255.255.255.0, а в шлюзе оставил пустоту, интерфейс мной был указан PPTP (по названию соединения). Трафик начал ходить в обе стороны, интернет у каждого роутера свой. Задача выполнена полностью и правильно. Себе на пиво заработал.

Подытожу: на стороне сервера Asus RT-56U необходимо создать PPTP сервер, создать подключение, в свойствах которого необходимо указать сеть, находящуюся за этим соединением при подключении в формате подсеть/маска (192.168.0.0/255.255.255.0).

На стороне Zyxel Keenetic: создать соединение с реквизитами. заданными на PPTP сервере и не использовать его для выхода в интернет. Для добавить в маршруты сеть, находящуюся за PPTP-сервером для этого подключения, поставив галку автоматическое создание при подключении. И создать правила файрвола для этого соединения, где необходимо разрешить нужные вам протоколы ICMP/TCP/UDP и прочее.

Человек доволен, что ему пока не придётся менять сетевое оборудование. Мне же урок, что всякая железка может иметь свою реализацию, которая может не отвечать общепринятым стандартам.

Вы смотрите срез комментариев. Показать все
Автор поста оценил этот комментарий
У меня такой ламерский вопрос. Подключаюсь через VPN к сети организации 192.168.1.0/24 на Винде. Прописываю маршрут route add 0.0.0.0 mask 0.0.0.0 192.168..89.1 (это айпишник моего соединения). Сеть организации видно, все ок. Но весь трафик идёт через vpn соотаетственно, что логично, я же это и указал. Как правильно указать, чтобы трафик к сети 192.168.1.0 шел через ВПН, а весь прочий - через 192.168.0.1?
раскрыть ветку (1)
Автор поста оценил этот комментарий

Наверное, прописать эту сеть при подключении:

192.168.1.0 MASK 255.255.255.0 192.168.89.1


0.0.0.0 - весь трафик туда

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