SCROLL

VLAN (Virtual Local Area Network) позволяет в коммутаторах или роутерах создать несколько виртуальных локальных сетей на одном физическом сетевом интерфейсе. Простой и удобный способ разделения трафика между клиентами или базовыми станциями, использование VLAN.

 

Технология VLAN заключается в том, что к сетевому кадру (2-й уровень) прибавляется дополнительный заголовок tag, который содержит служебную информацию и VLAN ID. Значения VLAN ID могут быть от 1 — 4095. При этом 1 зарезервирована как VLAN по умолчанию.

 

При работе с VLAN важно понимать, что такое тегированный и нетегированный трафик. Тегированный трафик (с идентификатором влана) в основном идет между коммутаторами и серверами. Обычные же компьютеры (особенно под управлением ОС Windows) не понимают тегированный трафик. Поэтому на тех портах, которые смотрят непосредственно на рабочие станции или в сеть с неуправляемым коммутатором, выдается нетегированный трафик. Т.е. от сетевого кадра отрезается тег. Это также происходит, если на порту настроен VLAN ID = 1.

 

Также существует понятие, как trunk (Транк). Транком называют порты коммутатора, по которым идет трафик с разными тегами. Обычно транк настраивается между коммутаторами, чтобы обеспечить доступ к VLAN с разных коммутаторов.

 

Роутеры и коммутаторы Mikrotik поддерживают до 250 VLANs на одном Ethernet интерфейсе. Создавать VLAN его можно не только на Ethernet интерфейсе, но и на Bridge, и даже на туннеле EoIP. VLAN может быть построен в другом VLAN интерфейсе, по технологии “Q-in-Q”. Можно делать 10 и более вложенных VLAN, только размер MTU уменьшается с каждым разом на 4 байта.

 

Разберем использование VLAN на примере. Задача:

  • Создать VLAN для HOTSPOT (172.20.22.0/24)
  • Создать VLAN для VIOP-телефонии (172.21.22.0/24)
  • Изолировать сети 172.20.22.0/24, 172.21.22.0/24 друг от друга и от доступа в сеть 10.5.5.0/24
  • Назначить Ether2 порт, на работу в сети 172.20.22.0/24 (VLAN)
  • Назначить Ether3, Ether4 на работу в сети 172.21.22.0/24 (VLAN)

 

 

 

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

  • Интернет на Ether1, назначен на Brigde интерфейс — Ethernet
  • Локальная сеть (10.5.5.0/24), назначена на Brigde интерфейс — LAN

Разберем как модифицировать шаблон прав доступа, применяемых по-умолчанию к создаваемым групповым политикам. Этот шаблон хранится в AD Schema в объекте Group-Policy-Container, атрибуте defaultSecurityDescriptor.

 

По умолчанию, права на групповые политики предоставлены следующим группам:

Authenticated Users
Domain Admins
Enterprise Admins
ENTERPRISE DOMAIN CONTROLLERS
SYSTEM

Добавим в шаблон, права для группы Domain Computers, с разрешением Read.

[stextbox id=’info’]Информация: Для внесения изменений в Active Directory Schema ваша учетная запись должна входить в группу Schema Admins[/stextbox]

Когда появляется необходимость в анализе применения групповых политик в системе, то в Windows 7 (и в версиях выше) просмотреть большинство событий, относящихся к процессу применения групповых политик (GPO), можно в журнале событий Event Viewer (Просмотр событий) в разделе Applications and Services Logs (Журнал приложений и служб) – Microsoft – Windows – Group Policy – Operational

 

После установки системы Windows 7 Professional (х64) на одну из пользовательских машин, появились проблемы с применением групповых политик, на данной машине. В роли домен контроллера выступает Windows Server 2008 R2, ошибок в его работе не наблюдается, да и все остальные пользователи сети, не испытывают подобных затруднений с применением групповых политик.

 

При тестировании результатов применения групповых политик на проблемной машине, видно что часть групповых политик применяется, а часть нет. Групповые политики которые не применяются помечены как Inaccessible (Недоступные).

Работая с Linux системами, иногда возникает необходимость запрета обновления какого либо пакета.

 

Чаще всего это необходимо если развернут какой либо сервис, который требует определенной версии того или иного пакета, в этом случае можно легко запретить его обновление и так же легко разрешить его обновление.

 

Рассмотрим несколько способов, реализации запрета на обновления пакета, в ОС Debian 8 Jessie.

 

Запрет используя dpkg

Для запрета на обновления пакета, выполняем команду:

sudo echo 'имя_пакета hold' | sudo dpkg --set-selections

 

Для разрешения на обновления пакета, выполняем команду:

sudo echo 'имя_пакета install' | sudo dpkg --set-selections

 

Чтобы посмотреть все статус пакетов в системе, выполняем команду:

sudo dpkg --get-selections | grep 'имя_пакета'

При создании виртуальных дисков Thin Provision (Тонкие), их заданный размер фактически не занимает место в файловой системе, а постепенно разрастается по мере записи файлов на диск. Если освободить место на таких дисках, путем удаления файлов на них, то размер виртуального диска останется прежним, он сам по себе не сожмется.

 

[dropshadowbox align=»none» effect=»vertical-curve-both» width=»auto» height=»» background_color=»#ffffff» border_width=»1″ border_color=»#dddddd» ]Например, если выделить виртуальному диску 20Gb, его размер в хранилище данных начнется с нуля и будет расти по мере записи файлов на диск до 20Gb. Если скопировать файл размером 5Gb на диск, то виртуальный диск вырастет на 5Gb в хранилище данных. Однако, если удалить файл размером 5Gb, то виртуальный диск не сжимается в хранилище данных, он остается на уровне 5Gb.[/dropshadowbox]

 

Стандартного средства сжатия Thin Provision дисков в ESXi нет, поэтому разберем как можно сжать виртуальный диск в ручном режиме.

Для конвертации виртуального диска будем использовать инструмент VBoxManage.exe, который поставляется с VirtualBox. Конвертация виртуального диска в другой формат, делается путем клонирования исходного виртуального диска с указание нового формата.

 

Запускаем командную строку (с правами администратора), выполняем команду:

C:\Program Files\Oracle\VirtualBox\VBoxManage.exe clonehd --format vmdk d:\disk1test.vhd d:\disk1test.vmdk
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Clone hard disk created in format 'vmdk'. UUID: 960033d8-5afb-45c6-b1d4-6fc13ce891eb

[stextbox id=’info’]ИНФОРМАЦИЯ. Путь C:\Program Files\Oracle\VirtualBox\VBoxManage.exe, может отличатся в зависимости от того, куда был установлен VirtualBox.[/stextbox]

Разберем как увеличить размер виртуального диска, виртуальной машины VirtualBox.

 

Все операции по увеличению размена виртуального диска производятся на выключенной гостевой ОС, так же необходимо удалить все снимки, если они делались на виртуальной машине.

 

Иногда сталкиваешься с такой проблемой, когда на виртуальной машине, которая развернута на VMware ESXi 5.5, на одном из дисков не достаточно свободного места и необходимо его увеличить. Виртуальные жесткие диски бывают двух типов:

Thick (Толстый)

  • Lazy Zeroed — Все пространство такого диска выделяется в момент создания, при этом блоки не очищаются от данных, которые находились там ранее. При первом обращении виртуальной машины к новому блоку происходит его очистка. Таким образом, эти диски более безопасны, однако при первом обращении к блоку — теряется производительность системы ввода-вывода на операцию очистки. При последующих обращениях — производительность идентична дискам типа Eager zeroed thick. Этот тип диска создается по умолчанию через VMware vSphere Client для виртуальных машин. Преимущество дисков Zeroed thick disks — безопасность и быстрота создания, недостаток — производительность при первом обращении к блоку.
  • Eager Zeroed — Все пространство такого диска выделяется в момент создания, при этом блоки очищаются от данных, которые находились там ранее. Далее происходит обычная работа с блоками без очистки. Преимущество такого диска — производительность и безопасность, недостаток — долгое время создания.

Thin (Тонкий)

  • Эти диски создаются минимального размера и растут по мере их наполнения данными до выделенного объема. При выделении нового блока — он предварительно очищается. Эти диски наименее производительны (выделение нового блока и его очистка), однако наиболее оптимальны для экономии дискового пространства на системе хранения данных.

Рассмотрим способы расширения дискового пространства для обоих типов дисков.

[stextbox id=’alert’]Ниже описанные методы увеличения диска, подразумевают отсутствие снепшотов дисков, т.к. при их наличии не гарантируется корректная работа виртуального диска после процедуры увеличения. Все ниже описанные методы выполняются на выключенной виртуальной машине.[/stextbox]

 

В процессе рабочей необходимости, мне понадобился инструмент который будет выполнять функцию клинера старых файлов, в определенных каталогах. Имеется множество уже готовых инструментов, но я решил написать свой скрипт для PowerShell.

 

Задача скрипта:

  • В заданных каталогах производить поиск файлов подходящих по критерий давности
  • Дополнительная функция поиска файлов по заданной маске
  • Удалять найденные файлы
  • Выполнять чистку пустых каталогов, если таковые образовались после удаления старых файлов.

Ниже представлен листинг получившегося у меня скрипта. Скрипт с комментариями, разобраться в нем не должно составить труда.

 

[stextbox id=’warning’]По-умолчанию в PowerShell включена максимальная политика безопасности, которая позволяет выполнять команды PowerShell в командной строке, но не позволяет в той же командной строке выполнить скрипт с командами PowerShell.

 

Разрешить выполнение скриптов в Powershell:
powershell -Command Set-ExecutionPolicy RemoteSigned[/stextbox]

 

Разберем как автоматизировать процесс создания бекапов серверных систем, применимый к Windows Server 2008 R2, 2012 R2. Делать бекапы мы будем с помощью скрипта для PowerShell.

Данная статья будет мне памяткой, как добавлять пользователей, изменять, удалять пользователей в консольном режиме Debian 8 Jessie.

 

Добавление пользователя

Пользователь создается командой useradd:

sudo useradd username

 

Полезные ключи используемые при создании пользователя:

-m (--create-home) Создать домашний каталог. По-умолчанию домашний каталог не создается.
-M (--no-create-home) Не создавать домашний каталог.
-d (--home-dir HOME_DIR) Указать расположение домашнего каталога.
-N (--no-user-group) Не создавать группу с таким же именем, как имя пользователя.
-g (--gid GROUP) Название или ID первичной группы пользователя.
-G (--groups GROUPS) Указать список дополнительных групп для пользователя.
-p (--password PASSWORD) Задание пароль пользователя.
-s (--shell SHELL) Указание оболочки пользователя (прим. /bin/bash). По-умолчанию /bin/sh.
-c (--comment COMMENT) Добавить комментарий к пользователю.

 

Изменение пользователя

Изменить пользователя можно командой usermod (прим. добавление пользователя в группу):

sudo usermod -a -G www-data jakonda

 

Изменить пароль пользователю можно при помощи утилиты passwd:

sudo passwd jakonda

Иногда все мы сталкиваемся с ситуацией передачи файлов с сервера, на сервер. Легко, удобно и безопасно это делать через SSH.

Для Linux используется утилита scp (secure copy) входящая в состав OpenSSH, а для Windows аналогичная утилита pscp которая входит в состав пакета инструментов PuTTY.

Пример использования SCP на Linux

Общий синтаксис scp выглядит так:

scp [опция] [источник] [получатель]

Скачать файл с удаленного сервера на локальный:

scp [имя пользователя]@[имя сервера/ip-адрес]:[путь к файлу] [путь к файлу]

Пример:

scp root@192.168.1.10:/root/file.tar.gz /opt
В случае если на сервере используется не стандартный порт SSH, то необходимо использовать в качестве опции, ключ -P с указанием нужного порта.

Скачать папку со всеми файлами и подпапками:

scp -r [источник] [получатель]

Пример:

scp –r /var/www root@192.168.1.10:/root

Загрузить файл на удаленный сервер:

scp [путь к файлу] [имя пользователя]@[имя сервера/ip-адрес]:[путь к файлу]

Пример:

scp file.tar.gz root@192.168.1.10:/root

Пример использования PSCP на Windows

В общем и целом, синтаксис pscp не отличается от scp, но все равно рассмотрим как выполнить аналогичные операции с использованием pscp.

Скачать файл на локальную сервер:

pscp [имя пользователя]@[имя сервера/ip-адрес]:[путь к файлу] [путь к файлу]

Пример:

pscp.exe root@192.168.1.10:/home/user/file.tar.gz .
В случае если на сервере используется не стандартный порт SSH, то необходимо использовать в качестве опции, ключ -P с указанием нужного порта.

Загрузить файл на удаленный сервер:

pscp [путь к файлу] [имя пользователя]@[имя сервера/ip-адрес]:[путь к файлу]

Пример:

pscp.exe file.tar.gz root@192.168.1.10:/root

Разберем как делать резервные копии имеющихся Subversion (SVN) репозиториев в Linux среде. Все ниже описанное производилось на Debian 8 Jessie.

 

Резервное копирование репозитория

Создаем резервную копию указанного репозитория:

sudo svnadmin dump /path/to/repository > svnexport.dump

 

Создаем резервную копию указанного репозитория и сжимаем его:

sudo svnadmin dump /path/to/repository | gzip > svnexport.dump.gz

 

Резервное копирование все репозиториев (bash скриптом)

Для того чтобы автоматизировать процесс резервирования всех имеющихся репозиториев, создадим скрипт, который будет выполнять эту задачу. Скрипт с коментариями, разобратся в нем не составит труда:

#!/bin/bash
# 06/01/2018 Jakonda (http://jakondo.ru)

# Резервное копирование репозиториев (SVN)

PATH_REPO="/var/svn/"
LOCAL_DIR="/srv/backups/svn"

EXPIRATION_DAYS=28
DATE=$(date +"%y_%m_%d")

# Создаем каталог для размещения бекапов, если он не создан
if ! [ -d $LOCAL_DIR ]; then
mkdir $LOCAL_DIR
fi

# Создаем каталог с текущей датой
mkdir -p $LOCAL_DIR/$DATE

# Создание дампа всех репозиториев
cd $PATH_REPO
for REPO in *; do
 test -d "$REPO" && /usr/bin/svnadmin dump $REPO | gzip > $LOCAL_DIR/$DATE/$REPO.dump.gz
done

# Удаление старых резервных копий
find $LOCAL_DIR* -mtime +${EXPIRATION_DAYS} -exec rm {} \;
# Удаление пустых каталогов
find $LOCAL_DIR* -type d -empty -exec rmdir {} \;

 

Рассмотрим практический перенос почтового сервера на базе MS Exchange 2010 SP3, с одного сервера Windows Small Business Server 2011 на другой Windows Server 2012 R2.

Рассмотрим как сбросить забытый/утерянный пароль от root в MySQL. Рассмотрим варианты сброса пароля под Windows и Unix системах.

По умолчанию, Firewall роутеров Mikrotik разрешает все подключения. Поэтому целесообразно обезопасить роутер и локальную сеть от несанкционированного доступа из интернета. В качестве примера будет рассмотрена основная/базовая настройка Firewall.

 

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

  • Локальная сеть — 10.5.5.0/24
  • Интернет (Bridge соединение) — Ethernet

 

Правила начинают работать от первого к последнему. Поэтому сначала размещаем разрешающие правила, а затем запрещающие. Так же при удаленной настройке Firewall учтите, что внесенные изменения применяются сразу же, поэтому есть шанс заблокировать самих себя.

 

Определения назначения основных цепочек
  • Цепочка INPUT — Действия с пакетами, которые направляются в роутер. То есть адресованы именно на адрес роутера и дальше не пойдут.
  • Цепочка FORWARD — Действия с пакетами, проходящими через роутер. То есть пакеты посылаются какому-то адресату от какого-то адресата и через роутер проходят по пути следования. Например, когда ваш локальный компьютер хочет открыть какой либо сайт.
  • Цепочка OUTPUT — Действия с пакетами, источником которых является сам роутер.

Разберем как выполнить установку Asterisk 13 в связке с FreePBX 13 и с поддержкой протокола SCCP на Debian 8 Jessie/Ubuntu 14.04 Trusty Tahr.

 

Переходим в режим работы под root:

sudo su

 

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

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

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

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

apt-get install -y build-essential linux-headers-`uname -r` openssh-server apache2 mysql-server mysql-client bison flex php5 php5-curl php5-cli php5-mysql php-pear php5-gd curl sox libncurses5-dev libssl-dev libmysqlclient-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 libcurl4-openssl-dev libical-dev libneon27-dev libsrtp0-dev libspandsp-dev libmyodbc -y

Перезагружаем систему:

reboot

После перезагрузки, не забываем снова войти под root.

При частых подключениях по ssh к какой либо машине, либо группе машин, можно настроить прозрачное подключение, используя ключи шифрования. Данный метод подключения, не только избавит от постоянного ввода паролей при подключении по ssh, но и сделает подключения более безопасным.

Наткнулся недавно на такую замечательную программу Festival. Данная утилита является синтезатором речи, а именно с помощью нее можно заставить ваш ПК читать тексты, записывать прочтенный текст в звуковой файл. Мне показалась данная программа интересной и я решил разобрать как установить ее на Ubuntu 14.04 Trusty Tahr.

 

Собирать я решил из исходников и последнюю версию на данный момент 2.4. В репозиториях Ubuntu 14.04 Trusty Tahr находится версия 2.1. Так же разобрал как заставить Festival говорить по-русски.

 

Создаем временный каталог, куда будем скачивать необходимые файлы для сборки Festival

sudo mkdir /usr/src/temp

Переходим в созданный каталог

cd /usr/src/temp

Скачиваем архивы сборки Festival

sudo wget http://jakondo.ru/wp-content/uploads/file-manager/Festival/speech_tools-2.4-release.tar.gz
sudo wget http://jakondo.ru/wp-content/uploads/file-manager/Festival/festival-2.4-release.tar.gz
sudo wget http://jakondo.ru/wp-content/uploads/file-manager/Festival/festlex_CMU.tar.gz
sudo wget http://jakondo.ru/wp-content/uploads/file-manager/Festival/festlex_OALD.tar.gz
sudo wget http://jakondo.ru/wp-content/uploads/file-manager/Festival/festlex_POSLEX.tar.gz

Распаковываем скачанные архивы

sudo tar -zxvf speech_tools-2.4-release.tar.gz -C /usr/src/
sudo tar -zxvf festival-2.4-release.tar.gz -C /usr/src/
sudo tar -xvf festlex_CMU.tar.gz -C /usr/src/
sudo tar -xvf festlex_OALD.tar.gz -C /usr/src/
sudo tar -xvf festlex_POSLEX.tar.gz -C /usr/src/