Серия про fpv-линк на ip-камере и регистраторе
4 поста
Всем нам порою нужно сходить нах*й. Или, еще лучше - послать! Но правильно делать это искрометно, с огоньком, так, чтобы у оппонента поднялось настроение! Что может быть лучше, чем пригласить его в это сообщество?
Кто того, многие будут вступать в сие сообщество исключительно по велению сердца или разума, чувствуя что в развитии сообщества заключен тайный смысл его или её жизни.
Правила просты - посты должны содержать максимально утонченный посыл нах*й, обязательно со звездочкой - мы же не звери. Можно публиковать истории, где кто нибудь послал кого нибудь нах*й, если это будет хоть кому нибудь интересно. Обязателен тег "мат".
Дайте нам это сообщество!
Привет, Пикабу!
Обратились ко мне жители соседнего поселка с просьбой помочь снять и монтировать видеообращение к В.В. Путину. Саму идею видеообращения я не очень поддерживал, но жители очень надеются, что оно переломит ситуацию с беспределом.
Долгое время они могли попасть к себе домой только по прописке в паспорте, привести друзей/сестру/брата/девушку не могли - их не пропускали на КПП, которое возникло на единственной дороге к поселку. Полтора года назад перестали пропускать вообще.
Подробности в коротком видео.
Снималось на мобильный телефон и фотоаппарат, прошу не пинать - пианист как смог..
Очень прошу поднять в топ, комменты для минусов внутри. Цель - привлечь внимание федеральных СМИ и, возможно, общественных деятелей с борцами за права человека. Будет интересно и борцам с коррупцией.
Еще полезная инфа https://vk.com/wall-1073578_4667
Ссылка на полный репортаж Кубань24: https://www.youtube.com/watch?v=cN76pRnM5so
Спасибо!
Начну, пожалуй, с причин, по которым я захотел его. Живу я с недавних пор в районе, где проводного интернета нет, а мобильный по LTE представлен только одним оператором. После переезда я расчехлил свой старый TP-LINK MR 3020, припаял разъем под антенну wifi и накрутил саму антенну, в usb вставил купленный у друга huawei m150-2 (E3372s). Все было замечательно, пока единственный доступный оператор с единственным "безлимитным" тарифом не решил брать 200% сверху за факт "раздачи" интернета. Итого - 300%. Я такие вещи обычно называю - "о***ли".
На все это наложилось нежелание постоянно видеть сообщение, что такой-то сайт закрыт по решению каких-то там дядек, знающих лучше меня, как мне жить. А интернет нужен для работы. И привык я смотреть фильмы и сериалы онлайн, а то и в UO на FW погонять изредка.
То есть скорость скачивания и задержки должны быть приемлимыми.
К тому же, я заметил, что вечерами явно присутствует ограничение на число соединений. то есть - открываем 10 вкладок, 11-я уже говорит об ошибке - "соединение сброшено". Закрываем какую-либо, обновляем 11-ю - все открывается.
Я хотел установить клиента VPN сразу в роутере, что позволило бы не заморачиваться с клиентами на конечных устройствах (два андроид-фона, медиацентр на pi2/openelec, пара ноутов) и скрыть от провайдера сам факт раздачи. Провайдер должен видеть один шифрованный канал на подходящий для этого порт.
Популярных технологий, имеющих возможность стартануть на роутере, было две. Это L2TP и OpenVPN. Для первой даже была вебморда, но, как я ни старался - клиентская часть не поднималась. А, да. В "родной" прошивке отсутствовала возможность использовать L2TP через usb 3g/4g, только как авторизационная составляющая для WAN-порта (ethernet). С openwrt я был на "вы", и осторожно, поэтому предпочел поискать готовую прошивку, которой можно было бы прошиться через стандартную вебморду. И я ее нашел.
Построена она на openwrt, поэтому сия инструкция сгодится для любой openwrt - прошивки с установленным пакетом openvpn, да и для других кастомных прошивок тоже.
Итак - OpenVPN. Серверная часть. Опыт работы с ним уже был, пусть и без клиентской части в роутере. Я много работаю с дистрибутивами CentOS, преимущественно 6.X, поэтому её и выбрал. Нам понадобится vps/vds сервер, который можно относительно недорого арендовать. У меня была возможность протестировать три площадки, и по итогам я сделал свой выбор. Рассматривал площадки исключительно в РФ, хотелось комфортной скорости в рунете. Как ни крути, с зарубежными площадками есть такие проблемы.
Первая площадка - недорогой VDS на kvm (более подходящая технология виртуализации), 129р/мес, 400мб ОЗУ, ssd, MSK. Пинги радуют, но общая скорость маловата.
Вторая площадка - kvm, Новосибирск. 400р. Ресурсы сервера хорошие. Пинги не радуют, скорость по итогу тоже.
Третья площадка - OpenVZ, MSK, 1Gb ОЗУ, ssd, 299р. (UDP: полез проверять цены и выяснил, что тарифы подняли, но ресурсов значительно больше. Подробнее в самом конце поста). Пришлось попросить техподдержку подключить tun/tap девайсы, сделайте это сразу, если у Вас OpenVZ. Перед покупкой уточните, что это возможно. Ссылку на эту площадку я отправлю попросившему пикабушнику в электропочту, но запросы пишите мне на мойник_собака_майлру. Приложите ссылку на свой профиль, буду проверять каждого, пикабушникам 1 день не высылаю :)
Как Вы уже поняли, ограничения на доступы к сайтам не распространяются на хостинги и ДЦ, не предназначенные для розничной доставки интернета населению. Это хорошо.
Итак, у Вас есть VDS, это либо KVM, либо OpenVZ с подключенными tun/tap девайсами. Заказываем операционку - CentOS 6.x [minimal i686]. Скачиваем клиент ssh - например, putty. Логинимся по ip сервера на порт 22 по протоколу ssh, вводим имя root и пароль. Мы в консоли!
Также нужно качнуть WinSCP либо другой файл-менеджер, поддерживающий SSH, и залогинится похожим образом. В первом клиенте мы вбиваем команды, во втором оперируем с файлами. Поехали устанавливать серверную часть.
Обновляем все пакеты
yum update -y
Устанавливаем репозиторий
cd /usr/src/ && wget http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8... && wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
rpm -Uvh remi-release-6*.rpm epel-release-6*.rpm
Устанавливаем нужные пакеты
yum install mc wget unzip ntp
yum -y install openvpn
Настраиваем автообновление даты и времени, правильные значения нам нужны для работы openvpn-сервера
ntpdate pool.ntp.org && service ntpd start && chkconfig ntpd on && rm -f /etc/localtime && cp -uf /usr/share/zoneinfo/Europe/Moscow /etc/localtime
Разрешаем форвард пакетов
sed -i 's/net.ipv4.ip_forward = 0/net.ipv4.ip_forward = 1/g' /etc/sysctl.conf
sudo sysctl -p
Возможно, на kvm также понадобится отключить selinux
sed -i s/SELINUX=enforcing/SELINUX=disabled/g /etc/selinux/config
reboot
Сервер перезагрузится, логинимся заново. Далее нам нужно скачать easyrsa3, распаковать его и сгенерировать несколько сертификатов, нужных для работы как сервера, так и клиента:
cd /usr/src && wget http://hldns.ru/dnld/ovpn/master.zip
unzip master.zip && rm -f master.zip && ln -s /usr/src/easy-rsa-master/easyrsa3 /etc/openvpn/
cd /etc/openvpn/easyrsa3 && ./easyrsa init-pki && ./easyrsa build-ca nopass && ./easyrsa build-server-full server nopass
cd /etc/openvpn/easyrsa3 && ./easyrsa gen-dh
cp /etc/openvpn/easyrsa3/openssl-1.0.cnf /etc/openvpn/
cd /etc/openvpn/easyrsa3/ && ./easyrsa build-client-full client nopass
Также нам понадобится ключ TA:
cd /etc/openvpn && openvpn --genkey --secret ta.key
Скачивание идет с моего сайта, ибо я не помню, где брать оригинал и не знаю, будет ли подходящая версия. Последней строкой генерируется сертификат клиента. Следующие файлы нужно пока сохранить себе на комп через WinSCP: /etc/openvpn/easyrsa3/pki/private/client.key, /etc/openvpn/easyrsa3/pki/ca.crt, client.crt, /etc/openvpn/ta.key
Далее создаем файл /etc/openvpn/server.conf следующего содержимого:
mode server
tls-server
dev tap
port 664
script-security 2
tls-auth /etc/openvpn/ta.key 0
ca easyrsa3/pki/ca.crt
cert easyrsa3/pki/issued/server.crt
key easyrsa3/pki/private/server.key
dh easyrsa3/pki/dh.pem
crl-verify easyrsa3/pki/crl.pem
ifconfig 10.8.0.1 255.255.255.0
ifconfig-pool 10.8.0.2 10.8.0.254
ifconfig-pool-persist ipp.txt 0
push "route-gateway 10.8.0.1"
push "redirect-gateway def1"
push "dhcp-option DNS 77.88.8.88"
push "dhcp-option DNS 8.8.8.8"
push "sndbuf 393216"
push "rcvbuf 393216"
sndbuf 393216
rcvbuf 393216
cipher BF-CBC
tls-timeout 120
keepalive 10 120
persist-key
persist-tun
tun-mtu 1500
fragment 1300
mssfix
fast-io
verb 3
status openvpn-status.log
log openvpn.log
log-append openvpn.log
Краткое резюме конфига сервера. TAP вместо TUN я выбрал, потому что хотел соединять через этот же сервер несколько мест в одну локальную сеть - это по работе. Для этого достаточно сгенерировать дополнительные клиентские сертификаты и их настроить в клиенте вместо client.key/client.crt. Строчка выше, где присутствует build-client-full.
Режим udp (протокол udp) позволяет работать тоннелю с минимальными задержками, минуя ненужные на данном этапе процедуры гарантированной доставки, которые имеются в TCP. Пусть этим занимаются протоколы и приложения уже внутри тоннеля.
Порт 664/udp позволяет слегка "прикинуться" протоколом ASF-SECURE-RMCP. Я не знаю, зачем он нужен, но в нем есть слово SECURE, и наш тоннель зашифрован. Лучшего я не придумал. 443 (https) работает по TCP, нам неподходит. Шифрование BF-CBC является простым и легким, минимально нагружающим процессор как сервера, так и клиента. Напомню, клиент у нас - роутер, и сложное шифрование очень значительно снижает скорость работы.
Далее создадим в каталоге /etc/openvpn файл ipp.txt, и будем в него прописывать внутренние адреса наших клиентов. Пока клиент у нас один. Не то, чтобы это было необходимо, но так будет проще в будущем, если клиентов несколько.
client,10.8.0.250
Настраиваем права:
chown -R openvpn. /etc/openvpn
Включаем автозагрузку openvpn и стартуем серверную часть:
chkconfig openvpn on
service openvpn start
Если старт не удался - лезем в лог и читаем, думаем. Можно выложить ошибку в комменты, подумаем вместе. Лог у нас задан в конфиге сервера: log openvpn.log, располагается в /etc/openvpn.
Для работы в SSH-консоли пригодится уже установленный нами файл-менеджер, запускаемый одноименной командой: mc. Если кто знаком с norton commander, far или хотя бы total commander - то он проблем с использованием испытывать не будет.
Итак, серверная часть запущена. Но у нас есть только подключение к серверу, а нам надо, чтобы сервер прикинулся роутером и NAT-ил трафик. Тут нам поможет iptables, и у нас два варианта. Более классический, но не всегда работающий на OpenVZ:
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
где нужно eth0 заменить на имеющийся интерфейс, который видно командой ifconfig. Если не прокатило, то удаляем правило (-A меняем на -D) и пробуем такой вариант:
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -d 0/0 -j SNAT --to-source ВАШ_ВНЕШНИЙ_IP
Возможно, включить "таблицу nat" также нужно посредством обращения в техподдержку, если у вас OpenVZ!
Внешний ip видно все той же командой ifconfig, да и в ПУ хостера тоже. Все эти манипуляции с iptables имеет смысл делать после подключения клиента, чтобы было чем проверять результат. Когда все получилось - сохраняем конфиг iptables: service iptables save
Теперь клиент. Лезем на роутер все теми же putty и winscp. Создадим в каталоге /root каталог openvpn, скопируем в него ранее сохраненные с сервера файлы:
Файл client.ovpn нужно создать, его содержимое:
client
proto udp
remote СЕРВЕРА_IP 664
resolv-retry infinite
dev tap
remote-cert-tls server
script-security 2
tls-auth /root/openvpn/ta.key 1
ca /root/openvpn/ca.crt
cert /root/openvpn/client.crt
key /root/openvpn/client.key
cipher BF-CBC
persist-key
persist-tun
tun-mtu 1500
fragment 1300
mssfix
fast-io
verb 0
tls-timeout 120
keepalive 20 360
Если вдруг на вашем openwrt не установлен openvpn - то установите его
opkg update
opkg install openvpn-openssl
Далее приводим файл /etc/config/openvpn к виду:
package openvpn
config openvpn custom_config
option enabled 1
option config /root/openvpn/client.ovpn
И в вебморде luci включаем его:
Проверяем, изменился ли наш ip-адрес например на myip.ru. Должен быть адрес сервера vds.
Если что не так - по прежнему читаем и анализируем лог на сервере.
Теперь дополнение. Если вдруг Вам нужно пробросить какой-либо порт внутрь локалки - то пробрасывать дважды - на сервере и в роутере. С роутером сами разберетесь, а вот как на сервере, для примера:
iptables -t nat -A PREROUTING -p ПРОТОКОЛ(tcp/udp) -d ВНЕШНИЙ_IP --dport ВНЕШНИЙ_ПОРТ -j DNAT --to-destination 10.8.0.250:ПОРТ_КУДА
Не забываем service iptables save после проверки.
Писалось по памяти, что то мог забыть или где то незначительно ошибиться. Готов в комментах оказать поддержку. Также, при возникновении проблемы прошерстите комменты, вдруг ее уже решили?
Спасибо!
UPD: Выяснил, что с момента аренды сервера на самой "быстрой" по итогам тестов площадке изменились цены, но и выросли ресурсы. Теперь она за 420 р/мес предлагает 4гб озу и два быстрых ядра. В связи с чем могу абсолютно бесплатно помочь настроить серверную часть для ряда пикабушников, изъявивших данное желание.
То есть - платить Вы будете за сервер вскладчину. Но вам нужно организоваться, т.е. нужен человек, который будет собирать ежемесячно оплату и собсно оплачивать сервер, отвечать за него и т.д. Мне нехочется этим заниматься. Но настроить сервер и наделать сертификатов с конфигами я могу, повторюсь, бесплатно.
Итоги через OpenVPN:
Без OpenVPN:
Админы и разработчики, почините уже Ваше мобильное приложение!
@admin, у меня постоянно вкладка с онлайн - декодером уже открыта!)
Этот, кажущийся многим простой вопрос, на самом деле нередко становится отправной точкой в паре совершенно противоположных трактовок ситуаций на дороге по ПДД.
Тождественны ли понятия "поворот дороги" и "поворот ТС"?
Является ли рядом "поворотов" движение по серпантину под Сочи, не покидая своей полосы?
Взять кольцо (круговой перекресток) - является ли пересечение выезда в своей полосе "прямолинейным движением" или же это "поворот налево"? (да, не удивляйтесь, очень много адептов данного движения).
Хочется привести свои мысли по этому поводу.
Ве́нская конве́нция о доро́жном движе́нии — международный договор, который был заключён с целью повышения безопасности дорожного движения посредством стандартизации правил дорожного движения. Конвенция была разработана во время конференции ЮНЕСКО с 7 октября по 8 ноября 1968 года в Вене. Одновременно на конференции была разработана Венская конвенция о дорожных знаках и сигналах.
Позднее, а именно 1 мая 1971 года, договор был дополнен в Женеве. [вики]
Данный международный договор был ратифицирован (подписан) РФ. По конституции РФ, международные договора имеют приоритет над местными, если расходятся с ними во мнении.
В ней есть такой вот замечательный пункт:
СТАТЬЯ 14 Общие предписания, касающиеся маневров
1. Водитель, который намерен выполнить какой-либо маневр, как, например, выехать из ряда транспортных средств, находящихся на стоянке, или въехать в него, принять вправо или влево на проезжей части дороги, в частности, чтобы переменить полосу движения, выполнить поворот направо или налево для выезда на другую дорогу или для въезда в придорожное владение, должен начинать этот маневр только после того, как он убедится, что может это сделать, не подвергая опасности тех пользователей дороги, которые следуют позади него, впереди или навстречу, и с учетом их положения, направления движения и скорости.
Также в конвенции есть еще немало отсылок подобного толка. Итак, первый вывод - поворотом является маневр, связанный с выездом на другую дорогу либо въездом в придорожную территорию.
При этом маневр совершенно не связан с "кручением руля", как любят говорить многие олдфаги.
Я могу крутить руль и ехать прямо, и не крутить руль и повернуть направо.
Маневр - изменение направления ТС (транспортного средства) относительно дороги, по которой движется ТС и его последнего прямолинейного участка пути (опять же относительно дороги). Смена ряда - есть маневр. Движение в своем ряду, в "повороте дороги" - не есть маневр.
Давайте обсудим такую и схожие точки зрения?
Если кто помнит, я участник джип-клуба, и сейчас у всех джиперов страны есть проблемы с ГИБДД.
Некоторые действия сотрудников полностью оправданы и законны (или даже оправданны, пусть и с огрехами в законности), хламу и опасным вещам не место на дороге. Но некоторые - нет.
Простой запрос в интернет-приемную.
Запрос: почему ГИБДД руководствуется приложением к ПДД, которое противоречит (указал конкретно в чем) ТР ТС 018/2011, несмотря на то что ТР ТС - приложение к международному договору о ЕЭС, а по конституции РФ в спорах НПА приоритет отдается международным договорам?
Ответ: да, сотрудники пользуются приложением к ПДД. Здравствуйте.
Кому интересны детали - мой старый пост: http://pikabu.ru/story/kak_vse_uazyi_stali_vne_zakona_ili_ka...
Выжатая суть: заводом-изготовителем авто разрешен суммарный люфт до 20 градусов (10 на руле). Машина имеет одобрение к использованию на дорогах. ГИБДД может поставить (и ставят!) на ШС новую машину или машину с полностью новыми комплектующими и максимально перебранную отличными мастерами, специально под ГИБДД.
Но суть текущего поста в другом. На вопрос: "почему" дается ответ официальным лицом: "да". Это нормально?
И к тому же - этот запрос я отсылал в Москву. Пробив, по какому адресу я зарегистрирован - спустили по месту..
Кого спрашивать дальше? Посоветуйте.
Помните некоего @deadrat, героя поста http://pikabu.ru/story/kak_byidlo_delalo_mir_luchshe_4361954 ?
Он вернулся, встречайте! Готов рвать анусы антиобочечникам и прочим "стукачам".
Ну и двойной мультиакк - комбо :)
Когда уже каникулы закончатся? Извините за мат - слегонца подгорело. Диван целый )
К сожалению, я в игноре у данного персонажа. Сам, конечно, тоже его акки в игнор добавлял периодически, когда фейспалм не налазил на голову.
Позовите клоуна в комменты пожалуйста. Если он придет - пусть напишет мне на почту, мой ник [@] майлру.
Я готов с ним встретится, если не придется далеко ехать, и посмотреть в прыщавое лицо школьника. Бить не буду - убогих не бьют.
Встречайте разрыв шаблона - быдло ищет справедливости!
Давеча запилил товарищ очередной пост про этих гнид, обочечников. В каментах, как всегда, рвало пуканы.
И встретил я интересного персонажа. Итак, аплодисменты - обочечник, который хочет сделать мир лучше!
Вот так вот в наше время быдло делает мир лучше, господа. Я в печали!
Удачи на дорогах, и поменьше обочечников и прочих тварей.
* Тварь - так называют обочечников 79% жителей Пикабу.