27.03.2016
Остановка демона
Что может быть проще?
/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А
Статистика собрана здесь Cubieboard power usage with SATA из которой следует, что общее потребление Кубика с SATA во время копирования большого файла 1,1А. Закладываю 1,5А
16.03.2016
DNSLeak - DNSCrypt-proxy
Установить его можно, конечно, очень легко:
Причесать можно в файле конфигурации
/etc/default/dnscrypt-proxy
Но я для надёжности хочу две копии процесса на разные DNSCrypt-сервера.
Поэтому пойдём более сложным путём.
Установка LIBSODIUM
Установка расписана в документации
В таких делах, разумеется, лучше перебздеть и установить крайнюю версию.
Но у меня не получилось с GitHub-а, тогда можно, как вариант, зная желаемую версию, установить вот так:
В попытках запустить две копии с разными конфигами всякое непотребное творил. Приходилось полностью удалять установленные пакеты:
Задать можно и другие опции.
При этом, dnscrypt-proxy подсматривает в файл:
/usr/local/share/dnscrypt-proxy/dnscrypt-resolvers.csv
/usr/share/dnscrypt-proxy/dnscrypt-resolvers.csv
где сопоставлены имена серверов с их адресами и портами, ключами и всё такое - БД. Это сделано для нашего удобства! В качестве аргумента даём просто имя. Но и не забываем оберегать этот файл от изменений злыдней.
Запускается, сообщает радостные вести, но не демонизируется.
Тыркался и нашёл DNSCrypt-Loader
Установка и запуск расписаны там.
Но при попытке запуска с заданным резолвером ошибка: Loading failed.
Конфиги в директории /etc/dnscrypt-loader/ пустые.
Из исходников стало ясно, что конфиги сохраняются, если процесс запущен и работает. А из текстово-графического интерфейса стало понятно, что dnscrypt-loader не может грамотно распарсить файл /usr/local/share/dnscrypt-proxy/dnscrypt-resolvers.csv
Пришлось открыть вопрос #5
Наткнулся ещё на предупреждение, что
Установил Ванильный и всё заработало.
Посмотрим на зашифрованный запрос
1. При запуске dnscrypt-proxy получаем ошибку:
loading shared libraries: libsodium.so.4: cannot open shared object file: No such file or directory
Решение (via):
Если libsodium был установлен без ошибок, но проблема возникает, то выполняем:
Если проблема остается то выполняем:
2. При выполнении service dnscrypt start получаем:
Решение (via):
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.confinclude: "/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 можно следующим образом:
server: val-permissive-mode: yes
- Убрать запись auto-trust-anchor-file: "/var/lib/unbound/root.key", которая находится в файле /etc/unbound/unbound.conf.d.root-auto-trust-anchor-file.conf
server: module-config: "iterator"
Косяки
И тут нас ждал косяк. Список форвардов (две крайние команды) - пуст.А вернее, получаем вот такой ответ:
# 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
Подписаться на:
Сообщения (Atom)