Новости:

SMF - Just Installed!

Главное меню

Последние сообщения

#1
Настройки *nix (почта, web, система etc) / guacamole установка
Последний ответ от George - Нояб. 13, 2025, 12:03
1. Install Requirements for Guacamole on Ubuntu 24.04

First, run the system update with the command below:

Код: bash
sudo apt update

Then, you must install the following packages and dependencies for installing Apache Guacamole on Ubuntu 24.04:

Код: bash
sudo apt install build-essential libcairo2-dev libjpeg-turbo8-dev \
    libpng-dev libtool-bin libossp-uuid-dev libvncserver-dev \
    freerdp2-dev libssh2-1-dev libtelnet-dev libwebsockets-dev \
    libpulse-dev libvorbis-dev libwebp-dev libssl-dev \
    libpango1.0-dev libswscale-dev libavcodec-dev libavutil-dev \
    libavformat-dev -y

2. Download Apache Guacamole Source Code and Install It on Ubuntu 24.04

Now you must visit the Apache Guacamole Downloads page and look for the latest version. At the current time, the latest version of Guacamole is 1.5.5. So you can use the following Wget Command to download the source code of Guacamole on Ubuntu 24.04:

Код: bash
sudo wget https://downloads.apache.org/guacamole/1.5.5/source/guacamole-server-1.5.5.tar.gz

Downloading and Installing Apache Guacamole on Ubuntu 24.04Installing Apache Guacamole on Ubuntu 24.04 – Download Source Code

Then, extract your Guacamole package and navigate to it with the following commands:

Код: bash
sudo tar -xvf guacamole-server-1.5.5.tar.gz

Код: bash
sudo cd guacamole-server-1.5.5

Build and Install Apache Guacamole

At this point, you start building and installing Apache Guacamole on Ubuntu 24.04 with the following commands:

Код: bash
sudo ./configure --with-init-dir=/etc/init.d --enable-allow-freerdp-snapshots
Код: bash
sudo make
Код: bash
sudo make install

The installation process may take some time to complete. After that, you need to update the installed library cache with the following command:

Код: bash
sudo ldconfig

Enable and Start Guacamole Service

Now you must reload your systemd to apply the changes:

Код: bash
sudo systemctl daemon-reload

Next, use the following commands to enable and start the Guacamole service on Ubuntu 24.04:

Код: bash
sudo systemctl enable guacd
Код: bash
sudo systemctl start guacd

Then, verify your Guacamole service is active and running on Ubuntu 24.04:

Код: bash
sudo systemctl status guacd

Check Guacamole Service is active on Ubuntu 24.04Installing Apache Guacamole on Ubuntu 24.04 – Guacd Status

Important Note: You must create the Guacamole configuration files and extensions. These files will used in the later steps. To do this, you can run the command below:
Код: bash
sudo mkdir -p /etc/guacamole/{extensions,lib}

3. Download and Install Guacamole Frontend Interface on Ubuntu 24.04 (Guacamole Web App)

At this step, you must download and install the Apache Guacamole Web Application. For this purpose, you must install Tomcat. At the current time, Apache Guacamole is compatible with Tomcat 9. Because Tomcat 9 is not available in Ubuntu 24.04, we added the Ubuntu 22.04 repository and then install Tomcat 9 with the commands below:

Код: bash
sudo add-apt-repository -y -s "deb http://archive.ubuntu.com/ubuntu/ jammy main universe"

Код: bash
sudo apt install tomcat9 tomcat9-admin tomcat9-common tomcat9-user -y

Next, use the following command to download the Gucamole web app source code. Just remember that the version of the web app must be the same as the Guacamole version.

Код: bash
sudo wget https://downloads.apache.org/guacamole/1.5.5/binary/guacamole-1.5.5.war

Download and Install Guacamole Frontend Interface on Ubuntu 24.04

Then, you must move the Guacamole Web client to the Tomcat directory with the command below:

Код: bash
sudo mv guacamole-1.5.5.war /var/lib/tomcat9/webapps/guacamole.war

To apply the changes, restart Apache Guacamole and Tomcat services on Ubuntu 24.04:

Код: bash
sudo systemctl restart tomcat9 guacd

4. Set up Guacamole Database Authentication on Ubuntu 24.04

In this step of installing Apache Guacamole on Ubuntu 24.04, you must configure Guacamole database authentication. By default, Guacamole supports basic user authentication that is used for testing. However, we want to use a production-ready database authentication through MariaDB. To do this, follow the steps below:

First, install MariaDB with the following command:
Код: bash
sudo apt install mariadb-server -y

Then, run the MySQL security script to set a password for your MariaDB:
Код: bash
sudo mysql_secure_installation

Set Root password for MySQL Guacamole
Download MySQL Java Connector for Apache Guacamole

Next, you must download the MySQL Java Connector. At the current time, the latest MySQL Java connector is Connector/J 9.1.0. To download the package, run the command below:

Код: bash
sudo wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-j-9.1.0.tar.gz

Download MySQL Java Connector for Apache Guacamole

Now extract your downloaded file and copy it to the /etc/guacamole/lib/ directory with the following commands:

Код: bash
sudo tar -xf mysql-connector-j-9.1.0.tar.gz

Код: bash
sudo cp mysql-connector-j-9.1.0/mysql-connector-j-9.1.0.jar /etc/guacamole/lib/

Download Apache Guacamole JDBC AUTH Plugin

At this point, you must download the Apache Guacamole JDBC AUTH Plugin. Just remember that the version you will download same as the version of the Guacamole.

Код: bash
sudo wget https://downloads.apache.org/guacamole/1.5.5/binary/guacamole-auth-jdbc-1.5.5.tar.gz

Download Apache Guacamole JDBC AUTH Plugin

Then, extract your downloaded file and copy it to /etc/guacamole/extensions/ directory with the commands below:

Код: bash
sudo tar -xf guacamole-auth-jdbc-1.5.5.tar.gz

Код: bash
sudo mv guacamole-auth-jdbc-1.5.5/mysql/guacamole-auth-jdbc-mysql-1.5.5.jar /etc/guacamole/extensions/

Create Apache Guacamole Database and User

In this step of installing Apache Guacamole on Ubuntu 24.04, you must create a user and database. To do this, log in to your MariaDB shell:

Код: bash
sudo mysql -u root -p

Enter the password you have configured for it. From your MariaDB shell, run the following commands to create a database, user database, and grant the privileges to it:

 
Код: bash
CREATE DATABASE guac_db;
Код: bash
CREATE USER 'guac_user'@'localhost' IDENTIFIED BY 'password';
Код: bash
GRANT SELECT,INSERT,UPDATE,DELETE ON guac_db.* TO 'guac_user'@'localhost';
Код: bash
FLUSH PRIVILEGES;

When you are finished, exit from your MariaDB shell:

Код: bash
 EXIT;

Create Apache Guacamole Database and User
Import SQL Schema Files For Guacamole

At this point, you must navigate to the MySQL Schema directory with the command below:

Код: bash
cd guacamole-auth-jdbc-1.5.5/mysql/schema

From there, run the command below to import the SQL schema files to the MySQL database:

Код: bash
cat *.sql | mysql -u root -p guac_db

Enter your MariaDB root password to complete the process.
Create Properties Files For Apache Guacamole

Now use your desired text editor like Vi Editor or Nano Editor to create the properties files for Guacamole:

Код: bash
sudo vi /etc/guacamole/guacamole.properties

Add the following configuration settings to the file with your database credentials:

Код: bash
# MySQL properties
mysql-hostname: 127.0.0.1
mysql-port: 3306
mysql-database: guac_db
mysql-username: guac_user
mysql-password: password

Once you are done, save and close the file.
Create Properties Files For Apache Guacamole

Finally, restart the services to apply the changes:

Код: bash
sudo systemctl restart tomcat9 guacd mysql
5. Access Apache Guacamole Dashboard via Web Interface

Now that you are finished with installing Apache Guacamole on Ubuntu 24.04, you can access the Guacamole dashboard by following the URL below from your Web browser:

http://server-ip:8080/guacamole

You must see the Guacamole login screen. Enter the following credentials to log in:

username: guacadmin
password: guacadmin
#2
    Установите PowerCLI:

Код: bash
Install-Module -Name VMware.PowerCLI -Scope CurrentUser

    Подключиться к серверу vCenter:

Код: bash
Connect-VIServer -Server <vCenter_Server_IP>
    Получить и экспортировать список виртуальных машин:

Код: bash
Get-VM | Select-Object Name, PowerState, NumCpu, MemoryMB, Guest, @{N="IP Address";E={@($_.Guest.IPAddress)}} | Export-Csv -Path "C:\VMListip1.csv" -NoTypeInformation
#3
Proxmox / Миграция контейнера proxmox в ...
Последний ответ от George - Окт. 21, 2025, 08:11
Доброго дня, уважаемые читатели!
Встала передо мной задача перенести некоторые виртуалки с proxmox в vmware. только вот одна из них оказалась контейнером. То есть, как я это понял, это типа докера, использует ядро итд самого прокса.
Для начала конвертируем диск в vmdk. Допустим, id нашей виртуалки 101. Подключаемся к консоли и набираем команду:

Код: bash
find / -name vm-101-disk-0*

смотрим результат выполнения

Цитировать/dev/pve/vm-101-disk-0

запускаем конвертацию

Код: bash
qemu-img convert -f raw /dev/pve/vm-101-disk-0 -O vmdk /tmp/vm-101-disk-0.vmdk

в зависимости от размера диска, это займет какое-то время. По окончанию, переписываем файл

Код: bash
scp /tmp/vm-101-disk-0.vmdk 192.168.23.100:/vmfs/volumes/disk1

Создаем виртуалку на vmware, ставим убунту. Я пробовал и убунту, и дебиан, но разницы нет - полученная виртуалка будет убунтой. Расписывать как это делается, я не буду, думаю тот, что занялся таким переносом это делать умеет)



Далее мы удаляем диск виртуалки без удаления файла, подключаем наш перенесенный диск (чтоб он был в системе как /dev/sda) и подключаем обратно отключенный ранее диск виртуалки. Загружаемся.

монтируем наш диск

Код: bash
mount /dev/sda /mnt

создаем папки

Код: bash
mkdir /mnt/sys
Код: bash
mkdir /mnt/proc
Код: bash
mkdir /mnt/dev
Код: bash
mkdir /mnt/run

Примонтируем на новый диск папки /sys, /proc, /dev, из работающей системы:

mount --bind /sys /mnt/sys
mount --bind /proc /mnt/proc
mount --bind /dev /mnt/dev

устанавливаем ядро:

Код: bash
sudo apt install linux-image-generic linux-headers-generic

fstab

Код: bash
vi /etc/fstab

Добавляем строку

Код: bash
/dev/sda / ext4 defaults 0 1

устанавливаем загрузчик

Код: bash
sudo grub-install /dev/sda --force

без --force не встает.


#4
Установка Docker на Ubuntu 22.04 сводится к перечню команд в терминале. Ниже размещена пошаговая инструкция с пояснениями к выполняемым действиям. Алгоритм также подойдет и для серверных версий Ubuntu.

1. Обновляем индексы пакетов apt

К сожалению, в стандартном репозитории не всегда размещены новейшие релизы ПО. Поэтому в этой инструкции мы будем загружать Docker из его официального репозитория, чтобы установить именно последний релиз. В первую очередь, нам нужно обновить индексы пакетов:
 
Код: bash
sudo apt update

2. Устанавливаем дополнительные пакеты

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

    curl — необходим для работы с веб-ресурсами;
    software-properties-common — пакет для управления ПО с помощью скриптов;
    ca-certificates — содержит информацию о центрах сертификации;
    apt-transport-https — необходим для передачи данных по протоколу HTTPS.

Скачаем их:

 
Код: bash
sudo apt install curl software-properties-common ca-certificates apt-transport-https -y

Флаг -y означает, что на все вопросы терминала ответом будет «Да».

3. Импортируем GPG-ключ

GPG-ключ нужен для верификации подписей ПО. Он понадобится для добавления репозитория докера в локальный список. Импортируем GPG-ключ:

Код: bash
wget -O- https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor | sudo tee /etc/apt/keyrings/docker.gpg > /dev/null

Во время импорта терминал может вывести предупреждение, после чего сообщит об успешном выполнении команды.

4. Добавляем репозиторий докера

Добавим репозиторий для нашей версии Ubuntu, которая называется «Jammy». Для других версий ОС нужно использовать их кодовые имена, которые были перечислены в разделе «Системные требования». Выполняем команду:

  
Код: bash
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu jammy stable"| sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Во время выполнения терминал попросит подтвердить выполнение операции. Нажимаем Enter.

5. В очередной раз обновляем индексы пакетов

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

Код: bash
sudo apt update

6. Проверяем репозиторий

Убедимся, что инсталляция будет осуществлена из нужного нам репозитория. Выполняем следующую команду:
 
Код: bash
apt-cache policy docker-ce

Вывод:

Image3

В зависимости от выхода новых версий Docker вывод может иметь другой вид. Главное убедиться, что установка будет осуществляться из репозитория докера.

7. Устанавливаем докер

После осуществление всех манипуляций с репозиториями можно перейти непосредственно к установке:

Код: bash
sudo apt install docker-ce -y

После выполнения команды начнется установка Докера.

Убедимся в успешности установки, проверив статус в системе:

Код: bash
sudo systemctl status docker

Вывод:

Image1

Как видим, всё в порядке: служба Docker имеет статус Active(Running).
Ubuntu 22.04 — Установка Docker Compose

Docker Compose — это инструмент Докера, предназначенный для управления большим количеством контейнеров. Он используется в проектах, в которых используется много контейнеров, которые должны работать вместе как единое целое. Вручную управлять этим процессом затруднительно. Весь процесс управления описывается в рамках одного YAML-файла: он содержит настройки и конфигурацию всех контейнеров и приложений в них.

Есть несколько способов установить Docker Compose. Мы рассмотрим два из них: установку из репозитория ОС, а также способ установить последнюю версию вручную.
Установка с помощью apt-get

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

Код: bash
  
sudo apt-get install docker-compose

Ручная установка

Переходим в репозиторий на GitHub и находим номер версии новейшего релиза (Latest).

На момент обновления статьи Latest-версия Docker Compose для установки на Ubuntu 22.04 — v2.38.2. Загрузим её:

 
Код: bash
sudo curl -L "https://github.com/docker/compose/releases/download/v2.38.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

В команде с помощью параметров $(uname-s) и $(uname -m) автоматически учитываются характеристики системы и её архитектура. После окончания загрузки изменим права доступа скачанного файла:

Код: bash
sudo chmod +x /usr/local/bin/docker-compose
Заключение

В рамках этого материала мы рассмотрели установку Docker на Ubuntu 22.04, а также несколько путей установки Docker Compose. Для своих экспериментов и практической деятельности вы можете арендовать облачный сервер на Timeweb Cloud. А если вы уже работаете с контейнерами и рассматриваете способы их оркестрации, то у Timeweb Cloud есть сервис Managed Kubernetes, который поможет вам автоматизировать управление контейнерами.
#5
Proxmox / Перенос виртуальной машины с г...
Последний ответ от George - Май 13, 2025, 04:47
В жизни бывает, когда сталкиваешься с тем, что раньше никогда не приходилось делать. Вот и я столкнулся с proxmox. Году в 2021 я его попробовал, развернул 3 ноды, поднял на них 11 windows. Но при попытке выключить ноду, мою витруалку не мигрировало, как в vmware, а выключило и включило на другой ноде. После этого я слегка потерял интерес к данной системе. Но жизнь снова столкнула нас. Нашел в инете статью и сохранил себе

Мы рассмотрим один из способов переноса виртуальной машины с гипервизора VMware в Proxmox — экспорт шаблона ovf с последующим его импортом на новый гипервизор. Для выполнения задачи будет использоваться утилита ovftool, которую мы установим на хост Proxmox.

Подробнее про миграцию серверов в Proxmox можно почитать на официальном сайте гипервизора.


Установка ovftool

Утилита ovftool нужна для экспорта виртуальной машины VMware в шаблон ovf. Она может быть установлена простой распаковкой архива в любой каталог компьютера или сервера. Мы будем устанавливать ovftool на гипервизор Proxmox.

Первым делом переходим на страницу загрузки утилиты и копируем ссылку на последнюю версию архива:
скачать естественно нельзя, я приложу файл, скачанный мной в мае 2025
Копируем ссылку для скачивания архива ovftool

Используя данную ссылку, загружаем архив, подключившись к Proxmox по SSH:

Загружаем соответственно, через winscp, поскольку нельзя скачать и с proxmox тоже

Код: bash
curl -sOL https://vdc-download.vmware.com/vmwb-repository/dcr-public/2ee5a010-babf-450b-ab53-fb2fa4de79af/2a136212-2f83-4f5d-a419-232f34dc08cf/VMware-ovftool-4.4.3-18663434-lin.x86_64.zip

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

Код: bash
unzip VMware-ovftool-*.zip


Переносим распакованный каталог в папку /opt:

Код: bash
mv ovftool /opt/

ovftool установлен. Можно переходить к экспорту/импорту машины.
[нет. Надо еще права задать на исполнение. Я через winscp дал из всей папке[/i]

Перенос виртуальной машины
Синтаксис для экспорта виртуальной машины следующий:

Код: bash
/opt/ovftool/ovftool vi://<user>:<password>@<vm_host>/<vm_folder>/<vm_name> <path/to/export>

* где:

user — имя пользователя, под которым мы подключаемся к гипервизору.
password — пароль пользователя. Если не задать, то будет запрошен интерактивно.
vm_host — имя гипервизора, с которого мы будем экспортировать виртуальную машину.
vm_folder — каталог, в котором находится виртуальная машина.
vm_name — имя виртуальной машины.
path/to/export — путь, где будет сохранен каталог, в котором будет экспортирован шаблон выгруженной виртуальной машины.
Предположим, что нам нужно перенести виртуальную машину win11 с гипервизора esxi1.cloud-life.site. Команда будет такой:
Код: bash
/opt/ovftool/ovftool vi://root@esxi1.cloud-life.site /win11 ./

* импорт будет выполнен в текущий каталог, где мы находимся при выполнении команды ovftool. В нем будет создан каталог по имени машины (в нашем случае, win11), а в нем будут размещены файлы экспортированной машины.

ЦитироватьУ команды ovftool есть много полезных опций. Наиболее полезны noSSLVerify и powerOffSource:

/opt/ovftool/ovftool --noSSLVerify --powerOffSource vi://root@esxi1.cloud-life.site/win11 ./

* noSSLVerify — не выполняет проверку сертификата. Удобно, если у нас самоподписанный сертификат на хосте vmware. powerOffSource — автоматически выключит виртуальную машину, если она включена (включенную машину нельзя экспортировать).

Начнется процесс экспорта-импорта. Он займет какое-то время — просто ждем. Как было сказано выше, в текущем каталоге будет создана папка с именем переносимой виртуальной машины.

Теперь можно создать новую виртуальную машину на Proxmox из шаблона ovf. Синтаксис следующий:
Код: bash
qm importovf <VMID> ./<vm_name>/<vm_name>.ovf <pve_storage>

* где:

<VMID> — идентификатор для создаваемой виртуальной машины (должен быть уникальным для гипервизора или его кластера).
./<vm_name>/<vm_name>.ovf — путь до выгруженного ovf файла.
<pve_storage> — имя хранилища Proxmox.
Например:

Код: bash
qm importovf 333 ./win11/win11.ovf ssd1

* в данном примере будет создана виртуальная машина с идентификатором 333 на хранилище ssd1.

Готово. Перенос виртуальной машины из VMware в Proxmox по простому сценарию выполнен.

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

Добавление сетевого адаптера
Импортированная виртуальная машина будет создана без сетевого интерфейса. Его проще всего добавить в веб-инструменте управления Proxmox.

Для этого переходимо к созданной машине - Hardware - Add - Network Device.

Смена утилит гостевой операционной системы
Нам необходимо сначала удалить утилиту для VMware, после установить и запустить утилиту qemu.

Удаление гостевой утилиты VMware
Как правило, устанавливается либо родная утилита, либо open-vm-tools. В зависимости от этого, наши действия будут различаться.

1. Для удаления родной утилиты достаточно ввести команду:

Код: bash
/usr/bin/vmware-uninstall-tools.pl

Если система вернет ошибку, то переходим ко второму варианту.

2. Сначала остановим службу vmtoolsd:
Код: bash
systemctl disable vmtoolsd --now

После удалим open-vm-tools. В зависимости от используемой системы это выполняется разными командами.

а) Deb (Ubuntu / Debian / Astra Linux):

Код: bash
apt purge open-vm-tools

б) RPM (Rocky Linux / РЕД ОС / CentOS):

Код: bash
yum erase open-vm-tools

Установка гостевой утилиты Proxmox (qemu)
В зависимости от типа Linux команды будут отличаться.

а) DEB-based (Ubuntu / Debian / Astra Linux):

Код: bash
apt update
Код: bash
apt install qemu-guest-agent
б) RPM (Rocky Linux / РЕД ОС / CentOS):

Код: bash
yum install qemu-guest-agent

Установка завершена.

Для запуска сервиса выполняем:
Код: bash
systemctl enable qemu-guest-agent --now

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

Создание шаблона
Если нам нужно создать шаблон из импортированной виртуальной машины, вводим:

Код: bash
qm template 333
На этом моменте я перестал читать, и удивился, почему не грузится. Решение простое - тип контроллера устанавливаем VmwareParavirtualх. Другой вариант - ниже, я не пробовал

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

Dracut: /dev/disk/by-uuid does not exist
Система не грузится на импортированной виртуальной машине, выдавая ошибку загрузки. Сообщения могут быть разные, например:

dracut warning: /dev/disk/by-uuid/xxxx does not exist

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

Решение: мы можем изменить настройку виртуальной машины на использование контроллера sata. Как правило, это решает проблему и позволяет загрузить виртуальную машину.

Изменения нужно внести в конфигурационном файле виртуальной машины

Код: bash
vi /etc/pve/qemu-server/<VMID>.conf

Необходимо заменить scsi0 на sata0.

Это можно сделать одной командой sed. Например, для нашей перенесенной машины:

Код: bash
sed -i 's/scsi0/sata0/' /etc/pve/qemu-server/333.conf

#6
mysql (Mariadb) / Создание БД и удаленного польз...
Последний ответ от George - Апр. 30, 2025, 09:19
my.cnf (my.ini on windows)
#Replace xxx with your IP Address
bind-address        = xxx.xxx.xxx.xxx
Then:
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypass';
CREATE USER 'myuser'@'%' IDENTIFIED BY 'mypass';
Then:
GRANT ALL ON *.* TO 'myuser'@'localhost';
GRANT ALL ON *.* TO 'myuser'@'%';
FLUSH PRIVILEGES;
Depending on your OS, you may have to open port 3306 to allow remote connections.


firewall-cmd --zone=public --add-port=3000/tcp --permanent

Because of your password. You can see password validate configuration metrics using the following query in MySQL client:
SHOW VARIABLES LIKE 'validate_password%';
The output should be something like that :
+--------------------------------------+-------+
| Variable_name                        | Value |
+--------------------------------------+-------+
| validate_password.check_user_name    | ON    |
| validate_password.dictionary_file    |       |
| validate_password.length             | 6     |
| validate_password.mixed_case_count   | 1     |
| validate_password.number_count       | 1     |
| validate_password.policy             | LOW   |
| validate_password.special_char_count | 1     |
+--------------------------------------+-------+
Now that the rules for a valid password are clear, you could chose a valid password.
To check the strength of the password you chose, use the VALIDATE_PASSWORD_STRENGTH() function, for example:
SELECT VALIDATE_PASSWORD_STRENGTH('weak');
+------------------------------------+
| VALIDATE_PASSWORD_STRENGTH('weak') |
+------------------------------------+
|                                 25 |
+------------------------------------+
SELECT VALIDATE_PASSWORD_STRENGTH('lessweak$_@123');
+----------------------------------------------+
| VALIDATE_PASSWORD_STRENGTH('lessweak$_@123') |
+----------------------------------------------+
|                                           50 |
+----------------------------------------------+
SELECT VALIDATE_PASSWORD_STRENGTH('N0Tweak$_@123!');
+----------------------------------------------+
| VALIDATE_PASSWORD_STRENGTH('N0Tweak$_@123!') |
+----------------------------------------------+
|                                          100 |
+----------------------------------------------+
Alternatively, you can lower the password policy level or change the validation rules, for example:
SET GLOBAL validate_password.length = 6;
SET GLOBAL validate_password.number_count = 0;


sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
Copy
Search for a line that begins with bind-address and set its value to the IP address on which a MySQL server should listen.

By default, the value is set to 127.0.0.1 (listens only in localhost).

In this example, we'll set the MySQL server to listen on all IPv4 interfaces by changing the value to 0.0.0.0

mysqld.cnf
bind-address           = 0.0.0.0
# skip-networking
Copy
If there is a line containing skip-networking, delete it or comment it out by adding # at the beginning of the line.

In MySQL 8.0 and higher, the bind-address directive may not be present. In this case, add it under the [mysqld] section.

Once done, restart the MySQL service for changes to take effect. Only root or users with sudo privileges can restart services.

To restart the MySQL service on Debian or Ubuntu, type:

sudo systemctl restart mysql
Copy
On RedHat based distributions like CentOS to restart the service run:

sudo systemctl restart mysqld
Copy
Granting Access to a User from a Remote Machine
The next step is to allow access to the database to the remote user.

Log in to the MySQL server as the root user by typing:

sudo mysql
Copy
If you are using the old, native MySQL authentication plugin to log in as root, run the command below and enter the password when prompted:

mysql -uroot -p
Copy
From inside the MySQL shell, use the GRANT statement to grant access to the remote user.

GRANT ALL ON database_name.* TO user_name@'ip_address' IDENTIFIED BY 'user_password';
Copy
Where:

database_name is the name of the database that the user will connect to.
user_name is the name of the MySQL user.
ip_address is the IP address from which the user will connect. Use % to allow the user to connect from any IP address.
user_password is the user password.
For example, to grant access to a database dbname to a user named foo with password my_passwd from a client machine with IP 10.8.0.5, you would run:

GRANT ALL ON dbname.* TO foo@'10.8.0.5' IDENTIFIED BY 'my_passwd';
Copy
Configuring Firewall
The last step is to configure your firewall to allow traffic on port 3306 (MySQL default port) from the remote machines.

Iptables
If you are using iptables as your firewall, the command below will allow access from any IP address on the Internet to the MySQL port. This is very insecure.

sudo iptables -A INPUT -p tcp --destination-port 3306 -j ACCEPT
Copy
Allow access from a specific IP address:

sudo iptables -A INPUT -s 10.8.0.5 -p tcp --destination-port 3306 -j ACCEPT
Copy
UFW
UFW is the default firewall tool in Ubuntu. To allow access from any IP address on the Internet (very insecure), run:

sudo ufw allow 3306/tcp
Copy
Allow access from a specific IP address:

sudo ufw allow from 10.8.0.5 to any port 3306
Copy
FirewallD
FirewallD is the default firewall management tool in CentOS. To allow access from any IP address on the Internet (very insecure) type:

sudo firewall-cmd --permanent --zone=public --add-port=3306/tcp
sudo firewall-cmd --reload
CopyCopy
To allow access from a specific IP address on a specific port, you can either create a new FirewallD zone or use a rich rule. Well create a new zone named mysqlzone:

sudo firewall-cmd --new-zone=mysqlzone --permanent
sudo firewall-cmd --reload
sudo firewall-cmd --permanent --zone=mysqlzone --add-source=10.8.0.5/32
sudo firewall-cmd --permanent --zone=mysqlzone --add-port=3306/tcp
sudo firewall-cmd --reload
CopyCopyCopyCopyCopy
Verifying the Changes
To verify that the remote user can connect to the MySQL server, run the following command:

mysql -u user_name -h mysql_server_ip -p
Copy
Where user_name is the name of the user you granted access to, and mysql_server_ip is the IP address of the host where the MySQL server runs.
#7
Создаешь vmkernel например vmk1 и через SSH и esxcli такой командой задаешь адрес и шлюз:
Код: bash
esxcli network ip interface ipv4 set -i vmk1 -t static -g 10.10.10.1 -I 10.10.10.5 -N 255.255.255.0
-g gateway, -I address, -N netmask значения свои подставишь.
#8
mikroTik / От: Настройка IKEv2 mikrotik
Последний ответ от George - Апр. 15, 2025, 12:58
Возможные проблемы и их решения:
Если компьютер в домене, и в домене есть ЦС, т.е. на компе есть сертификат компа, то, поскольку в windows нельзя выбрать сертификат для vpn соединение не устанавливается, т.к. отсылается не верный сертификат. Решается вот такой командой в powershell
Код: bash
Set-VpnConnection -Name "My VPN Connection" -MachineCertificateIssuerFilter 'C:\mycerts\cert_export_MikrotikIKEv2-CA.crt'
Также действуем при наличии не одного IKEv2 подключения. НО!
Это не помогло в моем случае - в логах микротика все норм, подключение установлено, а вот в винде мне писало "неприемлемые учетные данные IKE"
решение - добавляем в реестр ключ:
Код: bash
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RasMan\Parameters" /v DisableIKENameEkuCheck /t REG_DWORD /d 1
#9
Сетевое оборудование / Доступ к web интерфейсу cataly...
Последний ответ от George - Март 27, 2025, 06:12

Заходим в консоль и дальше configure terminal.

Включим HTTP:
Код: bash
ip http server
Код: bash
ip http authentication local

При необходимости отключить HTTP и HTTPS можно так:
Код: bash
no ip http server
Код: bash
no ip http secure-server
Добавим пользователя если его нет:

Код: bash
username NAME privilege 15 secret PASSWORD

Если необходимо разрешить доступ к HTTP только определенным IP, то посмотрим какие правила есть на коммутаторе:

Код: bash
exit
Код: bash
show access-list
Код: bash
show ip access-lists
Код: bash
configure terminal

Если необходимого правила нет, то создадим:

Код: bash
access-list 10 permit 192.168.1.22
Код: bash
access-list 10 permit 192.168.3.10

Применим правило к HTTP:


Код: bash
ip http access-class 10

Отменить можно так:

Код: bash
no ip http access-class 10
Если необходимо указать максимальное количество попыток подключений:

Код: bash
ip admission max-login-attempts 5
Код: bash
show ip admission configuration

Выйдем их режима конфигурирования и сохраним конфигурацию:

Код: bash
exit
Код: bash
write
#10
Сетевое оборудование / Как правильно обновить IOS в ф...
Последний ответ от George - Март 26, 2025, 06:07
Итак, у вас есть файл с расширением tar, содержащий свежий IOS, который вы хотите использовать в своих коммутаторах. Процедура обновления не представляет никакой сложности, но хочется сразу предупредить о том, что восстановление коммутатора без рабочего IOS, при отсутствии надлежащего опыта, представляет собой более сложный и запутанный процесс, чем само обновление. Поэтому, нижеследующие действия производите на свой страх и риск.
Чтобы передать файл с IOS на коммутатор, вам понадобиться рабочий tftp-сервер, однако его настройка выходит за рамки данной статьи. Разместите tar-файл в рабочем каталоге сервера, после чего убедитесь, что файл имеет верную контрольную md5 сумму. Многие системные администраторы игнорируют сверку контрольных сумм по совершенно непонятным причинам. Эта процедура отнимает совсем немного времени, зато позволяет избежать больших проблем в будущем. И это время совершенно не сравнимо со временем восстановления коммутатора после заливки туда битого IOS-а.
Зайдите на коммутатор и выполните команду dir flash:, чтобы убедиться, что у вас имеется достаточно места на флеш-карте.
cisco #dir flash:
Directory of flash:/
    2  -rwx        9392   Dec 8 2010 21:22:46 +02:00  private-config.text
  547  -rwx        3096   Mar 1 1993 02:00:39 +02:00  multiple-fs
    4  -rwx        9148   Dec 8 2010 21:22:46 +02:00  config.text
    5  drwx         512   Mar 1 1993 02:09:03 +02:00  c2960-lanlitek9-mz.122-44.SE6
27998208 bytes total (18006528 bytes free)
Возможно, вам понадобиться удалить старый IOS, чтобы освободить место для нового. Сделать это можно так:
cisco#delete /force /recursive flash:c2960-lanlitek9-mz.122-44.SE6
Далее произведите загрузку и распаковку нового IOS-са на коммутатор:
cisco #archive tar /xtract tftp://c2960-lanlitek9-tar.122-52.SE.tar flash:
Loading c2960-lanlitek9-tar.122-52.SE.tar from 10.10.10.10 (via Vlan1): !
c2960-lanlitek9-mz.122-52.SE/ (directory)
c2960-lanlitek9-mz.122-52.SE/html/ (directory)
extracting c2960-lanlitek9-mz.122-52.SE/html/stylesheet.css (22059 bytes)
extracting c2960-lanlitek9-mz.122-52.SE/html/ajax.js (28348 bytes)
extracting c2960-lanlitek9-mz.122-52.SE/html/title.js (577 bytes)
extracting c2960-lanlitek9-mz.122-52.SE/html/sorttable.js (48234 bytes)
extracting c2960-lanlitek9-mz.122-52.SE/html/toolbar.js (6383 bytes)
extracting c2960-lanlitek9-mz.122-52.SE/html/ip.js (3500 bytes)
extracting c2960-lanlitek9-mz.122-52.SE/html/appsui.js (1749 bytes)
extracting c2960-lanlitek9-mz.122-52.SE/html/helpframework.js (865 bytes)
extracting c2960-lanlitek9-mz.122-52.SE/html/layers.js (1616 bytes)
extracting c2960-lanlitek9-mz.122-52.SE/html/sitewide.js (12467 bytes)
extracting c2960-lanlitek9-mz.122-52.SE/html/graph.js (39650 bytes)
extracting c2960-lanlitek9-mz.122-52.SE/html/framework.js (24955 bytes)
extracting c2960-lanlitek9-mz.122-52.SE/html/combo.js (9353 bytes)
extracting c2960-lanlitek9-mz.122-52.SE/html/forms.js (13756 bytes)
extracting c2960-lanlitek9-mz.122-52.SE/html/converter.js (4829 bytes)
extracting c2960-lanlitek9-mz.122-52.SE/html/fpv.js (41015 bytes)!
extracting c2960-lanlitek9-mz.122-52.SE/html/more.txt (62 bytes)
extracting c2960-lanlitek9-mz.122-52.SE/html/graph_dash.js (18865 bytes)
extracting c2960-lanlitek9-mz.122-52.SE/html/telnet.shtml (6642 bytes)
extracting c2960-lanlitek9-mz.122-52.SE/html/bottombanner.htm (4108 bytes)
...
extracting c2960-lanlitek9-mz.122-52.SE/c2960-lanlitek9-mz.122-52.SE.bin (7731596 bytes)!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
extracting c2960-lanlitek9-mz.122-52.SE/info (423 bytes)
extracting info (106 bytes)
[OK - 11448320 bytes]
cisco#
Теперь необходимо произвести проверку загруженного образа, чтобы убедиться в его корректности:
cisco#verify /md5 flash:c2960-lanlitek9-mz.122-52.SE/c2960-lanlitek9-mz.122-52.SE.bin
.............................Done!
verify /md5 (flash:c2960-lanlitek9-mz.122-52.SE/c2960-lanlitek9-mz.122-52.SE.bin) = 4568ddfab7a957c62821e0011b3b4ed0
cisco#
Остался последний шаг: перезагрузить коммутатор и убедиться что все работает:
cisco#reload
Proceed with reload? [confirm]
Как вы видите, процедура обновления IOS довольно проста и незатейлива. Однако, хотелось бы ещё раз подчеркнуть, что она небезопасна, особенно, если вы удаляете старый IOS перед заливкой нового. Если вы работаете с удаленным коммутатором, то вы должны быть железно уверены, что канал связи будет работать стабильно на протяжении всей процедуры обновления. В противном случае вас ждет поездка и обучение восстановлению коммутаторов в полевых условиях.

Еще не пробовал, просто сохранил себе инструкцию. Сразу скажу, что места, скорее всего, не хватит. И есть более простой способ, через tftp, выложу ниже. Это, скорее, способ для "поднятия"
🡱 🡳

Отметьте интересные вам фрагменты текста и они станут доступны по уникальной ссылке в адресной строке браузера.