Как стать автором
Обновить

Комментарии 32

Websocat я запускаю из крона своего юзера:
* * * * * netstat -lnt|grep -q :8022 || $HOME/bin/websocat -E --binary ws-l:127.0.0.1:8022 tcp:127.0.0.1:22|logger -t websocat &

Если совсем влом писать init или unit —
@reboot $HOME/bin/websocat -E --binary ws-l:127.0.0.1:8022 tcp:127.0.0.1:22|logger -t websocat &
Согласен, но мне хотелось автоматического рестарта особенно в процессе наладки.

так-то получше, чем ежеминутный крон?


while(1); do $HOME/bin/websocat .... ; done

Ну а в systemd есть Restart=. Для наколеночных скриптов он довольно удобен оказался.

Я не хотел выносить websocat в системный сервис. В моей ситуации я посчитал cron оптимальным решением. Безусловно возможны другие решения, которые для кого-то окажутся предпочтительнее. На этом сервере используется openrc, systemd там нет.

Когда со мной такое произошло, я использовал OpenVPN и stunnel который мимикрирует соединение под HTTPS/443 SSL трафик. После подключения ssh по внутреннему адресу.

Ещё есть shadowsocks… он у меня вместе с VPN поднят, чтобы был выбор
НЛО прилетело и опубликовало эту надпись здесь
Ну, через мобильник то каждый может, да и статья не про это… ))
Сначала мы создаём себе трудности, а потом героически преодолеваем их, да.

Мобильный трафик экономить

Бывают ситуации, когда сотовый в конкретном месте либо ловит очень плохо, либо не ловит вообще.
Автосервис с таким вайфаем — большая редкость, но вот во всяких режимных заведениях или больших корпорациях — вполне может быть. Вкупе с очень плохим сигналом сотовой сети. Попадал несколько раз, но к счастью DPI на 443-м порту там не было. Статья хорошая, чтобы подготовиться на всякий случай.
Причина очень простая: когда я занимался этой задачей я использовал план pay-as-you-go, который вообще не поддерживал данных.

Вместо websocat не пробовали corkscrew? Он, правда, пару лет не обновлялся, но его не нужно ставить на сервер.

Если я правильно понял corkscrew нужен при установлении ssh соединения через прокси. Или я что-то не так понял? В моем случае прокси не было.

А, да, действительно. Невнимательно читал, пардон.

Дополнение от автора websocat:
Рекомендовано использовать опции Nginx «proxy_read_timeout» и «proxy_send_timeout» с относительно большими значениями (хотя бы час), чтобы подключение не отваливалось от неактивности.

Пример фрагмента Nginx есть в документации (https://github.com/vi/websocat/blob/master/doc.md#unix-listen). Наверное, его следует сделать более видимым, ближе к README.
Можете подробнее написать, для чего это? Вроде SSTP давно изобрели.
Если я правильно понимаю SSTP это все же не https, а мне было интересно спрятать ssh в https.
Соединение идет именно по HTTPS и внутри HTTPS:
habr.com/ru/post/196134
Вроде бы более мейнстримово это делается с помощью stunnel.
stunnel палится при попытке «попинговать» сервер обычным HTTP-клиентом. В случае с туннелем через nginx можно
а) держать на той же машине еще и обычный веб-сервер и
б) отрицать существование туннеля, поскольку, чтобы доказать обратное, нужно знать конкретный endpoint URL, который из зашифрованного трафика получить нереально.
Или stunnel держать за SSLH, а дифференцировать по SNI. Так можно держать и обычный сервер, и «палевный» openvpn на том же 443 порту.
Правда замечание б) не убирается, SNI передаётся в открытом виде. Хотя в принципе можно сделать HTTPS трафик без SNI на stunnel, со SNI на веб-сервер.
dd if=/dev/zero

Для оценки скорости лучше использовать нетривиальные данные (например, брать из /dev/urandom). Иначе придется проследить, что компрессия отключена (а это зависит не только от наличия опции -C, но и от ssh_config и sshd_config).
Вы безусловно правы, в свое оправдание могу только сказать, что /dev/urandom работает существенно медленее, чем /dev/zero:

kvt@joy:~$ time dd if=/dev/urandom count=32768 bs=8192 >/dev/null && time dd if=/dev/zero count=32768 bs=8192 >/dev/null
32768+0 records in
32768+0 records out
268435456 bytes (268 MB, 256 MiB) copied, 6.27352 s, 42.8 MB/s

real 0m6.278s
user 0m0.016s
sys 0m6.262s
32768+0 records in
32768+0 records out
268435456 bytes (268 MB, 256 MiB) copied, 0.0423418 s, 6.3 GB/s

real 0m0.044s
user 0m0.016s
sys 0m0.028s
kvt@joy:~$
Да, действительно, слишком медленно. Придется в файл сохранять, чтоб по-взрослому было.
42.8

Что-то медленно. Это малинка? И всё равно быстрее вайфая.

t470s, процессор: Intel® Core(TM) i7-7600U CPU @ 2.80GHz

я тестировал на проводном подключении.

Ох уж эти мобильные процессоры. У меня тут под рукой есть тёплый ламповый Athlon 64 X2 2006 года разработки, так у него urandom выдаёт 73,0 MB/s.

Видимо фильтрация осуществлялась не просто по портам, но также использовался deep packet investigation.

Любопытно знать для чего кто-то так сильно заморочился.
Ладно бы действительно режимное предприятие… но автосервис?
Не представляю :). С другой стороны я даже рад, что они это сделали. Таким образом я мог проверять разные подходы в условиях максимально похожих на суровую реальность.

А всего-то надо было зайти на админку роутера и ввести дефолтный пароль чтобы добавить себя в whitelist (и поменять пароль на более защищенный чтобы защитить от хакеров (-: ).

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Изменить настройки темы

Истории