Pull to refresh
20
Karma
0
Rating
Александр Ф. Михайлов @chelaxe

User

Ищем значение числа Пи, используя генератор случайных значений

P=lambda n:sum([(1-(1/n/2+i/n)**2)**.5/n for i in range(0,n)])*4
P(1_000_000)

Асинхронная библиотека для работы с API Mikrotik

from aio_api_ros import create_rosapi_connection as crc

Асинхронная библиотека для работы с API Mikrotik

api Mikrotik и так есть в Mikrotik)) Написание команд для ssh, тут равносильно реализации работы с api Mikrotik. ssh, web-интерфейс — это для человека — администратора, api — для автоматизации. Использование api для автоматизации действий с Mikrotik это правильный подход, нежели использовать для этого ssh, web-интерфейс.

Поле загрузки файлов, которое мы заслужили

Еще есть проблемы в ie9 где нет multiple и когда ajax с файлами таки не отправляется и ты используешь iframe. Еще в ie9 другой объект с файлами, там вроде размера нет и еще что-то, кто помнит напомните. Ох в свое время хлебнул для поддержки ie9 с этим полем загрузки файлов.

Сборка rpm пакетов и настройка своего репозитория

Спасибо. Обязательно ознакомлюсь.

Сборка rpm пакетов и настройка своего репозитория

Кому как удобнее и проще. Мне кажется так нагляднее и понятно.

Сборка rpm пакетов и настройка своего репозитория

repo_gpgcheck = 1

относится так же к проверке подписи у метаданных. Я понял о чем Вы, проверю этот момент и допишу.

Сборка rpm пакетов и настройка своего репозитория

Есть
gpgcheck=1

Про «генерировать подпись для метаданных» я как-то упустил. Спасибо. Изучу этот момент и внесу в статью.

Сборка rpm пакетов и настройка своего репозитория

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

Сборка rpm пакетов и настройка своего репозитория

Выше посмотрите там есть:
sudo semanage fcontext -a -t public_content_t '/var/www/repo(/.*)?'
sudo restorecon -Rv '/var/www/repo'


Ниже действительно не указал `restorecon`, но это подразумевалось. Вообще .htaccess лучше не использовать, о чем я и писал в статье.

Сборка rpm пакетов и настройка своего репозитория

Отвечу тут Вам и товарищу ниже с подобным комментарием.

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

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

Про tmux — стоит отметить конфигурационный файл для него — это единственный полный, с комментариями файл конфигурации в интернете, чтобы его собрать и описать я перерыл все маны, исходный код проекта и попутно указал на некоторые оплошности на GitHub. Так что можно сказать — «моя прелесть». Ну и писать отдельную статью о конфигурации tmux посчитал мелко, для хабра.

Сборка rpm пакетов и настройка своего репозитория

mock действительно удобная вещь, когда ты постоянно и много собираешь пакетов, но если объем не большой, то достаточно будет:
сборку производить на отдельном виртуальном хосте, активно используя технологию snapshot'ов


Да вот статейка по mock, с которой можно начать.

Сборка rpm пакетов и настройка своего репозитория

«magic numbers» — часть отпечатка ключа, идентификатор открытого ключа (GPG key ID). В примере в статье был вывод команды:
gpg --fingerprint chelaxe@gmail.com
    pub   2048R/E6D53D4D 2014-05-07
          Key fingerprint = EE2A FF9A 2BE3 318E 9346  A675 8440 3961 E6D5 3D4D
    uid                  ChelAxe (D.F.H.) <chelaxe@gmail.com>


тут E6D53D4D и есть GPG key ID — однозначно определяет мой открытый ключ. Посмотреть его можно в самой подписи к файлу или однозначно получив от авторов ПО, например в статье в начале мы скачивали ключ CentOS для проверки подлинности файла с контрольными суммами:

wget http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-7
gpg --quiet --with-fingerprint RPM-GPG-KEY-CentOS-7
    pub  4096R/F4A80EB5 2014-06-23 CentOS-7 Key (CentOS 7 Official Signing Key) <security@centos.org>
          Key fingerprint = 6341 AB27 53D7 8A78 A7C2  7BB1 24C6 A8A7 F4A8 0EB5


тут GPG key ID — F4A80EB5

Поднимаем SOCKS прокси для Telegram

Вообще лучше VPN сервер поднять, а чтобы не светить его можно к нему через TOR соединяться (OpenVPN умеет). TOR с обфусцированным мостом. Так надежнее и спокойнее =)

Поднимаем SOCKS прокси для Telegram

CentOS 7

вместо:
sudo ifconfig

, которого нет, но можно поставить:
sudo yum -y install net-tools

использовать нужно:
ip addr


Далее
Разрешаем порт в фаерволе

вернее будет:
sudo vim /usr/lib/firewalld/services/sockd.xml

Описываем наш сервис:
<?xml version="1.0" encoding="utf-8"?>
<service>
    <short>sockd</short>
    <description>My sockd Server.</description>
    <port port="433" protocol="tcp" />
</service>

И добавляем правило:

sudo firewall-cmd --reload
sudo firewall-cmd --get-services
sudo firewall-cmd --permanent --zone=public --add-service=sockd
sudo firewall-cmd --permanent --list-all
sudo firewall-cmd --reload


рекомендую также перенести ssh порт на другой, запретить подключение по ssh для всех пользователей кроме основного


Так же запретить соединение для root, авторизацию по паролю — только ключи и настроить разрыв сессии при простое.

Простой способ установить Mikrotik RouterOS в любом облаке

Как вариант, у меня стоит для The Dude. Лицензию L4 получил на последнем MUM в Екатеринбурге. Образ прикрутил в LVM под Centos 7 для QEMU

Как я это делал
Собственно ставим пакеты, запускаем демона, качаем и создаем образ в LVM, настраиваем сеть и создаем виртуальную машину. Виртуальная машины будет запускаться автоматически.

sudo yum install -y qemu-kvm libvirt libvirt-python python-virtinst libguestfs-tools virt-install
sudo systemctl enable libvirtd
sudo systemctl start libvirtd
sudo reboot

sudo mkdir /mnt/storage/mikrotik
cd /mnt/storage/mikrotik
sudo wget https://download.mikrotik.com/routeros/6.41.3/chr-6.41.3.img.zip
sudo unzip chr-*.img.zip
ls -la chr-*.img
	-rw-r--r--. 1 root root 134217728 мар 12 12:54 chr-6.41.3.img
sudo lvcreate -L134217728b ba_server -n dude
sudo dd if=/mnt/storage/mikrotik/chr-6.41.3.img of=/dev/ba_server/dude bs=2M

sudo cp /etc/sysconfig/network-scripts/ifcfg-{enp2s0,br0}
sudo vim  /etc/sysconfig/network-scripts/ifcfg-enp2s0
	DEVICE=enp2s0
	ONBOOT=yes
	BRIDGE=br0
sudo vim  /etc/sysconfig/network-scripts/ifcfg-br0
	TYPE=Bridge
	BOOTPROTO=static
	IPADDR=192.168.133.280
	NETMASK=255.255.255.0
	GATEWAY=192.168.133.1
	DNS1=192.168.133.1
	DEVICE=br0
	ONBOOT=yes
	ZONE=public
sudo systemctl restart network

sudo virt-install --connect qemu:///system --name='dude' --description='dude' --ram=512 --vcpus=1 --network bridge=br0,model=e1000 --disk path=/dev/ba_server/dude,bus=ide --os-type='other' --os-variant='generic' --nographics --hvm --boot hd --autostart

Mikrotik mAP lite

Сравнил платы и описание, похожи.

Централизованный бэкап Mikrotik устройств при помощи bash-скрипта

возможно использовать на других устройствах после смерти…

Централизованный бэкап Mikrotik устройств при помощи bash-скрипта

Делал подобное. Я сохранял еще лицензию при постановке устройство в систему (система — это 3 скрипта =)) бекапов. И все это благолепие заворачивал в git репозиторий. Коммитил раз в месяц, мне чаще не нужно было. Плюс в том, что можно было различие отследить.

Information

Rating
Does not participate
Location
Снежинск (Челябинская обл.), Челябинская обл., Россия
Date of birth
Registered
Activity