Двусторонний 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 и прочее.

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

Вы смотрите срез комментариев. Показать все
DELETED
Автор поста оценил этот комментарий
Может кому то и пригодится. Но задача очень узкая.оборудовонание разных производителей вяжется между собой как правило криво. Получилось - отлично. Не получилось - дешевле поменять оборудование
раскрыть ветку (17)
1
Автор поста оценил этот комментарий

Абсолютно с вами согласен. Более того, что данная задача тривиальна для любого маломальски понимающего человека. Однако, видите, затянулась надолго. У себя дома это делаю за 2-3 минуты, когда нужно что-то добавить (да, приходится к себе внешние сети добавлять иногда).

раскрыть ветку (16)
DELETED
Автор поста оценил этот комментарий
Сейчас встретил странный глюк на вин10. Маршрут не добавляется. После ручного добавления работает. Но после отключения, не смотря на существование маршрута - не работает. Удаляю, добавляю - опять работает
раскрыть ветку (15)
Автор поста оценил этот комментарий

Это где? OpenVPN?

раскрыть ветку (14)
DELETED
Автор поста оценил этот комментарий
L2tp
раскрыть ветку (13)
Автор поста оценил этот комментарий

в таблице роутинга посмотрите... скорее всего это неактивный коннект.

раскрыть ветку (12)
DELETED
Автор поста оценил этот комментарий
Route print. Статический, шлюзы верные
раскрыть ветку (11)
Автор поста оценил этот комментарий

тогда не знаю даже. И посмотрел, оказывается в винде нет этого.

раскрыть ветку (10)
DELETED
Автор поста оценил этот комментарий
Чего
раскрыть ветку (9)
Автор поста оценил этот комментарий

Указания имени или типа соединения. Может где-то глубже. Увы, я не виндовый человек совсем. Мне ближе debian.

раскрыть ветку (8)
DELETED
Автор поста оценил этот комментарий
Ну мне наверное ближе винда, но сервак на фряхе, где то ещё что то, это не столь важно. Имя и тип соединения какое значение имеет? Маршрут он и в Африке маршрут
раскрыть ветку (7)
Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку