qzeleza/kvas

Необходима возможность использования КВАСа для клиента подключенного по SSTP к роутеру.

Opened this issue · 22 comments

Опишите проблему.
Необходима возможность использования КВАСа для клиента подключенного по SSTP к роутеру.

Какие шаги, привели к ошибке/проблеме?

  1. На роутере настроил VPN-сервер SSTP для клиента.
  2. Подключаюсь к роутеру по SSTP и телефона через приложение Open SSTP Client
  3. Открываются все сайты которые не в списке КВАС, ip адрес интернета используемого на роутере, то есть маршрутизация есть, кроме маршрутизации через КВАС

Какие ожидания о поведении программы?
При подключении к роутеру клиента по SSTP открытие сайтов находящихся в списке КВАС (kvas list)

Заполните информацию о системе на роутере:

  • Браузер chrome 121.0.6167.161
  • SSH Putty 0.73

Заполните информацию о самом роутере (пожалуйста, заполните следующую информацию):

  • Keenetic Ultra
  • версия 4.07 (на прошлых версиях такая же ситуация была)
  • KN-1811

Здесь не простая ситуация, так как sstp это не просто соединение в терминах rci, а это отдельная серверная надстройка, потому подход там должен быть почти такой же как и при ikev2.
Пока не готов говорить о сроках выпуска Кваса под данный тип соединения.
Скорее всего может появиться в версии 1.2

Если нужен будет доступ, дам...

Прошу Вас подобного рода ссылки не публиковать (удалил намерено).

Может быть в версии 1.2.

тоже думал не публиковать. хорошо что удалили, но как передать всю боль :)

Еще вопрос, есть ли возможность использования не только adguard, а например по выбору с uBlockOrigin

в диагностике проскакивают вот такие штуки
Фев 9 19:03:39 КВАС
ОШИБКА::\033[1;31m[ip4_firewall_dns_rules_set] Возникла ошибка в функции при установке правил iptables.\033[m
Фев 9 19:03:39 ndm
Opkg::Manager: /opt/etc/ndm/netfilter.d/100-vpn-mark: sh: bad number.

Еще вопрос, есть ли возможность использования не только adguard, а например по выбору с uBlockOrigin

Поясните пожалуйста

в диагностике проскакивают вот такие штуки Фев 9 19:03:39 КВАС ОШИБКА::\033[1;31m[ip4_firewall_dns_rules_set] Возникла ошибка в функции при установке правил iptables.\033[m Фев 9 19:03:39 ndm Opkg::Manager: /opt/etc/ndm/netfilter.d/100-vpn-mark: sh: bad number.

О какой версии Кваса идет речь?

Последняя, могу сюда дебаг закинуть
+adguard home (adguard on)

Нет, тут дебаг не нужен - ошибка явная и описана в отладочном сообщении.
Посмотрю в чем дело. Спасибо.

Еще вопрос, есть ли возможность использования не только adguard, а например по выбору с uBlockOrigin

Поясните пожалуйста

ну есть uBlockOrigin, она от рекламы избавляется лучше. Хотелось бы что бы этот инструмент был в КВАСЕ, потом когда нибудь :)

ну есть uBlockOrigin, она от рекламы избавляется лучше. Хотелось бы что бы этот инструмент был в КВАСЕ, потом когда нибудь :)

Для этой цели есть adblock в самом Квасе.

sstp это не просто соединение в терминах rci

Подскажите, с Wireguard сервером на роутере будет работать маршрутизация через Квас и далее через VPN клиент на роутере? Сейчас использую решение https://github.com/DennoN-RUS/Bird4Static хочу перейти на Ваше. И пользуясь случаем хотел бы спросить насчет поддержки BGP, планируется ли? Это очень удобно для заворачивания больших сетей, типа меты.

Вы имеете ввиду смогу ли клиенты Wireguard сервера использовать Квас?
Честно говоря не нижу в том проблем. Но не проверял - на все 100% не уверен.

По поводу BGP - точно нет.

@Paveltsibirna

Трям, здравствуйте!

iptables -A PREROUTING -w -t nat -i sstp+ -p tcp -m set --match-set unblock dst -j REDIRECT --to-ports 1181
iptables -A PREROUTING -w -t nat -i sstp+ -p udp -m set --match-set unblock dst -j REDIRECT --to-ports 1181

Это две команды которые нужно выполнить в терминале, они создадут два правила которые будут делать переадресацию пакетов из sstp куда надо.

Ребут они не переживут, но почти готовое решение можно найти на форуме кинетика вот в этом сообщении.

Возможно я чего-то не понимаю (а я в маршрутизации почти ничего не понимаю) и переупрощаю, но у себя правила добавил и вроде бы все работает как надо.

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

UPD. содержимое сообщения актуально только для комбинации sstp -> ssr (shadowsocks)

Спасибо! проверю, может еще уважаемый qzeleza обратит на это внимание.

Это две команды которые нужно выполнить в терминале

Доброго дня
Возможно эти две команды и решают вопросы, но только для ssr

Относительно остальных vpn в режимах fastnet и без оного - есть идеи?

@qzeleza здравствуйте, спасибо за проект.

Возможно эти две команды и решают вопросы, но только для ssr

Да, извиняюсь что не уточнил в первом сообщении, этот ad-hoc действительно только для маршрутизации sstp -> ssr, а не универсальное решение. @Paveltsibirna FYI

Относительно остальных vpn в режимах fastnet и без оного - есть идеи?

Увы, нет.

Вы имеете ввиду смогу ли клиенты Wireguard сервера использовать Квас?
Честно говоря не нижу в том проблем. Но не проверял - на все 100% не уверен.

Подтверждаю, работает. В конфигурации клиента WG в качестве DNS нужно указать адрес IP адрес роутера внутри туннеля (например у меня 192.168.2.1). Кроме этого в /opt/etc/dnsmasq.conf, нужно добавить новый listen-address с этим IP адресом.

Подтверждаю, работает

А не затруднит приложить вывод ifconfig? Или просто подскажите, какое имя у сетевого интерфейса для Wireguard — wg0?

То есть должно работать ?
что нужно сделать ?

Здесь не простая ситуация, так как sstp это не просто соединение в терминах rci, а это отдельная серверная надстройка, потому подход там должен быть почти такой же как и при ikev2. Пока не готов говорить о сроках выпуска Кваса под данный тип соединения. Скорее всего может появиться в версии 1.2

Из праздного любопытства был дёрнут API-метод curl -s 127.0.0.1:79/rci/sstp-server, дык у них даже какого-то единого стандарта ответа с IKEv2 нет, всё очень не консистентно:

  "interface": "Bridge0",
  "pool-range": {
    "begin": "192.168.4.35",
    "size": "115"
  },
  "multi-login": true,
  "lcp": {
    "echo": {
      "interval": 30,
      "count": 3
    }
  }
  "enable": true,
  "nat": true,
  "pool-start": "192.168.2.35",
  "pool-size": "115",
  "dns-server": "192.168.1.1",
  "multi-login": true,
  "sa-compat": "default"