SCROLL

Посты автора «jakonda»

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

В случае выхода из строя одного интернет-провайдера, его всегда подстрахует резервный, тем самым у нас не будет простоя в работе.

Рассмотрим на примере как можно организовать отказоустойчивую систему на сетевом оборудовании Mikrotik.

VMFSTOOLS  — это инструмент командной строки vSphere, для управления томами VMFS.  С помощью vmfstools можно выполнять операции с файлами виртуальных дисков. В качестве памятки, разберем примеры работы с виртуальными дисками.

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

Cannot register the hard disk 'D:\VirtualBox VMs\Windows 7 Delphi XE10.2\Windows 7 Delphi XE10.2.vmdk' {7bfbe77d-dbaf-41c1-896a-b1157e8f5de4} because a hard disk 'D:\VirtualBox VMs\Windows 7 Delphi XE10.2\Delphi-XE10-2-Win7x64-14-10-2016-disk001.vmdk' with UUID {7bfbe77d-dbaf-41c1-896a-b1157e8f5de4} already exists.

 

 

Для того чтобы изменить UUID у виртуального носителя, выполняем следующие команды в консоли:

 

Windows

C:\>"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" internalcommands sethduuid "D:\VirtualBox VMs\Windows 7 Delphi XE10.2\Windows 7 Delphi XE10.2.vmdk" 
UUID changed to: 484b485c-2291-4709-be83-48da9aa5ead3

 

Linux

VBoxManage internalcommands setvdiuuid /home/jakonda/VirtualBox VMs/Windows 7 Delphi XE10.2.vmdk
UUID changed to: 484b485c-2291-4709-be83-48da9aa5ead3

На примере рассмотрим, как настроить связь между оборудованием Mikrotik. Выполнить сегментацию сети VLAN между оборудованием Mikrotik.

 

Имеется главный роутер Mikrotik-Router, который необходимо связать с дополнительным Mikrotik-Switch. С дополнительного Mikrotik-Switch настроить доступ в основную локальную сеть (10.5.5.0/24) и доступ VLAN сеть (172.20.22.0/24). Схема подключения сети:

 

 

 

Настройка соединения между оборудованием

Создаем BridgeSwitches интерфейс, для LAN соединения:

/interface bridge add name=BridgeSwitches

 

Связываем интерфейс ether1 с BridgeSwitches соединением:

/interface bridge port add interface=ether1 bridge=BridgeSwitches

 

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, их заданный размер фактически не занимает место в файловой системе, а постепенно разрастается по мере записи файлов на диск. Если освободить место на таких дисках, путем удаления файлов на них, то размер виртуального диска останется прежним, он сам по себе не сожмется.

Для конвертации виртуального диска будем использовать инструмент 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, на одном из дисков не достаточно свободного места и необходимо его увеличить. В данном руководстве рассмотрим способы расширения дискового пространства.

В процессе рабочей необходимости, мне понадобился инструмент который будет выполнять функцию клинера старых файлов, в определенных каталогах. Имеется множество уже готовых инструментов, но я решил написать свой скрипт для 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.