среда, 17 октября 2018 г.

Тонкий клиент для старого железа и новых компьютеров

На нашей планете написано некоторое кол-во ПО, реализующего функции "тонкого клиента", как отделные программ, так и готовые образы для CD/FLASH/HDD. И у них, как и другого ПО есть свои сильные и слабые стороны. Некоторым для работы нужен TFTP для получения конфигурации, другим для получения полного образа ОС. Некотых нужно собирать самому в конфигураторе и использовать получившийся образ, другие продаются за деньги и для их эксплуатации нужен опытный админ, а иных нужно долго и нудно допиливать и не факт, что получится то, что подразумевалось.
У меня было что-то подобное. Головная организация внезапно решила запустить терминальную ферму на новейшей версии MS Windows задействовав, ко всему прочему, безопасность, как ее понимает MS, по максимуму. Текущее, еще вполне рабочее оборудование, приказало долго жить. В конечном итоге, высокие договаривающиеся стороны пришли к компромисному решению, и это решение было практически отличным.
Но пока суть да дело, у низшего звена, стоящего на иерархической лестнице чуть выше тети Маши уборщицы, возникла мысль собрать что-то простое, работающиее практически на всем, что может загрузится с USB, без дополнительных серверов, сложных подготовительных операций и всего такого прочего, работающего как в домашней обстановке, так и в корпоративной среде, имеющего возможность обновления не зависимо от даты выпуска.

Тех. условия:
Загрузка с USB;
Простота действий для подключения к терминальному серверу;
Получения данных о терминальных серверах из файла на флэшке или по сети с FTP/HTTP;
Минимальное кол-во обращений для записи на флэшку во время работы;
Неизменность конфигурации при действиях пользователя;
Отсутствие боязни проподания электроэнергии.
Прокидывание локальных дисков в терминальную сессию;
Общий буфер обмена для нескольких сессий;

После некоторых проб и ошибок в качестве ОС была выбрана Linux tinycore - минималистическая ОС, вполне подходившая под наши запросы.
Было написано некоторое кол-во скриптов, осуществляющих создание рабочей среды во время загрузки и проведены полевые испытания.

В конечном итоге получился двоичный образ, который можно залить на флэшку (размер от 1ГБ) любой утилитой, для этого предназначенной - dd, rufus, Win32DiskImager и т.д., загрузится и радоваться жизни.

Немного подробностей:
Флэшка на FAT32 (конф. файлы могут модифицироваться под Windows). На ней есть каталог tce/CONFIG с небольшим кол-вом конф. файлов.
А именно:
- zip архив rdc.zip с информацией о терминальных серверах и параметрах подключения (файлы в архиве являются выполняемыми скриптами, осуществляющими выбор сервера пользователем и подключение к нему, поэтому все параметры сразу видны и если потребуется, вдруг, смена клиента RDP можно просто установить клиента и изменить под него скрипт) . Этот же zip архив может быть получен при загрузке с FTP/HTTP (если указать его в качестве источника в файле source вместо фразы local).
- файл-флаг ssh для загрузки sshd при старте.
- файл-флаг vnc для загрузки vnc при старте.
- файл-флаг log для записи лога старта.
- файл-флаг sendemail для отсылки письма на некоторый  адрес с информацией о параметрах загрузившейся ОС - ip address и т.д.

При загрузке корневая система монтируется в RAM, а приложения пользователя монтируются к корню как отдельные FS в режиме "только чтение". Т.о. при перезагрузке все то, что было изменено пользователем теряется и ОС загружается чистой и шелковистой (для применения изменения необходимо запустить скрипт с правами рута).

Интерфейс пользователя минималистичен:

Пункт "ScreenShot send" создает скриншот и отсылает его и доп. информацию на адрес, указанный в конф. файле sendemail. Остальные пункты интуитивно понятны.

Интерфейс подключения к терминальным серверам:


Учетные данные:
ssh: root/tc-tiny
vnc: vnc3?

Сохранить изменения: /opt/1Create_backup.sh, при этом будет создана резервная копия текущего и прошлого состояния.

Образ лежит здесь.




воскресенье, 5 июня 2016 г.

Как я создавал свой домашний анонимайзер

Истерия относительно анонимности и безопасности сети мне кажется несколько раздутой. Поэтому я преследовал чисто техническую идею реализации собственного анонимайзера, а не желание скрыть все и вся от чужих глаз.
Итак, задача такова - получить доступ к ресурсам сети Интернет с адреса, отличного от адреса, который мне предоставил локальный провайдер сети Интернет.
Вариантов реализации существует масса - аплеты для браузеров, публичные прокси, включение турбо режима в браузере, анонимные VPN сервера, TOR и т.д.
Но практически во всех случаях в процессе участвует сторонний сервис, на котором нужно регистрироваться, запускать на компе стороннее ПО и другие заморочки.
После некоторого осмысливания вариантов становился на варианте - покупка в минимальной конфигурации серверного контейнера VPS (установка VPN сервера), плюс домашний роутер в качестве VPN клиента.
В качестве хостера контейнера выбрал host1plus (вариантов VPS хостеров тоже море)

    256MB ОЗУ
    20GB Диск
    0.5 Core
    500GB Трафик в месяц
    Фиксированный белый адрес

Цена за месяц $2.5.
В качестве ОС CentOS 6 x86. В качестве домашнего роутера Mikrotik.
В качестве VPN сервера - OpenVPN. Вначале поставил PPTP, но наблюдались проблемы с GRE пакетами, хотя конечно, практически в любой ОС и в любом роутере есть нативный клиент для PPTP.
Иии, газ до упора, а там поглядим, приступим.
1.Подключаюсь к консоли сервера (использую putty), ставлю mc, создаю правила для пакетного фильтра (прикрыться не грех):
-----------------------------------------------------------------------------------
#!/bin/sh

ipt="/sbin/iptables"

$public_eth1="venet0" #Здесь имя сетевого интерфеса моей системы

logger -t rc.local "FW Start..."
echo "FW Start..."

$ipt -t filter -F
$ipt -t nat -F
$ipt -t mangle -F
$ipt -t filter -X
$ipt -t nat -X
$ipt -t mangle -X
$ipt -Z

$ipt -P INPUT DROP
$ipt -P OUTPUT ACCEPT
$ipt -P FORWARD DROP

if [ -e /proc/sys/net/ipv4/conf/all/accept_source_route ]; then
    for i in /proc/sys/net/ipv4/conf/*/accept_source_route; do
        echo "Disable source routing of packets: $i"
        echo "0" > $i;
   done
fi

if [ -e /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts ]; then
    echo "Ignore any broadcast icmp echo requests"
    echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
fi

if [ -e /proc/sys/net/ipv4/ip_forward ]; then
    echo "Enable IP Forwarding"
    echo "1" > /proc/sys/net/ipv4/ip_forward
else
    echo "Uh oh: /proc/sys/net/ipv4/ip_forward does not exist"
    echo "(That may be a problem)"
    echo
fi


#Loopback trafic
$ipt -t filter -A INPUT -i lo -j ACCEPT

$ipt -N in_packets
$ipt -N in_public_if
$ipt -N in_vpn_if
$ipt -N fwd_packets
$ipt -N fwd2public4vpn
$ipt -N fwd2vpn4public

echo "All output pakets"
$ipt -A OUTPUT -j ACCEPT


echo "All input pakets"
$ipt -A INPUT -p tcp --tcp-flags ALL FIN,URG,PSH -j LOG --log-prefix "inpt:ALL FIN,URG,PSH "
$ipt -A INPUT -p tcp --tcp-flags ALL FIN,URG,PSH -j DROP
$ipt -A INPUT -p tcp --tcp-flags ALL ALL -j LOG --log-prefix "inpt:ALL ALL "
$ipt -A INPUT -p tcp --tcp-flags ALL ALL -j DROP
$ipt -A INPUT -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j LOG --log-prefix "inpt:ALL SYN,RST,ACK,FIN,URG "
$ipt -A INPUT -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j DROP
$ipt -A INPUT -p tcp --tcp-flags ALL NONE -j LOG --log-prefix "inpt:ALL NONE "
$ipt -A INPUT -p tcp --tcp-flags ALL NONE -j DROP
$ipt -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j LOG --log-prefix "inpt:SYN,RST SYN,RST "
$ipt -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j DROP
$ipt -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j LOG --log-prefix "inpt:SYN,FIN SYN,FIN "
$ipt -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP
$ipt -A INPUT -p tcp --tcp-flags SYN,ACK,FIN,RST  RST  -m limit --limit 15/minute -j in_packets

$ipt -A INPUT -j in_packets
$ipt -A INPUT -m limit --limit 60/minut --limit-burst 180 -j LOG --log-prefix "input: "
$ipt -A INPUT -j REJECT

echo "All forward"
$ipt -A FORWARD -j fwd_packets
$ipt -A FORWARD -m limit --limit 60/minut --limit-burst 180 -j LOG --log-prefix "forward: "
$ipt -A FORWARD -j REJECT

echo "Input pakets on interface"
$ipt -A in_packets -i $public_eth1 -j in_public_if
$ipt -A in_packets -i $public_eth1 -m limit --limit 60/minut --limit-burst 180 -j LOG --log-prefix "in_public_if: "
$ipt -A in_packets -i $public_eth1 -j REJECT

$ipt -A in_packets -i tun0 -j in_vpn_if
$ipt -A in_packets -i tun0 -m limit --limit 60/minut --limit-burst 180 -j LOG --log-prefix "in_tun0_if: "
$ipt -A in_packets -i tun0 -j REJECT

echo "From vpn to public"
$ipt -A fwd_packets -i tun0 -o $public_eth1 -j fwd2public4vpn
$ipt -A fwd_packets -i tun0 -o $public_eth1 -m limit --limit 60/minut --limit-burst 180 -j LOG --log-prefix "fwd2public4vpn: "
$ipt -A fwd_packets -i tun0 -o $public_eth1 -j REJECT

echo "From public to vpn"
$ipt -A fwd_packets -o tun0 -i $public_eth1 -j fwd2vpn4public
$ipt -A fwd_packets -o tun0 -i $public_eth1 -m limit --limit 60/minut --limit-burst 180 -j LOG --log-prefix "fwd2vpn4public: "
$ipt -A fwd_packets -o tun0 -i $public_eth1 -j REJECT


echo "Input pakets"
echo "Input pakets on eth public"
$ipt -A in_public_if -p udp --sport domain --dport $public_port -j ACCEPT
$ipt -A in_public_if -p tcp --sport domain --dport $public_port ! --syn -j ACCEPT
$ipt -A in_public_if -p tcp --sport $public_port --dport auth -j REJECT
$ipt -A in_public_if -p tcp --sport $public_port -m multiport --dports ssh,443 -j ACCEPT
$ipt -A in_public_if -p tcp --dport $public_port -m multiport --sports ftp,ftp-data,http,https -j ACCEPT
$ipt -A in_public_if -p icmp -j ACCEPT

echo "Input pakets on vpn int"
$ipt -A in_vpn_if -p tcp --sport $public_port -m multiport --dports ssh -j ACCEPT
$ipt -A in_vpn_if -p icmp -j ACCEPT

echo "Pakets forward"
echo "From vpn to public"
$ipt -A fwd2public4vpn -j ACCEPT

echo "From public to vpn"
$ipt -A fwd2vpn4public -j ACCEPT

echo "MASQUERADE"
$ipt -t nat -A POSTROUTING -s 10.1.0.0/24 -o $public_eth1 -j MASQUERADE
-----------------------------------------------------------------------------------

В родном репозитарии CentOS нет OpenVPN поэтому подключаю репозитарий внешний и ставлю OpenVPN:

-----------------------------------------------------------------------------------
wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.i686.rpm
rpm -i rpmforge-release-0.5.3-1.el6.rf.i686.rpm
yum update
yum install -y openvpn
-----------------------------------------------------------------------------------

Конфиг сервера в /etc/openvpn/server.conf

-----------------------------------------------------------------------------------
dev tun
port 443
proto tcp
server 10.1.0.0 255.255.255.248
management 127.0.0.1 23

ca /etc/openvpn/ca.crt
cert /etc/openvpn/server.crt
key /etc/openvpn/server.key
dh dh1024.pem

status /var/log/openvpn/openvpn-status.log
log-append  /var/log/openvpn/openvpn.log
verb 3
persist-tun
persist-key

user root
group nobody

duplicate-cn

username-as-common-name
plugin /usr/share/openvpn/plugin/lib/openvpn-auth-pam.so "login login USERNAME password PASSWORD"

#comp-lzo

topology subnet

sndbuf 0
rcvbuf 0

keepalive 10 120
max-clients 50
ping-timer-rem
inactive 1800

push "sndbuf 393216"
----------------------------------------------------------------------------------

для работы сервера требуются сертификаты для сервера и клиента, но расписывать здесь про это смысла нет - в инете полно примеров создания сертификатов для OpenVPN.
Необходимо создать каталог для логов сервера: /var/log/openvpn
Запускаю сервер  service openvpn start, ошибок нет, сервер запустился и ждет подключений.

2.Теперь очередь Mikrotik. Железка приятная для меня по многим показателям. Надежен, производителен, удобен в настройке и управлении.
Импортирую клиентский сертификат, затем клиентский ключ.

С клиентским сертификатом все. Теперь нужно создать клиентский интерфейс для OpenVPN сервера:

В поле "Connect To:" указываю IP адрес на котором поднят мой OpenVPN сервер.
Если отметить "Add Default Route", то весь трафик будет уходить через созданный интерфейс, но это не всегда удобно, на мой взгляд, удобнее создать дополнительные правила маршрутизации, например по источнику или по цели или использовать маркировку пакетов.
Например, нужно сделать чтобы хост с адресом 192.168.1.20 шел в Интернет через анонимайзер, а остальные стандартным образом. Создаю правило для маршрутизации:

И дополнительный маршрут, который использует таблицу маршрутизации my-host:

Теперь хост с адресом 192.168.1.20 будет общаться с внешним миром через анонимайзер.
Если же необходимо использовать анонимайзер для определенного серверов в сети Интернет (например 2.3.4.5), то правило маршрутизации будет выглядеть следующим образом:

И последним пунктом - необходимо включить маскарадинг на клиентском интерфейсе:

понедельник, 29 февраля 2016 г.

Как я заказывал точильный станок для ножей ЕРМАК через интернет

Периодически возникает потребность в заточке ножей. У многих возникает такая потребность. Чего проще, беру бытовую точилку, три четыре движения туда-сюда, и вуаля, нож заточен. Режет лучше чем раньше, но... не надолго и лезвие, при близком рассмотрении, все какое то "рваное". Ну что ж, в следующий раз беру точильный брусок, делаю возвратно-поступательные движение (с детства применяемый способ) и нож заточен. Получше чем первый вариант. Но всегда огорчали царапины на лезвии ножа после заточки. Пробовал на электрическом точильном станке станке, но уж больно быстро "слизывается" полотно ножа. Наверное, у опытного слесаря такая операция не вызовет проблем, но у меня не получалось сделать, как мне хотелось.
Как то на работе краем уха услышал отрывок разговора наших ножевых "маньяков" о заточке ножей. Заинтересовался, подошел, поспрашивал. Так для меня открылся мир заточных станков для ножей. Не долго думая, доверяя мнению "маньяков", купил набор Lansky. И только потом стал читать по этому вопросу. Информации вагон, но большая часть одно и тоже, изложенное в разных вариантах.
Подготовивишись теоретически принялся за практическую часть. Первый нож заточил отлично... Режет просто чудо! Но, когда эйфория спала, оказалось что не совсем верно выставил направляющие для камней и угол получился совершенно не тот, который планировался.
Но мы не привыкли отступать, нам расколоть его поможет киножурнал "Хочу все знать" (шутка). Вторая попытка оказалась более удачной. После окончания заточки помыл нож, стал вытирать кухонным полотенцем и... порезался. Одно неосторожное движение и нож разрезал несколько слоев вафельного полотенца и зацепил кожу на пальце. Разрез был короткий, но чертовски глубокий. Даааа.
Заточил кухонные ножи. Жена прочувствовала. Восторг!
То же произошло и с тещей.
Зачем я все это пишу? Просто пока не попробовал заточку на станке, разница в заточке не могла проявится. Попробуйте, ощутите разницу.
А вот теперь о главном. Lansky вещь хорошая, но все же не полноценный станок. Захотелось большего. Захотелось полноценного станка, с нормальными камнями, с удобным креплением полотна. В интернетах полно предложений готовых станков и инструкций, как самому сделать станок. Но большая часть предложений либо не сильно отличались от Lansky, либо имела заоблачные цены (еще и камни нужны, они тоже не копейки стоят, о водных вообще молчу). И однажды на оружейном форуме наткнулся на фото станка, выглядевшего пришельцем из будущего. Пошел на сайт источника фото. Дааа, это что-то. На мой взгляд  - отличный дизайн, широкий функционал, удобный крепеж полотна. Вызвало сомнение использование материала - что вроде оргстекла (надеюсь, не сильно ошибся, полимер в любом случае), распилка на лазерном станке. Но вроде как отзывы были положительные.
А вот дальше пошел русский реализм. Цена за не топовую модель, но и за не самую младшую почти 25тыс. руб. Для меня цена высоковата. Но скрепя сердцем все же решился купить. Написал изготовителю письмо с просьбой о покупке. Оказалось срок изготовления ДВА месяца. Два!!! Вот жеж. В то время, как наши корабли бороздят просторы космоса, а тут такие сроки. Но... согласился.
Терпеливо жду, прошел положенный срок, никакой информации нет. Набрался наглости написал сам. Оказывается, изготовитель болел почти месяц и выполнение заказа откладывается. Но клиенту ни гу-гу. Ну ладно, все мы привыкли к наплевательскому отношению со стороны продавцов, перетерплю.
Сегодня пришло письмо от изготовителя, что станок "почти готов" и можно произвести оплату... по номеру банковской карты, через WEBMONEY или QIWI.
Мне нужно послать 25 тысяч на "деревню дедушке".
Постойте, говорю, а как же счет, чек или еще что, как же мне быть в случае каких либо проблем при проверке товара или его пересылке?
В ответ  -"хотите докумены, платите как юр. лицо - цена на 15% выше".
"Так как мне быть без чека на руках".
И тут же ответ - "Нет проблем, заказ снимается".
Ну ладно.
Пишу в ответ - "Ну что ж, так и запишем - ведете коммерческую деятельность в обход налоговых органов."
И... мне присылаются реквизиты для оплаты как юр. лицу с ценой на 15% больше. Но я не юр. лицо и такую оплату провести вряд ли смогу.
Да, и оплата пересылки товара за мой счет. И я должен указать реквизиты паспорта, кроме ФИО и адреса.
Возможно изготовитель и порядочный человек и все сделает по честному. Но какие гарантии я получу? Никаких, кроме "честного благородного слова". Смешно. И какие у меня возникнут эмоции от такого общения?
В общем от общения с изготовителем остались пренеприятные ощущения.
Когда я был маленьким, таких людей, называли хапугами. ИМХО. Да есть бизнесмены, заботящиеся о своем бизнесе, а есть хамоватые хапуги, которым плевать на покупателя.
Вот такие дела.
Сайт изготовителя: http://ermak-laser.ru
Общался с: Юрий Тамазин ermak333@mail.ru

вторник, 2 декабря 2014 г.

Обзор и тестирование Mikrotik cAP 2n

Беспроводная точка доступа Mikrotik cAP 2n была специально приобретена для проверки механизма бесшовной маршрутизации клиентов Wi-Fi.
Пластик корпуса достаточно качественный - прочный и довольно толстый. Со стороны разъемов стоит заглушка, выломав которую можно уложить в нее кабель., дабы корпус ровно прилегал к поверхности.
Питание уст-ва осуществляется только с помощью пассивного POE.
Внутри корпуса установлена плата с распаянными на ней двумя антенами:
Честно сказать конструктив антен меня не впечатлил - уж больно они маленькие, в таком корпусе можно было бы и посущественнее антены поставить - тестирование на деле покажет что почем...
Все измерения сделаны с помощью бесплатного софта на Андроиде, поэтому точность будет не слишком высока, но порядок, думается, будет возможность оценить.
Итак, полигон:
Двухэтажное кирпичное здание, двери - картон, центральные коридоры вдоль (длина примерно 16м), по обе стороны комнаты, с торцов здания лестничные марши. Точки доступа установлены - на первом этаже 951G-2HnD в комнате в центре коридора, на втором этаже cAP 2n в комнате в начале корридора.
 Кроме того все здание покрывается своей офисной Wi-Fi сетью из 7 точек доступа - будут служить в качестве фактора помех.

В качестве клинта используется смарт с Андроидом и планшетник с программой сканирования Wi-Fi сетей.
Будет использоваться два режима управления:
1.Две точки доступа с одинаковым SSID соединены с сетью кабелем.
2.Две точки доступа с управлением через CAPsMAN соединены с сетью кабелем.

Настройки Wi-Fi одинаковы для всех тестов: режим ap bridge, тип 2Гц - b/g/n 20/40Мц Се WPA2/PSK AES, частота канала - авто, протокол 802.11, страна - Россия, DFS - radar detect, дистанция - indoors, остальное по умолчанию. Настройки мощности передатчика специально не трогал...
Результаты:
Уровень сигнала в метре от 951G-2HnD -40дБ, cAP 2n -45дБ
Уровень сигнала в метре от 951G-2HnD для cAP 2n -100дБ
Уровень сигнала в метре от cAP 2n для 951G-2HnD -100дБ
Уровень сигнала на середине одного лестничного марша: 951G-2HnD -65дБ, cAP 2n -100дБ, другого: 951G-2HnD -82дБ, cAP 2n -63дБ .
Уже из такого распределения мощности сигнала видно, что  951G-2HnD по умолчанию излучает более мощный сигнал.

Процесс измерения заключалось в запуске ping 100 пакетов (интервал 1 сек) размером 300 байт на хост в сети (подключение ethernet) и неспешном движении по кругу по корридорам здания. Движение началось от комнаты с 951G-2HnD.
100 пингов заняли два круга, за это время смарт четыре раза переключился с одной AP на другую. Переключение происходило в зоне лестничных маршей.
1. Было потеряно 4 пакета из 100. Задержки - min 1.2/avg 210/ max 3090.
2. Было потеряно 4 пакета из 100. Задержки - min 1/avg 126/ max 1269.

Еще раз повторюсь - данные измерения совершенно не претендуют на лабораторные.
Мой вывод - в описанных условиях при одинаковых настройках на AP переключение не зависит от наличия CAPsMAN.


понедельник, 17 марта 2014 г.

Выбор и установка бортового компьютера Vapor TRIAL TECH (далее приборка) на Yamaha BWS 100



Немного смешно выглядит  желание установить бортовой компьютер на скутер, но так как сам с электроникой с детства на ты, решил желание не душить и просто поставить.
Долго перебирал разные модели электронных приборок - Koso, Vapor, Stage и т.д. Цены кусачие, купить локально проблематично, ехать, как в старые времена за всем в Москву не хотелось...
В конце концов, остановился на Trail Tech Vapor - весь нужный мне функционал присутствовал - одометр, спидометр, часы, тахометр, напряжение в бортовой сети, есть батарейка для хранения. Дополнительную панель с индикаторами решил не брать, т.к. собирался поставить электронную приборку в параллель со стоковой.
Цена более/менее, купить решил напрямую у производителя. Но возникло маленькое затруднение - производитель выпускает сам корпус и периферию (датчики, соединительные провода, болты крепежа датчиков) комплектами под конкретную модель транспортного средства. Под мой скут комплекта не было. Также на сайте нет данных по длине проводов, диаметре болтов и т.д. - возьми готовый комплект под свой мот и будет тебе счастье. Пришлось брать дополнительный кит, содержащий детальки как раз для такого случая. Выбор модели приборки делал на основании наиболее узкого и дорого места - диаметр кольца датчика температуры двигателя - ставится вместо стандартного кольца под свечу зажигания. У меня 14 мм, от него и танцевал - Vapor Kit: 752-4016 (Black). Дополнительно взял Magnet Kit: Generic 704-01, это дополнительный комплект болтов разной длины и диаметра - используются как источник магнитного поля для датчика скорости. Повезло - нужный мне болт (диаметр 8мм) в комплекте был. Общая стоимость с доставкой в Россию получилась $244.49.
Посылка пришла примерно через 12 дней, привезла UPS Worldwide Expedited. При получении удивился размерам посылки - очень маленькая, на мой взгляд, оказалась. Спустя некоторое время закрались сомнения, что промахнулся с моделью, уж дюже невелика приборка по сравнению со стоковой. Поискал в инете и нашел уже в установленном виде - вроде так и должно быть.
Установка особых трудностей не вызвала. Вырезал в щитке прямоугольное отверстие под крепеж корпуса (в комплекте идет под разный диаметр трубы руля). Коротковаты хвосты с разъемами - оказались в узком месте, вошли с некоторым трудом. Кабель для датчика температуры слишком короткий, пришлось нарастить - использовал пайку. Провод для тахометра не стал накручивать на бронепровод (и такой вариант возможен), положил на контакт катушки зажигания, сверху надел разъем идущий от зажигания.
Датчик температуры в колодце свечи размещается с трудом - мешает кожух воздушного охлаждения - пришлось немного подпилить его в месте выхода провода датчика из колодца. После установки свечи провод прижался резиновым чехольчиком, который надевается на свечу для защиты от грязи.
Питания взял с выхода замка зажигания - приборка запитывается от аккумулятора скута только при включенном зажигании, остальное время на своей батарейке. При включении зажигания подсветка на приборке горит постоянно (возможно это настраивается, но пока не нашел где).
Суммарно больше всего времени потратил на установку датчика скорости. Датчик у Vapor свой, магнитный, у данной модели ставится на переднее колесо с дисковым тормозом слева. Убирается один стоковый болт крепления диска тормоза, вместо него ставится болт из дополнительного кита (содержит в головке болта магнит). Вот с креплением датчика пришлось немного повозится - комплект не рассчитан на мой скут. Вначале попытался вырезать скобу из куска металла, но поскольку в слесарном инструменте ограничен - приличного качества добиться не удалось. Тогда пошел другим путем. В магазине крепежа купил перфорированный уголок 35х10мм. Рассверлил крайнее отверстие до диаметра 8мм, с другой стороны уголка отрезал 15мм. Собрал, крутанул колесо - индикатор скорости показал что датчик работает.

Осталось покрасить эмалью в черный цвет. Ходовые испытания - весной :).

Немного о настройке приборки:


CURRENT SPEED (SPD) - текущая скорость
REVS PER MINUTE (RPM) - обороты двигателя в минуту
RPM BAR GRAPH – графическое представление оборотов двигателя
MAXIMUM SPEED (MS)  - максимальная скорость
DISTANCE (DST) - пройденное расстояние
STOP WATCH (TT) секундомер
ODOMETR (ODO)  - пробег
RIDE TIME (RT) - продолжительность работы двигателя
ACCUM. RIDE TIME (ART) – общая продолжительность работы двигателя
LOW BATTERY (LO)  - низкий уровень заряда батарейки
TIRE SIZEдлина покрышки по окружности того колеса, на котором стоит датчик скорости.
PULSES PER REVOLUTION (PPR) – кол-во импульсов на один оборот коленвала

Кнопки:
«MODE» - переключение между экранами информации.
«LEFT»+ «MODE» - сброс значений максимальной скорости ,пройденного расстояния, секундомера, максимальной температуры двигателя и максимальных оборотов
«RIGHT» - переключение между свойствами в нормальном режиме.
«MODE» в течении 3 сек. – изменение пройденного пути
«LEFT»+ «MODE»+ «RIGHT» - вход в режим настроек
            «MODE» - переход к следующим параметрам
            «LEFT» - увеличения значения
            «RIGHT» - перейти к следующему знакоместу

Последовательность операция при настройке Vapor:

1.«LEFT»+ «MODE»+ «RIGHT» в течении 3 сек
2.Установить единицу измерения пробега нажимая «RIGHT», затем «MODE».
3.Установить длину окружности покрышки колеса, на котором стоит датчик скорости, нажимая «RIGHT», переход к следующей позиции «LEFT», затем «MODE».
4.Установить 24 и 12 часов режим часов нажимая «RIGHT», затем «MODE».
5.Установить время нажимая «RIGHT», переход к следующей позиции «LEFT», затем «MODE».
6.Установить кол-во импульсов на один оборот коленвала, нажимая «RIGHT», переход к следующей позиции «LEFT», затем «MODE», возможные значения – 0.5, 1, 2.
7.В следующем разделе можно установить кол-во импульсов в зависимости, от оборотов коленвала нажимая «RIGHT», переход к следующей позиции «LEFT», затем «MODE».
8.И в этом разделе то же, если в предыдущем что-то ввели.
9.Установить единицу измерения температуры нажимая «RIGHT», переход к следующей позиции «LEFT», затем «MODE».
10.Установить значение температуры, при котором зажигается левый предупреждающий индикатор, нажимая «RIGHT», переход к следующей позиции «LEFT», затем «MODE», по умолчанию 90 градусов.
11.Установить значение температуры, при котором зажигается правый предупреждающий индикатор, нажимая «RIGHT», переход к следующей позиции «LEFT», затем «MODE», по умолчанию 110 градусов.
12.Установить значение оборотов, при котором зажигается левый предупреждающий индикатор, нажимая «RIGHT», переход к следующей позиции «LEFT», затем «MODE», по умолчанию 6000.
13.Установить значение оборотов, при котором зажигается правый предупреждающий индикатор, нажимая «RIGHT», переход к следующей позиции «LEFT», затем «MODE», по умолчанию 10000.

В нормальном режиме нажатие на «MODE» приводит к циклическому переключению между тремя информационными экранами:
Первый экран: текущая скорость, одометр, текущее время, температура окружающей среды, графический индикатор оборотов.
Второй экран: текущая скорость, обороты, секундомер, время в пути, температура двигателя, графический индикатор оборотов. Переключение между секундомером и временем в пути - «RIGHT».
Третий экран: максимальная скорость, максимальные обороты, общее время в пути, одометр, максимальная температура. Переключение между общим временем в пути и одометром - «RIGHT».

среда, 18 декабря 2013 г.

Тонкий клиент (ТК) Wyse C10LE


Потребовалось сменить ТК на более новые, т.к. существующие уже не поддерживались производителем, а W2008/Citrix требуют клиентов последних версий для нормального подключения.
Выбор пал на Wyse C10LE.
В комплекте производителем раздается софт централизованной настройки, обновления и управления ТК. Но, посмотрев его в живую, решил - "не, такое дети не хотят" © Маша и Медведь.
Решил использовать другой вариант управления - через файлы конфигурации.
Берется FTP сервер (я взял виндовый, ибо уже был), на нем создается нужная иерархия папок по умолчанию, файлы конфигурации - общий и индивидуальные.


Directory of \ftproot\wyse\wyse\wnos

12.12.2013  13:53    <DIR>          bitmap
03.12.2013  05:55         6 580 632 C10_wnos
12.12.2013  13:53    <DIR>          inc
17.12.2013  10:18             4 856 wnos.ini

 Directory of \ftproot\wyse\wyse\wnos\bitmap

28.11.2013  11:31           181 032 backgr.bmp

 Directory of \ftproot\wyse\wyse\wnos\inc

12.12.2013  13:49               316 008064ab5b87.ini

C10_wnos - новая прошивка;
wnos.ini – общий файл конфигурации;
008064abcdef.ini – файл конфигурации для определенного ТК, имя файла – MAC адрес ТК;
backgr.bmp – фоновый рисунок десктопа ТК, я использую как небольшое инфо для пользователей.

Поскольку ТК ничего не знает про FTP сервер, а всю сетевую инфу он получает от DHCP, то и рассказать ему про FTP сервер поручу DHCP:

 

 

В настройках FTP для каталога wyse запрещаю анонимный доступ, создаю пользователя wyse и даю права на данный каталог только данному пользователю на чтение.
Серверная часть закончена. Теперь файлы конфигурации. В доках на ТК есть подробное описание опций. Приведу свой работоспособный вариант, возможно, что-то не оптимально, но проблем пока не обнаружил.
Общий файл конфигурации, задает общие настройки для всех ТК, использующий данный FTP сервер:
wnos.ini
------------------------------------------------------------
AutoLoad=2

PRIVILEGE=None HideConnectionManager=no

AutoPower=no

TimeServer=192.168.0.1 DateFormat=dd/mm/yyyy

DesktopColorDepth=16

MaxVNCD=1 VNCD_8bits=yes VNCD_Zlib=no
VncPassword=passwd encrypt=no

Service=vncd disable=no Service=thinprint disable=yes Service=wdm disable=yes

SignOn=no

SysMode=classic toolbar_no_conmgr=yes

Desktop=backgr.bmp Layout=center

Shutdown=standby

WakeOnLAN=yes

Device=audio volume=high mute=1

Device=keyboard numlockoff=no

MouseNewSpeed=6

Resolution=DDC

ClearLicense=yes

Device=Ethernet Speed=Auto Warning=yes

FixLicense=clean

EnableLocal=no HideDefault=yes

NoReducer=no

SessionConfig=ALL \
unmapprinters=yes \
unmapserials=yes \
smartcards=no \
mapdisks=no \
disablesound=yes \
unmapusb=yes \
UnmapClipboard=no \
DefaultColor=1 \
FullScreen=no \
Resolution=default \
FontSmoothing=no

VNCPrompt=no

Include=$mac.ini

Connect=RDP \
Host=ts.qqq.ru \
Description="TS" \
Domainname=qqq \
LocalCopy=yes \
Rdp_No_Animation=yes \
Rdp_No_Dragging=yes \
Rdp_No_Fontsmoothing=yes \
Rdp_No_Theme=yes \
Rdp_No_Wallpaper=yes \
Resolution=default \
WyseVDA=no
------------------------------------------------------------

Теперь что касается файла конфигурации для определенного ТК, иногда нужно индивидуально задать параметры для определенного ТК, например, разрешить проброс USB накопителя с ТК в терминальную сессию. Имя файла конфигурации может быть задано несколькими способами, один из которых использование MAC адреса ТК. Узнать MAC можно на DHCP сервере, после того как ТК получит адрес, из наклейки на корпусе ТК или в окне информации после загрузки ТК.

008064abcdef.ini
------------------------------------------------------------
TerminalName=test-tc reboot=yes

Refresh=85
Resolution=1280X1024

SessionConfig=ALL \
mapdisks=yes \
unmapusb=no
------------------------------------------------------------

После загрузки с этими конфигами тонкий клиент получит одно настроено RDP соединение с именем «TS». Для удаленного доступа к ТК можно использовать любой VNC клиент, я использую:

Для подключения используется IP адрес тонкого клиента (можно узнать из окна информации на ТК или на DHCP сервере) и пароль, заданный в файле конфигурации параметром «VncPassword»
И еще, на данном ТК пароль на BIOS стоит от производителя - Fireport