Архив
Блог - Публикации блога August 2024
авг. 10 2024
Настройка сервера NPS на базе Windows Server 2012R2
Установка и настройка роли сервера сетевых политик.
1. Включение роли
Нажмите кнопку Пуск, выберите пункт Выполнить и введите CompMgmtLauncher, после чего нажмите клавишу ВВОД.
В окне Диспетчер сервера в разделе Сводка по ролям выберите Добавить роли и нажмите кнопку Далее.
Установите флажок службы политики сети и службы доступа и дважды нажмите кнопку Далее.
Установите флаг Сервер политики сети нажмите кнопку Далее, а затем нажмите кнопку Установить.
Если установка завершена успешно, нажмите кнопку Закрыть.
В окне Диспетчер сервера нажмите кнопку Закрыть.
2. Настройка сервера политики сети
Запустить консоль сервера NAP можно через диспетчер сервера.
Либо через консоль mmc путем добавление оснастки «Сервер политики сети».
Далее необходимо зарегистрировать сервер в Active Directory.
Для регистрации сервера необходим доступ администратора домена либо сервер уже должен быть членом группы «RAS and IAS Servers»
3. Создание RADIUS– клиента
Для создание нового клиента нужно щелкнуть правой клавише мыши на представлении RADIUS—клиенты, выбрать Новый документ и ввести понятное имя клиента, ip—адрес и общий секрет.
Изначально количество символов составляет 64, но не все устройства поддерживают такой длинный секрет.
Так же для удобства можно, создать шаблон с общим секретом во вкладке Управление шаблонами.
При создании клиента можно выбрать шаблон секрета из списка

4. Создание сетевых политик
Первым шагом необходимо зайти в представление «Политики запросов на подключение» и в политике создан-ной по умолчанию с именем «Использовать проверку подлинности Windows для всей пользователей» изменить значение на ежедневно с 00:00—24:00.
В представлении «Сетевые политики» нам необходимо создать новую политику.
Вводим имя политики и жмем Далее.

На следующей вкладке добавляем новое условие. В данном случае указываем имя группы, которой хотим предо-ставить доступ, жмем Добавить группы, выбираем группу пользователей и нажимаем ОК.
Поскольку настройки политик для каждого вендора существенно различаются добавляем еще одно условие Понятное имя клиента , куда вводим часть имени RADIUS-клиента.
Знак ? подразумевает, что наше условие будет обрабатывать запросы на подключение от всех клиентов в имени которых присутствует Arlan.
На следующей вкладке выставляем флаг Доступ разрешен и жмем Далее
Поскольку протокол PPP не поддерживает других методов проверки подлинности во вкладке Настройка методов про-верки подлинности ставим флаг «Проверка подлинности открытым текстом (PAP, SPAP)», остальные флажки можно снять.
Нажимаем Далее и у нас появляется следующее сообщение:
Нажимаем НЕТ и Далее.
Убираем флаг «Без шифрования» и жмем ОК.

Настройка RADIUS на клиенте.
Настройка для каждого вендора выполняется зачастую по своему, по этому постараюсь привести немногие варианты.
1. Настройка коммутаторов Allied Telesis AT8000s
Настраиваем политику сети
Полный доступ:


Доступ только на чтение:


2. Настройка коммутаторов Brocade ICX
Настраиваем политику сети
Полный доступ:
Добавляем новый параметр во вкладке «Параметры зависящие от поставщика», вводим код поставщика 1991, настраиваем атрибут с номером атрибута 1 и значением атрибута 0.

Доступ только чтение
Добавляем новый параметр во вкладке «Параметры зависящие от поставщика», вводим код поставщика 1991, настраиваем атрибут с номером атрибута 1 и значением атрибута 5.

3 Настройка коммутаторов QTECH
Настройка политики сети
Полный доступ:

Доступ только чтение:

4. Настройка коммутаторов Cisco
Только чтение:

5. Настройка коммутаторов Arlan
авг. 10 2024
Настройка MPIO на Windows Server
Данная инструкция подходит для Windows Server 2012 и выше...
Включение компонента MPIO
Через PowerShell выполняем команду :
Что бы проверить установлен ли модуль, выполняем:
После установки компонента MPIO, Microsoft добавляет свой DSM (Vendor 8Product), но нам его может оказаться недостаточно, по этому добавляем дополнительный девайс MPIO на примере IBM STORWIZE V7000 следующей командой:
Мы можем проверить добавилось ли устройство командой:
Вывод команды:
VendorId ProductId
-------- ---------
Vendor 8 Product 16
IBM 2145
Мы видим, что наше устройство было добавлено.
В моем случае у меня установлен всего один хостовый FC адаптер, по этому настройку завершить, но если у вас подключено несколько адаптеров или имеется несколько портов на одном адаптере и все они подключены к СХД, то в итоге мы увидим один и тот же LUN в нескольких экземпляров. Что бы такого не произошло нам необходимо настроить балансировщик MSDSM.
Для проверки можем выполнить команду:
Настроить его можно через утилиту mpclaim.exe:
В нашем случае просто выполним: mpclaim.exe -r -i -a ""
Параметр
| Значение
| Описание
|
-r
| Restart_option
| Автоматическая перезагрузка без запроса
|
-n
|
| Подавление запроса на перезагрузку.
|
-i
| Install_switch
| Установка MPIO и добавления поддержки нескольких путей для устройства хранения
|
-u
|
| Удаление MPIO и отмена поддержки устройства хранения
|
-d
| <device_hwid>
| Задает устройство, для которого нужна поддержка MPIO. Идентификаторы устройств должны быть разделены пробелом.
|
-a
|
| Применение поддержки MPIO ко всем совместимым устройствам.
|
-c
|
| Применение поддержки MPIO только к устройствам, совместимым с SPC-3. Этот параметр применим только при установке. При удалении MPIO (с помощью параметра -u для install_switch) переключатель -c будет восприниматься командой как переключатель -a.
|
| <device_hwid>
| Коды устройств, которые будут поддерживаться MPIO, в формате VendorProduct, где Vendor - это имя производителя или поставщика, а Product - это название продукта или модели. Несколько кодов должны отделяться друг от друга пробелами. Этот параметр используется только с переключателем устройства -d.
|
Примечание
После выполнения всех действий нам необходимо узнать WWN нашего адаптера, сделать это можно утилитой и если сервер подключен через FC коммутатор, необходимо настроить zones (что бы понять как лучше сделать, необходимо читать документацию производителя оборудования, у всех рекомендации разные) или просто удалить зоны с коммутатора.
Только после этого мы можем заходить на полку и отдавать LUN хосту.
авг. 10 2024
Установка Tomcat на FreeBSD для xwiki
Установка Tomcat
Будем рассматривать установку tomcat на freeBSD 14.1 для развертывания xwiki в качестве примера.
Установка пакетов
Поскольку последняя xwiki поддерживает версию tomcat не выше 9, да и то с определенными оговорками
- Using Tomcat 10 is not possible right now since it moved to the incompatible Jakarta EE 9 API. See Apache Tomcat migration tool for Jakarta EE for mode details.
- Tomcat 9.0.70 has some bugs that make it fail with XWiki. See:
https://jira.xwiki.org/browse/XWIKI-20470(A Tomcat regression now fixed in Tomcat 9.0.71+)
будем ставить версию 8.5, для этого посмотрим какие пакеты есть в репозитории:
tomcat-devel-11.0.0.m22 Open-source Java web server by Apache, 11.0.x branch
tomcat-native-1.3.0_1 Tomcat native library
tomcat-native2-2.0.7 Tomcat native library
tomcat101-10.1.26 Open-source Java web server by Apache, 10.1.x branch
tomcat85-8.5.100 Open-source Java web server by Apache, 8.5.x branch
tomcat9-9.0.91 Open-source Java web server by Apache, 9.0.x branch
root@jail:~ # pkg install tomcat85
Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
All repositories are up to date.
The following 28 package(s) will be affected (of 0 checked):
New packages to be INSTALLED:
alsa-lib: 1.2.12
apache-commons-daemon: 1.4.0
brotli: 1.1.0,1
dejavu: 2.37_3
fontconfig: 2.15.0_3,1
freetype2: 2.13.2
giflib: 5.2.2
java-zoneinfo: 2021.e
javavmwrapper: 2.7.10
libICE: 1.1.1,1
libSM: 1.2.3_1,1
libX11: 1.8.9,1
libXau: 1.0.9_1
libXdmcp: 1.1.5
libXext: 1.3.6,1
libXfixes: 6.0.0_1
libXi: 1.8_1,1
libXrender: 0.9.10_2
libXt: 1.3.0,1
libXtst: 1.2.3_3
libfontenc: 1.1.8
libinotify: 20211018_1
libxcb: 1.17.0
mkfontscale: 1.2.3
openjdk8: 8.412.08.1
png: 1.6.43
tomcat85: 8.5.100
xorgproto: 2024.1
Number of packages to be installed: 28
The process will require 248 MiB more space.
103 MiB to be downloaded.
Proceed with this action? [y/N]:
Открываем файлы
/usr/local/apache-tomcat-8.5/webapps/host-manager/META-INF/context.xml
/usr/local/apache-tomcat-8.5/webapps/manager/META-INF/context.xml
и правим ip адрес с которого планируем подключаться к панели менеджера в блоке allow=:
<CookieProcessor className="org.apache.tomcat.util.http.Rfc6265CookieProcessor"
sameSiteCookies="strict" />
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="10\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
<Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/>
</Context>
Добавляем пользователя и назначаем ему роли, редактируя файл /usr/local/apache-tomcat-8.5/conf/tomcat-users.xml
<role rolename="admin-gui"/>
<user username="tomcat" password="P@ssw0rd" roles="manager-gui,admin-gui"/>
</tomcat-users>
Добавляем службу tomcat в rc.conf и запускаем:
tomcat85_enable: -> YES
root@jail:~ # service tomcat85 start
Теперь можем зайти по адресу http://x.x.x.x:8080, что бы проверить все ли у нас работает.

Установка xwiki
Для установки xwiki нам необходимо скачать Serverlet Container с расширением .war (Можно отсюда: https://www.xwiki.org/xwiki/bin/view/Download/DownloadVersion/?projectVersion=16.6.0 ).
После того как скачали наш файлик советую его переименовать например просто в xwiki.war.
Закидываем его в каталог /usr/local/apache-tomcat-8.5/webapp
Заходим в Manager-App через веб-интерфейс ииии..... видим, что наше приложение не запускается.
А все из-за того что версия tomcat 8.5 тянет с собой зависимости openjdk8: 8.412.08.1, а нам нужна минимум 17 версия.
Ну что ж ставим 17 версию:
Теперь, что бы tomcat понял, что ему надо использовать именно 17 версию джавы, нам необходимо дописать строчку tomcat85_java_home="/usr/local/openjdk17" в /etc/rc.conf
Перезапускаем tomcat и проверяем, что он использует именно 17, а не 8 версию джава:
root 74176 0.0 0.0 12940 2064 - IsJ 11:12 0:00.00 /usr/local/bin/jsvc -java-home /usr/local/openjdk17 -server -user www -umask 0077
Проверяем, что приложение xwiki у нас запустилось через host-manager и переходим к установке СУБД и настройке соединения с ней.
Установка Postgresql
В качестве СУБД для XWIKI я использовал postgresql, почему ? Да просто мне так больше нравится.
Ставим пакеты:
Добавляем сервис:
postgresql_enable: YES -> YES
root@jail:/ #
Инициализируем СУБД:
Далее необходимо отредактировать конфигурационные файлы:
В файле /var/db/postgres/data16/postgresql.conf отредактировать параметр listen_addresses = 'X.X.X.X', где указываем адрес нашего pgsql сервера.
В файле /var/db/postgres/data16/pg_hba.conf правим блоки с ADDRESS и METHOD.
local all all trust
# IPv4 local connections:
host all all 10.0.0.0/8 scram-sha-256
В блоке ADDRESS указываем адреса откуда мы сможем присоединяться к СУБД, а в блоке METHOD указываем метод аутентификации, в нашем случае scram-sha-256 аутентификация по шифрованному паролю.
Перезапускаем службу и цепляемся к серверу СУБД и меняем пользователю postgres пароль:
psql (16.3)
Type "help" for help.
postgres=# passwd postgres
Cоздаем базу данных xwiki:
Создаем пользователя и даем права на базу
GRANT ALL PRIVILEGES on database xwiki to xwiki;
P.S. В некоторых случаях потребуется создать схему xwiki в базе данных и сделать владельцем пользователя xwiki.
Что бы наше приложение могло соединяться с СУБД Postgresql, нам надо скачать драйвер odbc и положить в каталог /usr/local/apache-tomcat-8.5/webapps/xwiki/WEB-INF/lib/
Редактируем конфиг /usr/local/apache-tomcat-8.5/webapps/xwiki/WEB-INF/hibernate.cfg.xml и добавляем туда следующий текст (а лучше заменяем):
~ Hibernate, Relational Persistence for Idiomatic Java
~
~ License: GNU Lesser General Public License (LGPL), version 2.1 or later.
~ See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
-->
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="connection.url">jdbc:postgresql://x.x.x.x/xwiki</property> <!-- BD Mane -->
<property name="connection.driver_class">org.postgresql.Driver</property> <!-- DB Driver -->
<property name="connection.username">xwiki</property> <!-- DB User -->
<property name="connection.password">P@ssw0rd</property> <!-- DB Password -->
<property name="dialect">org.hibernate.dialect.PostgreSQLDialect</property>
<property name="jdbc.use_streams_for_binary">false</property>
<property name="xwiki.virtual_mode">schema</property>
<mapping resource="xwiki.postgresql.hbm.xml"/>
<mapping resource="feeds.hbm.xml"/>
<mapping resource="notification-filter-preferences.hbm.xml"/>
<mapping resource="activitystream.hbm.xml"/>
<mapping resource="instance.hbm.xml"/>
</session-factory>
</hibernate-configuration>
Перезапускаем tomcat и заходим в менеджер приложений http://x.x.x.x:8080/manager/html

Видим, что наше приложение запущено, жмем на него и ждем когда закончится инициализация и создание схемы базы данных.
Установка Nginx
Теперь необходимо установить nginx, который мы будем использовать в качестве обратного прокси, а так же для настройки ssl.
Открываем /usr/local/etc/nginx.conf.
Конфиг у нас будет выглядеть следующим образом:
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
server {
server_name xwiki.krasikra.com;
client_max_body_size 1000m; #Размер вложений для загрузки\скачивания
listen 443 ssl;
ssl_certificate /etc/ssl/xwiki.pem;
ssl_certificate_key /etc/ssl/example.key;
location / {
rewrite ^ $scheme://$server_name/xwiki$request_uri? permanent;
}
location ^~ /xwiki {
proxy_http_version 1.1; # Директива используется для указания версии протокола HTTP, которую Nginx должен использовать при общении с Tomcat
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; #Переменная $proxy_add_x_forwarded_for содержит полученный заголовок X-Forwarder-For плюс добавляет свой сервер в этот список.
proxy_set_header X-Real-IP $remote_addr; #Эти заголовки содержать содержат ip адрес и порт с которого подключается клиент
proxy_set_header X-Forwarded-Proto https; # Этот заголовок передает бэкенду протокол, который используется клиентом.
proxy_pass http://127.0.0.1:8080; # куда будем проксировать, то есть на 127.0.0.1:8080 в каталог /wiki.
proxy_redirect off;
# return 301 https://$host$request_uri;
}
}
upstream xwiki {
server 127.0.0.1:8080;
}
server {
if ($host = xwiki.example.com) {
return 301 https://$host$request_uri;
} # managed by Certbot
listen 80;
server_name xwiki.example.com;
return 404;
}
}
root@xwiki:/home/xwiki #
Далее открываем /usr/local/apache-tomcat-8.5/conf/server.xml и добавляем следующий блок:
connectionTimeout="20000"
redirectPort="8443"
maxParameterCount="1000"
scheme="https"
proxyName="vawiki.duckdns.org"
proxyPort="443"/>
Перезапускаем nginx и tomcat и пробуем зайти по имени хоста или адресу, который слушает nginx.
Установка Certbot
Что бы включить https нам нужно скачать скрипт certbot:
Если в репозиториях по каким то причинам отсутствует пакет certbot, то можно скачать скрипт с официального сайта:
Запускаем скрипт certbot где параметр -d указывает на имя нашего доменного имени для которого необходимо выдать сертификат.
Запустится мастер, в котором мы должны будем ответить на предложенные вопросы и указать свой email если мы еще не зарегистрированы.
Скрипт сам установит все необходимые сертификаты и внесет изменения в конфигурацию nginx.
Поскольку сертификат Let's Encrypt выдается всего на 90 дней то необходимо создать в cron задание на обновление сертификатов.
Добавляем строку:
0 0,12 * * * /usr/local/bin/certbot renew
Все!