29.04.2016

Редизайн

И снова редизайн, очередной.

Была барсетка
Фото-рамка в системнике
Была почти универсальная упаковка стяжками - Барсетка v2
И вот теперь сканер разума

Блок питания от ноутбука даёт 19В при 3,42А. Далее два DC-DC на 5В и на 12В. Радиаторы в этих режимах не очень то и нужны, но были прилеплены на КПТ-8 эпоксидкой. Термоклей так и не купил, но нашлась 10-ти минутная эпоксидка, да.

На 5В повесил две банки по 4700 мкФ. А на 12В - шесть банок по 4700 мкФ и даже этого мало.
Винт заводится со второй-третьей попытки при напряжении в 13В. На старте блинов просаживает питание до 10В. Или питатель LM2596 совсем говно, или винт сумасшедший.
Температурный режим с этим безумным винтом тоже впечатляет


Ещё в "сканере разума" встроен свитч на три живых порта и вафелька китайская. Так уж удачно случилось, что вафелька, приехав из Китая, честно отработала пол часа и откинулась по питанию. Я на неё повесил ещё 2200 мкФ и радиатор. И теперь мой кубик в сеть может выходить, как по кабелю, так и по эфиру. Причём, эфир вокруг ещё и репитится. А в USB можно всадить не открывая корпус сканера, через прорезь. Для сурового USB-гэнгбэнга приобретён 3.0 хабик на 4 порта, но в корпус сканера он пока не встал, м.б. со временем. Со временем и куллер появится, к лету.



27.03.2016

Барсетка v2

Барсетка сшита стяжками.
Имеет блок питания,
USB 3.0
и SATA 2.5




Остановка демона


















Что может быть проще?
/etc/init.d/transmission-daemon stop
В Ubunte (Armbian Legacy Ubuntu Trusty) так остановить не получится. Даже не поможет
killall transmission-daemon
start-stop-daemon -Kvx /usr/bin/transmission-daemon
Бесполезно так же закрывать через PID:
ps axu | grep transmission-daemon
pidof transmission-daemon
kill 12012 
В таком случае используем команду:
service transmission-daemon stop
Можно почитать аск How to enable or disable services?

А вот с тем же дистрибутивом Armbian Ubuntu и пакетом unbound ситуация иная - юзай killall в придачу.

Power supply

Вопрос питания затрагивался в посте Падает
Статистика собрана здесь Cubieboard power usage with SATA из которой следует, что общее потребление Кубика с SATA во время копирования большого файла 1,1А. Закладываю 1,5А

 

 

16.03.2016

DNSLeak - DNSCrypt-proxy

Установить его можно, конечно, очень легко:
add-apt-repository ppa:anton+/dnscrypt
apt-get update
apt-get install dnscrypt-proxy
и он сразу заработает на адресе 127.0.0.2
Причесать можно в файле конфигурации
/etc/default/dnscrypt-proxy
Но я для надёжности хочу две копии процесса на разные DNSCrypt-сервера.
Поэтому пойдём более сложным путём.


Установка

Для работы dnscrypt-proxy нужна библиотека Sodium crypto, установим её предварительно: 
Установка LIBSODIUM

Установка расписана в документации

В таких делах, разумеется, лучше перебздеть и установить крайнюю версию.
git clone https://github.com/jedisct1/dnscrypt-proxy.git 
cd dnscrypt-proxy 
./autogen.sh
./configure && make -j2
make install

Но у меня не получилось с GitHub-а, тогда можно, как вариант, зная желаемую версию, установить вот так:

wget http://download.dnscrypt.org/dnscrypt-proxy/dnscrypt-proxy-1.6.1.tar.gz -O - | tar -xz

cd dnscrypt-proxy-1.6.1/
./configure && make -j2
make install
>>>???>>> cp dnscrypt.conf /etc/init/
cd ..
rm -rf dnscrypt-proxy*

В попытках запустить две копии с разными конфигами всякое непотребное творил. Приходилось полностью удалять установленные пакеты:
dpkg --purge --force-depends dnscrypt-proxy


Запуск

Пробуем запустить:
/usr/local/sbin/dnscrypt-proxy -R 4armed --local-address=127.0.0.1:40 --daemonize --pidfile=/run/dnscrypt-proxy40.pid 

Задать можно и другие опции.
При этом, dnscrypt-proxy подсматривает в файл:
 /usr/local/share/dnscrypt-proxy/dnscrypt-resolvers.csv
 /usr/share/dnscrypt-proxy/dnscrypt-resolvers.csv
где сопоставлены имена серверов с их адресами и портами, ключами и всё такое - БД. Это сделано для нашего удобства! В качестве аргумента даём просто имя. Но и не забываем оберегать этот файл от изменений злыдней.

Запускается, сообщает радостные вести, но не демонизируется.
[INFO] + DNS Security Extensions are supported
[INFO] + Provider supposedly doesn't keep logs


DNSCrypt-Loader


Тыркался и нашёл DNSCrypt-Loader
Установка и запуск расписаны там.
Но при попытке запуска с заданным резолвером ошибка: Loading failed.
Конфиги в директории /etc/dnscrypt-loader/ пустые.
Из исходников стало ясно, что конфиги сохраняются, если процесс запущен и работает. А из текстово-графического интерфейса стало понятно, что dnscrypt-loader не может грамотно распарсить файл /usr/local/share/dnscrypt-proxy/dnscrypt-resolvers.csv
Пришлось открыть вопрос #5

Наткнулся ещё на предупреждение, что
Please note that on Linux systems (kernel >= 3.9), multiples instances of dnscrypt-wrapper can run at the same time. Therefore, in order to switch to a new configuration, one can start a new daemon without killing the previous instance, and only kill the previous instance after the new one started.
И понял, что устал от Ubuntu и решил, что пора перебираться на ванильный Дебиан, пожертвовав графикой.

Установил Ванильный и всё заработало.

Всяческие проверки

Список открытых портов:
netstat -lntu
netstat -anp | grep dnscrypt-proxy

Посмотрим на зашифрованный запрос
tcpdump -i eth0 port 443


Косяки


1. При запуске dnscrypt-proxy получаем ошибку:
loading shared libraries: libsodium.so.4: cannot open shared object file: No such file or directory

Решение (via):
Если libsodium был установлен без ошибок, но проблема возникает, то выполняем:
# ./configure --libdir=/usr/local/lib
Если проблема остается то выполняем:
# ln -s /usr/local/lib/libsodium.so.4 /usr/lib/libsodium.so.4

2. При выполнении service dnscrypt start получаем:
# service dnscrypt start
dnscrypt stop/waiting
Скрипт dnscrypt-proxy находится в /usr/local/sbin/dnscrypt-proxy, а скрипт его ищет в /usr/sbin/dnscrypt-proxy.

Решение (via):
# ln -s /usr/local/sbin/dnscrypt-proxy /usr/sbin/dnscrypt-proxy

The Sodium crypto library








В таких делах, разумеется, лучше перебздеть и установить крайнюю версию.
git clone https://github.com/jedisct1/libsodium.git 
cd libsodium 
./configure && make && make check
make install
ldconfig


Или, как вариант, зная желаемую версию, можно установить вот так:
apt-get update
apt-get install build-essential

wget http://download.libsodium.org/libsodium/releases/libsodium-1.0.8.tar.gz -O - | tar -xz

cd libsodium-1.0.8/
./configure && make && make check
make install
ldconfig
cd ..
rm -rf libsodium*

Установка в документации Sodium

DNSLeak - Unbound

Установка


apt-get install unbound
cd /etc/unbound
wget ftp://ftp.internic.net/domain/named.cache # Это список корневых DNS-серверов
unbound-control-setup # генерируем ключи
chown unbound:root unbound_* # хозяин
chmod 440 unbound_*
cp /usr/share/doc/unbound/examples/unbound.conf /etc/unbound/unbound.conf.default
nano /etc/unbound/unbound.conf

 

 

 

Конфигурация

/etc/unbound/unbound.conf
include: "/etc/unbound/unbound.conf.d/*.conf"
module-config: "validator iterator"

server:
  identity: "DNS" 
 version: "1.0" 
 hide-identity: yes 
 hide-version: yes 
 harden-glue: yes

 num-threads: 1 # Количество потоков
 msg-cache-size: 32m # размер кеша полученных DNS ответов
 rrset-cache-size: 64m #        кеша DNS записей
 key-cache-size: 20m # размер памяти для хранения DNSSEC ключей
 cache-max-ttl: 2678400 # максимальный срок жизни записей в кеше (24ч.*31)
 # сколько одновременных клиентских запросов сможет обработать один поток
 num-queries-per-thread: 1024
 # срок жизни записей из внутреннего кеша "неработающих" и "неправильных" DNS серверов
 infra-host-ttl: 60 
 infra-lame-ttl: 120
 # сколько различных случайных портов может использовать при проведении запросов
 outgoing-range: 512 

 verbosity: 1 # Степень вывода логов 1-4
 logfile: "/var/log/unbound.log"
 use-syslog: no

#Кому разрешено посылать рекурсивные запросы (пользоваться кешем)
access-control: 0.0.0.0/0 allow
private-address: 10.0.0.0/24 
port: 53
interface: 127.0.0.1                 # Интерфейс на котором будем слушать 53-й порт
interface: 10.10.10.10               #
interface-automatic: no              # Определять интерфейсы автоматически
outgoing-interface: 10.10.10.10      # ip адрес интерфейса, который подключен к интернет
do-not-query-localhost: no 
do-ip4: yes
do-ip6: no
do-udp: yes
do-tcp: yes

forward-zone: 
    name: "." 
#    forward-addr: 127.0.0.1@40 # dnscrypt-proxy
#    forward-addr: 127.0.0.1@41 # dnscrypt-proxy
    forward-addr: 8.8.8.8@53    # google
    forward-addr: 77.88.8.8@53  # yandex

remote-control: 
    control-enable: yes 
    control-interface: 127.0.0.1 
#    control-interface: 10.10.10.10 
    control-port: 953

server-key-file: "/etc/unbound/unbound_server.key"
server-cert-file: "/etc/unbound/unbound_server.pem"
control-key-file: "/etc/unbound/unbound_control.key"
control-cert-file: "/etc/unbound/unbound_control.pem"



Запуск и всяческие проверки

unbound-checkconf /etc/unbound/unbound.conf
service unbound restart
ps auxw | grep unbound      # процесс
netstat -anp | grep unbound # порты
nslookup mail.ru 10.10.10.10
drill -D mail.ru @127.0.0.1
drill india.com @10.10.10.10 ### 1-ое обращение
# Обращаем внимание на "Query time" при первом и последующем запуске
drill india.com @10.10.10.10 ### 2-ое обращение
elinks ya.ru    # браузер
dig ya.ru       # и как там чё?
unbound-control status
unbound-control lookup mail.ru
unbound-control stats
unbound-control dump_cache /tmp/DNS_cache.txt
unbound-control list_forwards
unbound-control forward


DNSSEC

Unbound, умеет DNSSEC, а 8.8.8.8, как и очень многие другие, в свою очередь, умеют и DNSSEC и верифицировать записи, что означает, что в случае невалидной подписи они не резолвят адреса. И тут есть подвох. Включая эту опцию (а зачем от неё отказываться?), мы должны проследить за тем. что бы наш резолвер умел работать с DNSSEC. 
dig -t any +dnssec 8.8.8.8
Отключить DNSSEC в Unbound можно следующим образом:
  1. server:        val-permissive-mode: yes 
  2. Убрать запись auto-trust-anchor-file: "/var/lib/unbound/root.key", которая находится в файле /etc/unbound/unbound.conf.d.root-auto-trust-anchor-file.conf
  3. server:        module-config: "iterator"
Плагин для Firefox: DNSSEC/TLSA Validator

 

 Косяки

И тут нас ждал косяк. Список форвардов (две крайние команды) - пуст.
А вернее, получаем вот такой ответ:
# unbound-control forward
off (using root hints)

Оказалось, что необходимо проделать следующее:
chmod -x /etc/resolvconf/update.d/unbound
Или установить RESOLVCONF_FORWARDERS=false в /etc/default/unbound

Ага, список в самом верху - это надежда выудить где и как прячется тот самый false или true, отвечающий за включение форварда. Можно сделать кастыль, отредактировав  
/etc/init.d/unbound и добавив в секцию start строку
unbound-control forward 8.8.8.8 8.8.4.4
Но окончательно психанув, я решил напрячь других, как "настоящий взрослый мужчина".
Там то мне и подсказали.

Ну и ещё при запуске демона можем получить предупреждение:
Warning: /etc/resolv.conf is not a symbolic link to /run/resolvconf/resolv.conf
Избавимся от него:
rm /etc/resolv.conf
ln -s /run/resolvconf/resolv.conf /etc/resolv.conf

10.02.2016

DNS Leak

Кто твой первый советник, тёмный лорд?    >>>    DNS Leak Test

Злоумышленник может не просто вычислить тебя по айпишнику и набить морду, но и подменить IP-адрес сайта при твоём запросе к DNS серверу. Поэтому лучше, на всякий случай, спрячем наши запросы.

Для шифрования DNS-трафика будем использовать dnscrypt-proxy. Когда я обращаюсь к более далёким товарищам с вопросом, да ещё и шифрую этот диалог, то чётко понимаю, что скорость снижается. Поэтому очень хочется кэшировать. А dnscrypt-proxy этого, естественно, не делает. Для кэширования DNS-запросов есть выбор: Dnsmasq и Unbound (и ещё плюс всякого, конечно). Первый - комбайн. Берём второй. Unbound ещё и быстр! А кэш у него хранится целиком в памяти. Вот и получается прослойка:

WAR

Готовимся к войне с хакерами
  1. Смена пароля на роутере
  2. Смена адресации локальной сети (настройка DHCP) и статического локального адреса самого роутера
  3. Маскировка DNS
  4. Transmission Blocklist
  5. VPN или SSH

02.02.2016

Обновление дистрибутива



Обновление дистрибутива Cubian до последней версии Debian на Allwinner A10/A20

sudo su
cat /etc/*release*
ntpdate-debian 
apt-get -y install debian-keyring 
apt-get update 
apt-get -y install debian-archive-keyring 
apt-get update 
apt-get install -y git
git clone https://opensourceclient@bitbucket.org/opensourceclient/prepare-cubian.git
./prepare-cubian/cubian_update-1.sh
./prepare-cubian/cubian_update-2.sh
./prepare-cubian/cubian_update-3.sh
cat /etc/*release*









Upgrade Ubuntu 12.10 (Linaro 13.04) to Ubuntu 13.10 (Linaro 14.01) and later to Ubuntu 14.04 LTS