[Entware] Поднимаем OpenVPN сервер

Используем пакеты, расширяющие возможности оборудования
Аватара пользователя
Zyxmon
Администратор
Сообщения: 1353
Зарегистрирован: 09 авг 2015, 14:33

Сообщение Zyxmon » 15 сен 2016, 07:04

Настройки в прошивке v1 - на старом форуме.

dark-grey
Сообщения: 2
Зарегистрирован: 14 сен 2016, 19:27

Сообщение dark-grey » 15 сен 2016, 10:37

///
Последний раз редактировалось dark-grey 15 сен 2016, 14:45, всего редактировалось 1 раз.

Аватара пользователя
Александр Рыжов
Сообщения: 331
Зарегистрирован: 12 авг 2015, 13:14
Откуда: Смоленск

Сообщение Александр Рыжов » 15 сен 2016, 11:14

dark-grey, для чтения тоже закрыт?

viktorkruglov
Сообщения: 10
Зарегистрирован: 18 сен 2016, 16:46

Сообщение viktorkruglov » 18 сен 2016, 19:52

Всё прекрасно завелось на Keenetic Giga II.
Связал две сетки в разных географических регионах.
Доволен.
Потом по не связанной проблеме решил посмотреть wireshark-ом трафик на WANовском интерфейсе... и обнаружил, что он прекрасно "видит" OpenVPN соединения.
Т.е. несложный DPI провайдера (что собственно и происходит в Китае) способен "увидеть" именно OpenVPN трафик (видимо по паттернам handshake и тп - я не спец).
С учётом того, что я искал очень долгосрочное решение, которые выстояло бы очередное "закручивание гаек" встал вопрос в обфускации OpenVPN трафика.
Поискав решения вышел на obfsproxy, хотел попросить его "упаковать" в ветке про добавление пакетов... но так и не понял его статус и где найти исходники.
В общем поскольку это относится непосредственно к теме OpenVPN, прошу подсказать и буду рад советам - чем обфусцировать трафик OpenVPN и любые адекватные сопутствующие мысли включая сборку obfsproxy, если это возможно или кто то делал.
Спасибо.

Аватара пользователя
Zyxmon
Администратор
Сообщения: 1353
Зарегистрирован: 09 авг 2015, 14:33

Сообщение Zyxmon » 19 сен 2016, 08:31

obfsproxy - это программа на питоне. Боюсь тяжеловата будет для роутера.
https://pypi.python.org/pypi/obfsproxy
Если есть минимальные навыки программирования, то можете самостоятельно собрать.
Общая инструкция - https://github.com/Entware-ng/Entware-n ... on-modules
Но тут одна "закавыка" - для mipsel мы не выкладываем компилятор gcc.
Есть немного "старенький" gcc тут - http://forum.keenetic.net/topic/409-gcc ... тоятельно/
Но можем собрать и выложить новый gcc. Создайте доп. тему, если возьметесь за дело....

viktorkruglov
Сообщения: 10
Зарегистрирован: 18 сен 2016, 16:46

Сообщение viktorkruglov » 19 сен 2016, 16:23

To zyxmon , интересное предложение. Но если obfsproxy на пайтоне (я видел в инете несколько упоминаний, одни говорят на Go, другие C++, третьи - пайтон, сдаётся мне что и реинкарнаций у этого obfsproxy много) - то действительно тяжеловато.
Поэтому прежде чем взяться, хотелось бы варианты решения основной проблемы посмотреть - маскирование OpenVPN трафика от DPI.

Например только что прочитал про stunnel. Если пускать OpenVPN по нему, то для DPI это как https. Но это двойное (и не нужное) шифрование...
Наверняка есть и другие варианты.

viktorkruglov
Сообщения: 10
Зарегистрирован: 18 сен 2016, 16:46

Сообщение viktorkruglov » 23 сен 2016, 12:35

Сообщаю, что проблема решена.
В пакете Entware есть утилита stunnel, её версия чуть чуть устарела (опция verify = N деприкейтед, в последних релизах используются опции requireCert\verifyChain\verifyPeer).
С её помощью создаётся SSL туннель, который внешне (для DPI) очень плохо отличим от https:443.
Поскольку утилита stunnel есть в репо огромного числа систем (например тот же pfSense), то туннель создаётся с большим разнообразием endpoints.
На mipsel встала прекрасно и заработало.
Есть некоторая морока с сертификатами (лучше использовать самоподписанные, меньше гемороя - я всё же использовал подписанные, от своего CA).

И я пустил OpenVPN через stunnel. Вероятно с OpenVPN можно снять все функции шифрования и идентификации (двойное шифрование вряд ли нужно, тем более perfomance issue), оставив функцию соединения сетей.
work like a charm
в русском инете несложно найти мануалы, тем более в английском
каких то особенностей поднятия stunnel на кинетиках не обнаружил

laforsh
Сообщения: 26
Зарегистрирован: 23 авг 2015, 21:41

Сообщение laforsh » 23 сен 2016, 14:25

viktorkruglov писал(а):маскирование OpenVPN трафика от DPI
...
искал очень долгосрочное решение, которые выстояло бы очередное "закручивание гаек"

Еще один способ:
 
https://habrahabr.ru/post/87197/
Доустанавливать ничего не надо (кроме openvpn+openssh естественно), авторизация в ssh по ключам.
Свернуть

Вариант с пробросом (и с шифрованием) по отдельным портам или через SOCKS5 прокси (без заворота всего трафика) есть в вики (писАлся для zyxware !!! но отличия должны быть минимальны )
http://keenetic.zyxmon.org/wiki/doku.ph ... sh-tunelej

viktorkruglov
Сообщения: 10
Зарегистрирован: 18 сен 2016, 16:46

Сообщение viktorkruglov » 23 сен 2016, 15:29

To laforsh , спасибо.
Несомненно SSH туннель тоже вариант. Но насколько мне известно, современные DPI решения видят-таки его именно как SSH (та же проблема что и OpenVPN). К примеру последний апдейт China GFW, судя по отзывам, видит и SSH. Ну и начинает дропать пакеты.
А вот отличить https:443 от упакованного внутрь "более плотного" трафика SSL stunnel для DPI намного сложнее и требуется глубокий machine learning и прочие "нелобовые" методы.
Вопрос в том, отключать ли шифрование в самом OpenVPN через stunnel для избежания оверхеда с двойным шифрованием...

Faizrakhmanov
Сообщения: 7
Зарегистрирован: 04 янв 2017, 05:58
Откуда: Казань

Сообщение Faizrakhmanov » 04 янв 2017, 18:52

Добрый день.

Zyxmon писал(а):Источник цитаты Для кинетиков с NDMS V2 скрипт запуска выглядит так

Код: Выделить всё

# Make sure the tunnel driver is loaded
if ( !(lsmod | grep -q "^tun") ); then
        insmod /lib/modules/2.6.36/tun.ko
fi


У меня в логах, при выполнении команды через SSH:

Код: Выделить всё

/opt/etc/init.d/S20openvpn restart

Появляется сообщение:

Код: Выделить всё

insmod: can't insert '/lib/modules/2.6.36/tun.ko': No such file or directory
 Shutting down openvpn...              done.
 Starting openvpn...              done.

На что может повлиять данная ошибка? Спасибо.
<Keenetic Ultra II> <Entware-3х>


Вернуться в «Entware/Qnapware/Optware/Zyxware - обсуждаем репозитории пакетов»

Кто сейчас на конференции

Всего 3 посетителя :: 2 зарегистрированных, 0 скрытых и 1 гость (основано на активности пользователей за последние 5 минут)
Больше всего посетителей (121) здесь было 18 май 2016, 18:19

Сейчас этот форум просматривают: CommonCrawl [Bot], zyxeluser и 1 гость