SCROLL

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

Межсетевой экран Cisco ASA 5505 оснащен встроенным коммутатором на 8 портов L2 уровня. Чтобы получить интерфейсы L3 уровня, необходимо создать виртуальный интерфейсы VLAN, задать им IP-адреса и привязать их к физическим интерфейсам.

 

Разберем на примере как выполнить настройку межсетевого экрана Cisco ASA 5505:

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

  • Интернет-провайдер (WAN)
  • Межсетевой экран

Задача:

  • Создать подсети (VLAN), пользовательская LAN (192.168.1.1/24), административная ADMLAN (192.150.1.1/24) и гостевая GUEST (192.130.1.1/24).
  • Привязать подсети (VLAN) с физическими интерфейсами (Ethernet). Ethernet0/0 — WAN, Ethernet0/1 — ADMLAN, Ethernet0/3 — GUEST, Ethernet0/7 — Trunk (LAN,ADMLAN, GUEST), на остальных Ethernet0/2,0/4,0/5,0/6 — LAN.
  • Настроить DHCP, для раздачи адресов подсетей (LAN, ADMLAN, GUEST).
  • Обеспечить доступ в сеть Интернет из подсетей (LAN, ADMLAN, GUEST).

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

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

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

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

 

Создание виртуального диска

Для создания виртуального диска, выполняем команду (по-умолчанию создается толстый диск):

vmkfstools -c 2048m testdisk1.vmdk
Create: 100% done.

В результате мы получаем 2 файла, файл дескриптора виртуального диска и сам виртуальный диск:

-rw------- 1 root root 2.0G Aug 29 10:01 testdisk1-flat.vmdk
-rw------- 1 root root  469 Aug 29 10:01 testdisk1.vmdk

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

 

[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 системах в состав пакета openssh входит утилита scp, а в Windows есть аналогичная утилита pscpкоторая входит в состав пакета инструментов PuTTY.

 

 

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

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

scp root@192.168.1.10:/root/file.tar.gz /opt
scp -P 22 root@192.168.1.10:/root/file.tar.gz /opt

[stextbox id=’info’]В командах выше мы указали cкачать файл file.tar.gz находящийся в директории /root на удаленном сервере под пользователем root с IP адресом 192.168.1.10 в папку /opt. И вариант скачивания с указанием порта ssh, в случае, если на сервере изменен стандартный порт ssh.[/stextbox]

 

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

scp file.tar.gz root@192.168.1.10:/root
scp -P 22 file.tar.gz root@192.168.1.10:/root

[stextbox id=’info’]В командах выше мы указали закачать файл file.tar.gz находящийся в текущей директории на удаленный сервер под пользователем root с IP адресом 192.168.1.10 в папку /root. И вариант загрузки с указанием порта ssh. Это необходимо в случае, если на сервере изменен стандартный порт ssh.[/stextbox]

 

 

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

Запускаем командную строку и переходим в папку, где находится программа pscp.exe и копируемый файл.

 

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

pscp.exe root@192.168.1.10:/home/user/file.tar.gz .
pscp.exe -P 22 root@192.168.1.10:/home/user/file.tar.gz .

[stextbox id=’info’]В командах выше мы указали cкачать файл file.tar.gz находящийся в директории /root на удаленном сервере под пользователем root с IP адресом 192.168.1.10 в папку /opt. И вариант скачивания с указанием порта ssh, в случае, если на сервере изменен стандартный порт ssh.[/stextbox]

 

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

pscp.exe file.tar.gz root@192.168.1.10:/root
pscp.exe -P 22 file.tar.gz root@192.168.1.10:/root

[stextbox id=’info’]В командах выше мы указали закачать файл file.tar.gz находящийся в текущей директории на удаленный сервер под пользователем root с IP адресом 192.168.1.10 в папку /root. И вариант загрузки с указанием порта ssh. Это необходимо в случае, если на сервере изменен стандартный порт ssh.[/stextbox]

 

Вот так легко можно скачать или загрузить на сервер файл.

Разберем как делать резервные копии имеющихся 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 {} \;