Посты с тэгом: debian 9

Разберем как настроить связь Squid 4.9 c Active Directory через Kerberos аутентификацию и Basic LDAP авторизацию, для предоставления доступа в интернет по доменным учетным записям и разграничение прав согласно заданным группам безопасности Active Directory.

 

Исходные данные:

  • Контроллер домена (DC1) на Windows Server 2012 R2, домен JAKONDA.LOCAL
  • Прокси-сервер Squid 4.9 (squid) на Debian 9 Stretch

 

Подготовка системы (Debian 9 Stretch)

Перед началом выполнения ниже описанных действий обновляем систему до актуального состояния:

apt-get update && apt-get upgrade -y

 

Указываем FQDN (Fully Qualified Domain Name) имя системы, в файле (/etc/hostname):

squid.jakonda.local

 

Так же файл (/etc/hosts) приводим к виду таким образом, чтобы в нём была запись с полным доменным именем компьютера и с коротким именем, ссылающаяся на один из внутренних IP:

127.0.0.1	localhost
127.0.1.1	squid.jakonda.local squid

 

Настраиваем синхронизацию времени с контроллером домена, выполняем установку NTP, выполняем синхронизацию времени с контроллером домена:

apt-get install ntp ntpdate

ntpdate dc1.jakonda.local

[stextbox id=’info’]Более подробно о синхронизации времени на Debian 8 Jessie/Ubuntu Server 14.04 можно почитать в этой статье[/stextbox]

Как известно система лицензирования Microsoft штука не дешевая и поэтому рассмотрим как установить файловый сервер Samba 4.5 с интеграцией Active Directory на Debian 9 Stretch.

 

Исходные данные:

  • Контроллер домена (DC1) на Windows Server 2012 R2, домен JAKONDA.LOCAL
  • Система по файловый сервер (datastore1) на Debian 9 Stretch

 

Подготовка системы (Debian 9 Stretch)

Перед началом выполнения ниже описанных действий обновляем систему до актуального состояния:

apt-get update && apt-get upgrade -y

 

Указываем FQDN (Fully Qualified Domain Name) имя системы, в файле (/etc/hostname):

datastore1.jakonda.local

 

Так же файл (/etc/hosts) приводим к виду таким образом, чтобы в нём была запись с полным доменным именем компьютера и с коротким именем, ссылающаяся на один из внутренних IP:

127.0.0.1	localhost
127.0.1.1	datastore1.jakonda.local datastore1

 

Настраиваем синхронизацию времени с контроллером домена, выполняем установку NTP, выполняем синхронизацию времени с контроллером домена:

apt-get install ntp ntpdate

ntpdate dc1.jakonda.local

[stextbox id=’info’]Более подробно о синхронизации времени на Debian 8 Jessie/Ubuntu Server 14.04 можно почитать в этой статье[/stextbox]

В FreePBX 14 Dashboard в Mail Queue висит ошибка:

Mail Queue: Unknown output from mailq: [[“exim: permission denied”], 1]

 

Данная ошибка означает что нет доступа списку очереди exim. Чтобы исправить эту ошибку в файле конфигурации (/etc/exim4/exim4.conf.template) в секцию MAIN CONFIGURATION SETTINGS добавим параметр:

queue_list_requires_admin = false

 

Обновим конфигурацию exim:

update-exim4.conf

 

Рассмотрим как установить FreePBX 14 в связке с Asterisk 16 на Debian 9 Stretch.

 

Подготовка системы

Перед началом установки обновляем систему до актуального состояния:

apt-get update && apt-get upgrade -y

Устанавливаем необходимые зависимости:

apt-get install build-essential linux-image-amd64 linux-headers-* apt-transport-https bison flex curl sox libncurses5-dev libssl-dev mpg123 libxml2-dev libnewt-dev sqlite3 libsqlite3-dev pkg-config automake libtool autoconf git unixodbc-dev uuid uuid-dev libasound2-dev libogg-dev libvorbis-dev libicu-dev libcurl4-openssl-dev libical-dev libneon27-dev libsrtp0-dev libspandsp-dev subversion libtool-bin python-dev unixodbc dirmngr sudo apache2 mariadb-server mariadb-client default-libmysqlclient-dev -y

[stextbox id=’alert’]ВНИМАНИЕ. Обязательно перезагружаем систему и после этого продолжаем установку.[/stextbox]

 

Устанавливаем PHP версии 5.6 (для корректной работы FreePBX fwconsole):

curl https://packages.sury.org/php/apt.gpg | apt-key add -
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/deb.sury.org.list
apt-get update && apt-get install php5.6 php5.6-curl php5.6-cli php5.6-mysql php5.6-mbstring php5.6-gd php5.6-xml php-pear -y

Устанавливаем NodeJS :

curl -sL https://deb.nodesource.com/setup_11.x | sudo -E bash -
apt-get install nodejs -y
pear install Console_Getopt

Устанавливаем поддержку MariaDB ODBC

wget https://downloads.mariadb.com/Connectors/odbc/connector-odbc-2.0.15/mariadb-connector-odbc-2.0.15-ga-debian-x86_64.tar.gz
tar -zxvf mariadb*
cp -v mariadb-connector-odbc-2.0.15-ga-debian-x86_64/lib/libmaodbc.so /usr/lib/x86_64-linux-gnu/odbc/

 

Задался недавно вопросом, как можно из консоли Linux, подключится к удаленной машине с ОС Windows на борту и выполнить на ней какую либо команду (прим. «ipconfig») или запустить за ранее написанный скрипт (*.bat, *.ps1).

 

В ходе поиска решения данного вопроса, был найден инструмент Winexe, который по сути является аналогом psexec под Windows. Winexe работает в связке с Samba, поэтому последняя должна присутствовать в системе.

 

Из замеченных неудобств работы с Winexe, хочу отметить что для корректного отображения «кириллицы», необходимо конвертировать вывод в UTF-8 из cp866/cp1251. Так же в случае запуска на удаленной машине «cmd», «powershell» не работают клавиши курсора, «backspace» и возможен задвоенный ввод символов.

 

Установка будет производится на Debian 9 Stretch. В ходе установки будет использоваться Fork пакета Winexe 1.1 (https://sourceforge.net/u/mstowe/winexe/ci/v0.2/tree/), а так же версия Samba 4.5.16 из стандартные репозиториев Debian.

Рассмотрим как установить из исходников актуальную (на момент написания статьи) версию кеширующего прокси-сервера Squid 4.6 на Debian 9 Stretch.

[stextbox id=’info’]ИНФОРМАЦИЯ. Хочу сообщить что ниже описанное руководство, так же применимо к установке версии Squid 4.9.[/stextbox]

 

Подготовка системы

Обновляем систему до актуального состояния:

apt-get update && apt-get upgrade

Устанавливаем необходимые пакеты для сборки и работы squid:

apt-get install autoconf automake autopoint autotools-dev binutils build-essential cdbs comerr-dev cpp cpp-6 debhelper dh-autoreconf dh-strip-nondeterminism dpkg-dev g++ g++-6 gcc gcc-6 gettext icu-devtools intltool-debian krb5-multidev libarchive-zip-perl libasan3 libatomic1 libc-dev-bin libc6-dev libcap-dev libcc1-0 libcilkrts5 libcppunit-1.13-0v5 libcppunit-dev libcroco3 libdb-dev libdb5.3-dev libdpkg-perl libecap3 libecap3-dev libexpat1-dev libfile-stripnondeterminism-perl libgcc-6-dev libgmp-dev libgmpxx4ldbl libgnutls-dane0 libgnutls-openssl27 libssl-dev libgnutls28-dev libgnutlsxx28 libgomp1 libgssrpc4 libicu-dev libidn11-dev libisl15 libitm1 libkadm5clnt-mit11 libkadm5srv-mit11 libkdb5-8 libkrb5-dev libldap2-dev liblsan0 libltdl-dev libltdl7 libmpc3 libmpfr4 libmpx2 libnetfilter-conntrack-dev libnfnetlink-dev libp11-kit-dev libpam0g-dev libquadmath0 libsasl2-dev libsigsegv2 libstdc++-6-dev libtasn1-6-dev libtimedate-perl libtool libtsan0 libubsan0 libunbound2 libxml2-dev linux-libc-dev m4 make nettle-dev patch pkg-config po-debconf zlib1g-dev

 

Установка прокси-сервера Squid

Скачиваем исходник «squid», распаковываем его:

cd /opt/
wget http://www.squid-cache.org/Versions/v4/squid-4.6.tar.gz
tar -zxvf squid-4.6.tar.gz 
cd squid-4.6

В поисках решения организации SMS шлюза, посредством GSM-модема (прим. Huawei E1550), наткнулся на пакет «smstools», который прекрасно справляется со своими обязанностями (отправка\получение SMS).

 

Рассмотрим как развернуть пакет «smstools» на Debian 9 Stretch и настроить его на GSM-модема Huawei e1550 (так же тестировал ниже описанное на e3372h с прошивкой stick).

 

Подготовка системы

Обновляем систему до актуального состояния:

apt-get update && apt-get upgrade

 

Устанавливаем необходимые для работы пакеты:

apt-get install gcc make recode usb-modeswitch minicom

 

Подключаем GSM-модем Huawei E1550, проверяем появились ли устройства ttyUSB*:

ls -al /dev | grep ttyUSB

crw-rw---- 1 root dialout 188, 0 фев 27 11:34 ttyUSB0
crw-rw---- 1 root dialout 188, 1 фев 27 11:33 ttyUSB1
crw-rw---- 1 root dialout 188, 2 фев 27 12:37 ttyUSB2

Рассмотрим как выполнить установку из исходников Asterisk 16 на Debian 9 Stretch.

 

Подготовка системы

Перед началом установки обновляем систему до актуального состояния:

apt-get update && apt-get upgrade -y

 

Устанавливаем необходимые зависимости:

apt-get install linux-headers-amd64 gcc make autoconf libtool libical-dev pkg-config default-libmysqlclient-dev -y

 

Устанавливаем DAHDI, LibPRI, libSTRP

Скачиваем исходники (dahdi, libpri, libstrp, asterisk) и распаковываем их:

wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz
wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-current.tar.gz
wget https://github.com/cisco/libsrtp/archive/v2.2.0.tar.gz
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-16-current.tar.gz

tar -zxvf dahdi-linux-complete-current.tar.gz 
tar -zxvf libpri-current.tar.gz 
tar -zxvf v2.2.0.tar.gz 
tar -zxvf asterisk-16-current.tar.gz

Появилась потребность в корпоративном Jabber-сервере (XMPP). Для реализации задачи выбрал ejabberd, по заявлениям разработчика он легкий, быстрый и надежный как скала.

 

Собирать ejabberd версии 18.12.1, будем из исходников на Debian 9 Stretch.

 

Подготовка системы

Перед началом установки обновляем систему до актуального состояния:

apt-get update && sudo apt-get upgrade -y

 

Устанавливаем необходимые зависимости:

apt-get install gcc g++ make autoconf erlang mysql-server git libssl-dev libyaml-dev zlib1g-dev libexpat1-dev imagemagick -y