Jump to content
  • 0

OpenWrt VPN client to Keenetic VPN server


Question

Posted

Задача, надо объединить сегменты сетей. На Giga поднимаю VPN сервер:

1. PPTP не хочу, не секьюрно. Но потыкавшись с остальными, попробовал и его. На OpenWrt создал интерфейс, в котором снял галку default gateway (что-то типа этого). Но не соединяется, выдаёт invalid proto.

2. IPsec IKE2 тоже не хочу, пакеты для OpenWrt очень тяжёлые. Все в память роутера не влазят, а какие минимально необходимый комплект пакетов поставить - пока не знаю.

3. L2TP/IPsec нативно в OpenWrt не поддерживается, только L2TP. Как настроить L2TP/IPsec в OpenWrt - инструкции найти не могу.

4. SSTP, пока главный кандидат. Поставил sstp-client пакет. Как я понял, в uci он не поддерживается. На роутере в ssh запустил команду "sstpc --cert-warn --save-server-route --user <login> --password <pass> <gate>.keenetic.link" - соединение поднялось, ура! Теперь вопрос, как прописать это в конфиги на OpenWrt, чтобы поднималось само при старте. Ещё вопрос, SSTP в Гиге акселирируется хардварно или нет?

17 answers to this question

Recommended Posts

  • 0
Posted
7 минут назад, Alex M. Jake сказал:

Ещё вопрос, SSTP в Гиге акселирируется хардварно или нет?

Нет. Wireguard попробуйте, он по скорости гораздо приятнее.

  • 0
Posted
23 minutes ago, ndm said:

Нет. Wireguard попробуйте, он по скорости гораздо приятнее.

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

 

С wireguard заметил такую "фичу", он ресолвит ddns имя при старте и в дальнейшем при потере соединения пытается соединится с уже полученным ip. Получается, при динамическом IP, соединение может не восстановится при перезагрузке роутера. Это не проблема, на удалённом роутере можно тоже поднять ddns и основной роутер при перезагрузке будет сам восстанавливать соединение с удалённым роутером. Но у меня удалённому роутеру провайдер иногда выдаёт серый ip, поэтому в идеале я бы хотел, чтобы инициатором соединения был удалённый роутер, а основной (Гига) пассивно ждал входящего соединения.

Ещё смущает реализация wireguard в Гиге, он opkg тянет. Хотелось бы обойтись без них. Может дадите инструкцию как L2TP/IPsec в OpenWrt поднять?

  • 0
Posted
32 минуты назад, Alex M. Jake сказал:

Ещё смущает реализация wireguard в Гиге, он opkg тянет. Хотелось бы обойтись без них. 

В ветке 3.3 wireguard идёт "из коробки" без opkg...

  • Thanks 1
  • 0
Posted
2 hours ago, Mamay said:

В ветке 3.3 wireguard идёт "из коробки" без opkg...

Осталось дождатья когда 3.3 в релиз уйдёт. В январе, судя по ченджлогу 3.1

  • 0
Posted
1 час назад, Alex M. Jake сказал:

Осталось дождатья когда 3.3 в релиз уйдёт. В январе, судя по ченджлогу 3.1

Можно не ждать 2020, а проставить себе draft и помочь разработчикам свой скилл повысить. )))

  • 0
Posted
В 28.10.2019 в 11:17, Alex M. Jake сказал:

Задача, надо объединить сегменты сетей. На Giga поднимаю VPN сервер:

1. PPTP не хочу, не секьюрно. Но потыкавшись с остальными, попробовал и его. На OpenWrt создал интерфейс, в котором снял галку default gateway (что-то типа этого). Но не соединяется, выдаёт invalid proto.

2. IPsec IKE2 тоже не хочу, пакеты для OpenWrt очень тяжёлые. Все в память роутера не влазят, а какие минимально необходимый комплект пакетов поставить - пока не знаю.

3. L2TP/IPsec нативно в OpenWrt не поддерживается, только L2TP. Как настроить L2TP/IPsec в OpenWrt - инструкции найти не могу.

4. SSTP, пока главный кандидат. Поставил sstp-client пакет. Как я понял, в uci он не поддерживается. На роутере в ssh запустил команду "sstpc --cert-warn --save-server-route --user <login> --password <pass> <gate>.keenetic.link" - соединение поднялось, ура! Теперь вопрос, как прописать это в конфиги на OpenWrt, чтобы поднималось само при старте. Ещё вопрос, SSTP в Гиге акселирируется хардварно или нет?

Вопрос по SSTP клиенту.

Тоже хотелось бы объеденить сети. В качестве сервера выступает keenetic, а клиентом будет служить роутер с OpenWrt 19.07.

Получилось только поднять соединение командой sstpc --cert-warn --tls-ext --save-server-route --user *** --password *** sh
aman4egs.keenetic.pro

Но вот получить достум через созданный интерфейс

ppp0 Link encap:Point-to-Point Protocol
inet addr:192.168.200.7 P-t-P:192.168.1.1 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1350 Metric:1
RX packets:4 errors:0 dropped:0 overruns:0 frame:0
TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:40 (40.0 B) TX bytes:46 (46.0 B)

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

Маршруты на OpenWrt

root@OpenWrt:~# route

Kernel IP routing table

Destination Gateway Genmask Flags Metric Ref Use Iface

default 192.168.27.181 0.0.0.0 UG 0 0 0 wlan0

95.84.164.227 192.168.27.181 255.255.255.255 UGH 0 0 0 wlan0

192.168.1.0 192.168.1.1 255.255.255.0 UG 0 0 0 ppp0

192.168.27.0 * 255.255.255.0 U 0 0 0 wlan0

192.168.100.0 * 255.255.255.0 U 0 0 0 br-lan

Эхо-запрос до 192.168.1.1 (IP роутера keenetic) при поднятом соединении доходитдоходит.

Теперь вопрос в том, как это всё прописать чтобы соединение поднималось само и был маршрут в локальную сеть сервера.

сервераПростое создание сетевого интерфейса в etc/config/network не помогает.

  • 0
Posted (edited)

Ставим обновляем список пакетов и устанавливаем необходимые

opkg update
opkg install ca-certificates luci-proto-sstp sstp-client

Обязательно надо перезагрузить роутер (что бы luci начала принимать протокол sstp)
Можно это сделать и без перезагрузки, но я не помню как

Создаете соединение (Network / Interfaces), и в созданном подключении нужно вбить 5 параметров

Закладка General Settings
Protocol: SSTP
SSTP Server: xxxxx.keenetic.link
PAP/CHAP username: vpn_sstp_user
PAP/CHAP password: vpn_sstp_password

Закладка: Advanced Settings
Extra sstpc options: --tls-ext --save-server-route
Extra pppd options: refuse-eap refuse-pap refuse-mschap require-mschap-v2 noauth noipdefault

Use default gateway: нужно убрать если доступ только в локальную сеть сервера
если галочка поставлена, весь трафик пойдет в туннель

Всё, так у меня стало подключаться к роутеру кинетик по протоколу sstp

параметр --save-server-route видимо не работает или игнорируется при подключении
из за этого на клиенте маршрут в локальную сеть сервера нужно прописывать вручную

Edited by VecH
  • 0
Posted (edited)
В 28.09.2024 в 15:29, VecH сказал:

Ставим обновляем список пакетов и устанавливаем необходимые

opkg update
opkg install ca-certificates luci-proto-sstp sstp-client

Обязательно надо перезагрузить роутер (что бы luci начала принимать протокол sstp)
Можно это сделать и безе перезагрузки, но я не помню как

Создаете соединение (Network / Interfaces), и в созданном подключении нужно вбить 5 параметров

Закладка General Settings
Protocol: SSTP
SSTP Server: xxxxx.keenetic.link
PAP/CHAP username: vpn_sstp_user
PAP/CHAP password: vpn_sstp_password

Закладка: Advanced Settings
Extra sstpc options: --tls-ext --save-server-route
Extra pppd options: refuse-eap refuse-pap refuse-mschap require-mschap-v2 noauth noipdefault

Use default gateway: нужно убрать если доступ только в локальную сеть сервера
если галочка поставлена, весь трафик пойдет в туннель

Всё, так у меня стало подключаться к роутеру кинетик по протоколу sstp

параметр --save-server-route видимо не работает или игнорируется при подключении
из за этого на клиенте маршрут в локальную сеть сервера нужно прописывать вручную

Видимо что то изменилось. Не работает, выдает:
daemon.notice netifd: Interface 'kor**' is setting up now
 daemon.notice netifd: kor** (12044): Command failed: ubus call network.interface notify_proto { "action": 0, "ifname": "sstp-kor**", "link-up": true, "keep": false, "interface": "kor**" } (Unknown error)                  #и вроде линк есть, а удержать не может.
 local0.notice sstpc[12138]: Resolved kor**.keenetic.pro to 87.***.**.67
 local0.notice sstpc[12138]: Connected to kor**.keenetic.pro
daemon.notice netifd: kor** (12044): Command failed: ubus call network.interface notify_proto { "action": 0, "ifname": "sstp-kor**", "link-up": true, "keep": false, "interface": "kor**" } (Unknown error)
 local0.debug sstpc[12138]: Unrecoverable socket error, 1
 local0.debug sstpc[12138]: HTTP handshake with server failed
daemon.notice netifd: kor** (12138): **Error: HTTP handshake with server failed, (-1)
Sat May  3 12:08:52 2025 daemon.notice netifd: Interface 'kor**' is now down

Кто знает в чем причина, и куда копать?
sstp соединение из под Винды работает, удаленная локалка доступна.

 LuCI openwrt-24.10 branch (25.037.68331~42f464c) / OpenWrt 24.10.0

sstp-client 1.0.20-r1

luci-proto-sstp25.119.71430~be769af

 

Edited by Vamik
  • 0
Posted
В 03.05.2025 в 05:16, Vamik сказал:

Видимо что то изменилось. Не работает, выдает:
daemon.notice netifd: Interface 'kor**' is setting up now
 daemon.notice netifd: kor** (12044): Command failed: ubus call network.interface notify_proto { "action": 0, "ifname": "sstp-kor**", "link-up": true, "keep": false, "interface": "kor**" } (Unknown error)                  #и вроде линк есть, а удержать не может.
 local0.notice sstpc[12138]: Resolved kor**.keenetic.pro to 87.***.**.67
 local0.notice sstpc[12138]: Connected to kor**.keenetic.pro
daemon.notice netifd: kor** (12044): Command failed: ubus call network.interface notify_proto { "action": 0, "ifname": "sstp-kor**", "link-up": true, "keep": false, "interface": "kor**" } (Unknown error)
 local0.debug sstpc[12138]: Unrecoverable socket error, 1
 local0.debug sstpc[12138]: HTTP handshake with server failed
daemon.notice netifd: kor** (12138): **Error: HTTP handshake with server failed, (-1)
Sat May  3 12:08:52 2025 daemon.notice netifd: Interface 'kor**' is now down

Кто знает в чем причина, и куда копать?
sstp соединение из под Винды работает, удаленная локалка доступна.

 LuCI openwrt-24.10 branch (25.037.68331~42f464c) / OpenWrt 24.10.0

sstp-client 1.0.20-r1

luci-proto-sstp25.119.71430~be769af

 

То же самое вернулся на OpenWrt 23.05.5 (r24106-10cc5fcd00)  ВСЁ РАБОТАЕТ!

  • 0
Posted
В 25.09.2024 в 16:57, VecH сказал:

Кто нибудь смог поднять клиента SSTP на OpenWrt ?

У меня получилось только при создании интерфейса ipv6, ipv4 почему-то sstp не видит от слова совсем, проверил все конфиги, уже не знаю куда копать чтоб на ipv4 заработал. При отключении интерфейса ipv6 sstp клиент выдает ошибку "Отсутствует сетевой интерфейс"

  • 0
Posted

коллеги, преступление раскрыто. изначально все как описано выше
24.10 не работает, 23.05.5 работает
поставил на 24.10 старый пакет от 23.05 командой
opkg install https://downloads.openwrt.org/releases/23.05.5/packages/x86_64/packages/sstp-client_1.0.15-1_x86_64.ipk 

и все завелось. затем сделал апгрейд версии, и снова не заводится.
после чего гугл и натыкаюсь сюда:
https://github.com/openwrt/packages/issues/27324

внизу написано, что нужно поставить libopenssl-legacy
ставлю его, и все работает на 24.10
то есть, рецепт
opkg update
opkg install sstp-client
opkg install libopenssl-legacy

  • 0
Posted

вышеописанная ситуация работает при подключении из терминала.
если поставить пакет luci, то не подключается, ошибка.

в общем побороть не смог ошибку. на 24.10 рецепт, поставить 3 пакета от 23.05

opkg install https://downloads.openwrt.org/releases/23.05.5/packages/x86_64/base/ppp_2.4.9.git-2021-01-04-4_x86_64.ipk
opkg install https://downloads.openwrt.org/releases/23.05.5/packages/x86_64/packages/sstp-client_1.0.15-1_x86_64.ipk
opkg install https://downloads.openwrt.org/releases/23.05.5/packages/x86_64/luci/luci-proto-sstp_git-25.222.75657-7ce34fe_all.ipk

возможно нужен ребут. у меня без ребута не появляется в luci интерфейс sstp

  • 0
Posted

А у кого нибудь получилось настроить SSTP клиента на Linux? Уже больше недели бьюсь на двух дистрибутивах (Mint и CachyOS) - не соединяется к SSTP серверу на Giga KN1012 и все тут. Хотя все остальные устройства на Windows, Android и iOS - цепляются без проблем. Может ли быть дело в том что порт не дефолтный 443, а 5083?

  • 0
Posted
1 час назад, nosik1979 сказал:

А у кого нибудь получилось настроить SSTP клиента на Linux? Уже больше недели бьюсь на двух дистрибутивах (Mint и CachyOS) - не соединяется к SSTP серверу на Giga KN1012 и все тут. Хотя все остальные устройства на Windows, Android и iOS - цепляются без проблем. Может ли быть дело в том что порт не дефолтный 443, а 5083?

Ошибка какая? Порт нужно указывать, плюс дебаг режим включить.
Прошелся по истории комманд, как минимум консольному sstpc нужен флаг "--tls-ext".

sstpc --user admin --password pass --tls-ext --log-level 4 --log-stderr domain.netcraze.link:port

Плюс настройка ppp, но его настроек не сохранилось.

Через плагин в NetworkManager просто поднимается, его легче использовать. И подсмотреть примерные аргументы для pppd у процесса.
Но я отказался от sstp, в пользу openconnect, с ним все проще :D

  • 0
Posted
В 28.09.2024 в 08:29, VecH сказал:

Ставим обновляем список пакетов и устанавливаем необходимые

opkg update
opkg install ca-certificates luci-proto-sstp sstp-client

Обязательно надо перезагрузить роутер (что бы luci начала принимать протокол sstp)
Можно это сделать и без перезагрузки, но я не помню как

Создаете соединение (Network / Interfaces), и в созданном подключении нужно вбить 5 параметров

Закладка General Settings
Protocol: SSTP
SSTP Server: xxxxx.keenetic.link
PAP/CHAP username: vpn_sstp_user
PAP/CHAP password: vpn_sstp_password

Закладка: Advanced Settings
Extra sstpc options: --tls-ext --save-server-route
Extra pppd options: refuse-eap refuse-pap refuse-mschap require-mschap-v2 noauth noipdefault

Use default gateway: нужно убрать если доступ только в локальную сеть сервера
если галочка поставлена, весь трафик пойдет в туннель

Всё, так у меня стало подключаться к роутеру кинетик по протоколу sstp

параметр --save-server-route видимо не работает или игнорируется при подключении
из за этого на клиенте маршрут в локальную сеть сервера нужно прописывать вручную

На OpenWrt 23.05.5 (r24106-10cc5fcd00) клиент и KeeneticOS: 4.3.6.3 как сервер SSTP работало. На  KeeneticOS 5.0.4 OpenWrt не подключается . Более того если вернутся на 4.3.6.3 на OpenWrt нужно заново создавать интерфейс SSTP иначе не подключается. Есть какие ни будь идеи?

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.

  • Recently Browsing   0 members

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

Important Information

This site uses cookies. By clicking "I accept" or continuing to browse the site, you authorize their use in accordance with the Privacy Policy.