Заметки — Частин https://chast.in Свободной памяти нет - приходится записывать Fri, 30 Aug 2024 20:39:02 +0000 ru-RU hourly 1 https://wordpress.org/?v=6.6.2 Защищено: Установка vdsmgr на openvz7 :o) https://chast.in/howto-setup-vdsmgr-on-openvz7.html https://chast.in/howto-setup-vdsmgr-on-openvz7.html#respond Tue, 14 Dec 2021 20:50:07 +0000 https://chast.in/?p=1392

Это содержимое защищено паролем. Для его просмотра введите, пожалуйста, пароль:

]]>
https://chast.in/howto-setup-vdsmgr-on-openvz7.html/feed 0
Установка CentOS 5 в 2021 https://chast.in/install-centos-5-in-2021.html https://chast.in/install-centos-5-in-2021.html#respond Thu, 21 Oct 2021 21:40:43 +0000 https://chast.in/?p=1742

Внезапно выяснилось, что самый хороший CentOS это 5ый. И клиенту нужен был именно он. Появилась дилемма — как его поставить из Linux Rescue mode, чтобы не тратить на это много времени? Конечно же существовала возможность сделать это через виртуальный KVM, чем мы мгновенно воспользовались, попутно размышляя о том, как упростить решение задачи..

Конечно же, решение нашлось не сразу. Следовало хорошенько все обмозговать. Как всегда, все решается с помощью пары команд.. Итак, находясь в режиме Rescue mode (Ubuntu 20.04 LiveCD) следует вначале установить пакет старого GRUB

# apt install grub-legacy-ec2

Далее — ставим все как обычно через скрипт hetz.sh , выбирая дистрибутив CentOS 5.8 minimal

После установки, загрузившись в рабочий режим свежеустановленной ОСи прописать работающие до сих пор репозитории CentOS 5.11 и обновить OS

rm -fr /etc/yum.repos.d/*
nano /etc/yum.repos.d/CentOS-Base.repo 

Вставляем код ниже, обновляемся и выдаем сервер клиенту

[base]
name=CentOS-$releasever - Base
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
baseurl=http://vault.centos.org/5.11/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5

#released updates 
[updates]
name=CentOS-$releasever - Updates
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
baseurl=http://vault.centos.org/5.11/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5

#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
#baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
baseurl=http://vault.centos.org/5.11/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5

#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus
#baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/
baseurl=http://vault.centos.org/5.11/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5

#contrib - packages by Centos Users
[contrib]
name=CentOS-$releasever - Contrib
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib
#baseurl=http://mirror.centos.org/centos/$releasever/contrib/$basearch/
baseurl=http://vault.centos.org/5.11/contrib/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5

Важное замечание. В некоторых случаях возникает ошибка при подключении к установленной ОСи CentOS 5:

Unable to negotiate with 217.172.XXX.XX port 22: no matching key exchange method found. Their offer: diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1

В этом случае подключаемся к серверу по ssh с ключом

ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 root@217.172.XXX.XX

Если таких серверов много, то следует добавить в конфиг локального клиента следующие команды:

#Legacy
KexAlgorithms +diffie-hellman-group1-sha1
Ciphers +aes128-cbc

]]>
https://chast.in/install-centos-5-in-2021.html/feed 0
Не пора ли развакцинироваться, дружок? https://chast.in/covid-19-fake2.html https://chast.in/covid-19-fake2.html#respond Thu, 12 Aug 2021 07:04:00 +0000 https://chast.in/?p=1716

Внезапно выяснилось, что вакцинация это сговор фармацевтических компаний, возглавляют которые товарищи Александр Гинцбург, бизнесмен Лейф Юханссон (AstraZeneca, ранее работал в Volvo Group и Ericsson), ветеринар Альберт Бурла (Pfizer), инженер Стефан Бансель (Moderna) …

В числе прочего оказалось, что:

  • ПЦР тест законодательно не зарегистрирован, экспертизы не было.
  • Перепрофилирование отделений больниц незаконно, был нарушен федеральный закон от 21.11.2011 N 323-ФЗ, ст.37
  • Лечение вне инструкций, использование плазмы, гормонов являются медицинскими экспериментами и уголовно наказуемыми деяниями.
  • При общении с больными covid-19 заражения не происходит.

Видео плохого качества, это стрим, судя по всему. Но тем не менее — рассказанное весьма убедительно звучит. Видео от 9 августа, широко обсуждается. Доктор Наталья Викторовна Ионова из города Оренбург имеет своё мнение, что сейчас большая редкость.

Не пора ли пройти развакцинацию, друзья? И начать уже поиск тех, кому выгодна всемирная истерия .

]]>
https://chast.in/covid-19-fake2.html/feed 0
Ограничение подключений с 1 IP в iptables https://chast.in/per-ip-rate-limiting-iptables.html https://chast.in/per-ip-rate-limiting-iptables.html#respond Mon, 31 May 2021 17:42:54 +0000 https://chast.in/?p=1688

При небольших атаках зачастую достаточно добавить ограничение по количеству подключений с одного ip адреса. Школьники попыхтят еще пару часов и их интерес к ресурсу пропадает. Конечно, такое случается нечасто, но тем не менее. Решил записать способ ограничений, прекрасно описанный коллегами, ссылку на статью с картинками добавлю в конце заметки.

Итак, чтобы не разводить пустую болтовню — решение от коллег

# Добавляем следующие правила в iptables
iptables --flush
iptables --new-chain RATE-LIMIT
iptables --append RATE-LIMIT \
    --match hashlimit \
    --hashlimit-mode srcip \
    --hashlimit-upto 50/sec \
    --hashlimit-burst 20 \
    --hashlimit-name conn_rate_limit \
    --jump ACCEPT
iptables --append RATE-LIMIT --jump DROP

И теперь можно посмотреть результат:

netstat -plan | grep -oE ":443|:80" | wc -l                                     
24                                                                       

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

На всякий случай напомню — выделенные серверы в России, ЕС и США по скромным ценам можно взять в аренду здесь

]]>
https://chast.in/per-ip-rate-limiting-iptables.html/feed 0
Сборка chan_dongle для Asterisk 13 на FreeBSD https://chast.in/chan_dongle-asterisk-13-in-freebsd.html https://chast.in/chan_dongle-asterisk-13-in-freebsd.html#comments Tue, 01 Sep 2020 20:32:23 +0000 https://chast.in/?p=1538

Однажды душным августовским вечером одному моему знакомому взгрустнулось. Внезапно он осознал, что время быстротечно, жизнь проходит, а минуты, которые ежемесячно предоставляет оператор Yota, не используются и пропадают!! в модеме.. Было решено собрать подзабытый всеми старинный модуль chan_dongle для Asterisk, чтобы пробалтывать, использовать эти минуты через 3G modem. По фигу с кем, но использовать их!

Конечно же ,собрать его требовалось на FreeBSD 12. Описания присутствуют в этих ваших интернетах, но они не годятся, так как не приводят к нужному результату. Без лишних вопросов — приступаем..

Для начала обновляем пакеты FreeBSD и ядро оси. Теперь устанавливаем нужные для сборки пакеты, а именно — autotools и gmake:

# Установим нужный для сборки софт
#
pkg install -y autotools gmake git

Теперь клонируем пакет с GIT-хаба и готовим его к сборке :

# Клонируем пакет
#
git clone https://github.com/oleg-krv/asterisk-chan-dongle
cd dongle/
# Готовимся к сборке
#
aclocal
autoconf
automake -a
./configure

Теперь пара важных моментов — нужно внести исправления в конфиг файла Makefile, а именно — в опции компилятора добавить ключ -fblocks и указать компилятору верный путь до библиотеки libiconv. Для этого находим строчку CFLAGS в файле Makefile и добавляем туда опцию -fblocks

А также в строке LIB = указываем путь LIBS = /usr/local/lib/

# Редактируем нужный файл
#
vi Makefile

CFLAGS  = -g -O2 -O6 -I$(srcdir)  ... -fblocks

LIBS = /usr/local/lib/

Теперь компилируем пакет:

# Компилируем и устанавливаем пакет
#
gmake
gmake install

./config.status
config.status: creating Makefile
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands
strip chan_dongle.so
/usr/bin/install -c -m 755 chan_dongle.so /usr/local/lib/asterisk

Астериск получил плагин для звонков через 3G modem. Теперь можно настраивать его.

# Устанавливаем Asteriks
#
pkg search asterisk13
# В настоящий момент в пакетах собран asterisk13-13.34.0_1,
# устанавливаем его.
pkg install asterisk13-13.34.0_1
# Добавляем в rc.conf
sysrc asterisk_enable="YES"
# Добавляем пользователя asterisk в группу dialer 
# 
pw groupmod dialer -m asterisk
# Стартуем asteriks
#
/usr/local/etc/rc.d/asterisk start

Вероятнее всего, что астериск стартанет и будет работать. Теперь требуется создать конфиг для плагина chan_dongle — файл /usr/local/etc/asterisk/dongle.conf и написать в нем примерно следующее.

[general]
interval=15 
[defaults]
context=default
group=0
rxgain=0 
txgain=0
autodeletesms=yes
resetdongle=yes
u2diag=-1
usecallingpres=yes 
callingpres=allowed_passed_screen 
disablesms=no 
[beeline]
imei=35870507777777
context=beeline-incoming
exten=+79051111111
audio=/dev/cuaU0.1
data=/dev/cuaU0.2
group=1
rxgain=2
txgain=2
resetdatacard=yes
u2diag=0
usecallingpres=yes
callingpres=allowed_passed_screen
disablesms=no

]]>
https://chast.in/chan_dongle-asterisk-13-in-freebsd.html/feed 1
Смена забытого root пароля в VM proxmox https://chast.in/chasnge-missing-root-passwd-in-vm-proxmox.html https://chast.in/chasnge-missing-root-passwd-in-vm-proxmox.html#respond Sat, 11 Jul 2020 14:12:28 +0000 https://chast.in/?p=1480

Естественно, клиенты теряют пароли от виртуальных машин, работающих на виртуализации KVM под управлением гениальной, мощной, удобной системы управления proxmox.

Само собой, довольно просто загуглить варианты с редактированием загрузчика в VNC, добавлением init=/bin/sh в конец строки. Затем перемонтируем корень в rw командой mount -rw -o remount / и собственно, меняем пароль стандартной командой passwd

Однако этот способ годится для современных ОС. У нас же, как всегда — случай нестандартный, ядро linux старое (2.4) и не монтировался /proc с сообщением «mount could not open /proc/partitions»

Соответственно, заходим в консоль хостовой ноды по ssh, отключаем виртуалку в вебмордочке proxmox, обращая внимание на ID. В моем случае -102.

Образ диска у виртуалки находится в директории /var/lib/vz/images/102 и представлен одним файлом — /var/lib/vz/images/102/vm-102-disk-0.qcow2

Нужно смонтировать этот диск, сделать chroot в систему и сменить пароль. Приступаем? Дааа!

Смонтировать диск напрямую не удастся, там ведь несколько разделов:

mount  /var/lib/vz/images/102/vm-102-disk-0.qcow2 /mnt
mount: wrong fs type, bad option, bad superblock on /dev/loop2,
       missing codepage or helper program, or other error

       In some cases useful info is found in syslog - try
       dmesg | tail or so.

Нужно подгрузить модуль ядра nbd и посмотреть разделы на диске qcow2. Действуем так:

modprobe nbd max_part=8
#  подключаем диск в /dev/nbd0
qemu-nbd --connect=/dev/nbd0 /var/lib/vz/images/102/vm-102-disk-0.qcow2
# Смотрим разделы на нем:
fdisk /dev/nbd0 -l
Disk /dev/nbd0: 32 GiB, 34359738368 bytes, 67108864 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x00000000

Device      Boot    Start      End  Sectors  Size Id Type
/dev/nbd0p1 *          63   208844   208782  102M 83 Linux
/dev/nbd0p2        208845 63022994 62814150   30G 83 Linux
/dev/nbd0p3      63022995 67103504  4080510    2G 82 Linux swap / Solaris

Вот тут мы и видим нужный нам раздел — /dev/nbd0p2, так как первый это загрузчик boot, а третий — swap

Как говорится, остальное — дело техники:

# Монтируем раздел в /mnt
mount /dev/nbd0p2 /mnt
# Делаем chroot в виртуальный диск
chroot /mnt
# меняем пароль в новой виртуалке
bash-2.05b# passwd
Changing password for user root.
New password: 
Retype new password: 
passwd: all authentication tokens updated successfully.
bash-2.05b# exit
exit
# отмонтируем диск
umount /mnt

На этом всё. Осталось только включить виртуалку и войти в нее с новым паролем.

Важное добавление. Иногда, при работе в виртуальном КВМ, нужно пробросить дополнительный диск для программ, которые нужно использовать в виртуальной машине, например — с Windows. действуем так:

#
# создаем место, куда смонтируем диск
mkdir /mnt/ramdisk
# создаем в памяти диск нужного размера (здесь - 4Gb)
mount -t tmpfs -o size=4G tmpfs /mnt/ramdisk
# подгружаем модуль nbd
modprobe nbd max_part=8
# создаем  диск для монтирования в VM
qemu-img create -f qcow2 /mnt/ramdisk/disk1.qcow2 4G
Теперь можно создать нужный раздел, например FAT32, смонтировать его. После чего записать нужные файлы на этот диск и передать в VM.
 #
# Монтируем диск и создаем раздел на нем..
qemu-nbd --connect=/dev/nbd0 /mnt/ramdisk/disk1.qcow2
mkfs.fat32 /dev/nbd0
Теперь можно копировать на новый диск данные через SCP и подсовывать диск в виртуалку -hdd /dev/nbd0

]]>
https://chast.in/chasnge-missing-root-passwd-in-vm-proxmox.html/feed 0
Пандемия вируса covid-19 https://chast.in/dedicated-servers-in-moscow.html https://chast.in/dedicated-servers-in-moscow.html#respond Sun, 29 Mar 2020 16:00:00 +0000 https://chast.in/?p=1414

В настоящее время свирепствует дезинформация, связанная с так называемой пандемией — заражением вирусом covid-19. Я не являюсь специалистом по распространению вирусов, не эпидемиолог и не врач. Я обычный человек, который закончил школу в СССР и имел твердую четверку по математике. Для того, чтобы понять, что пандемия это фейк, нужно обратиться к цифрам.

А цифры на сайте ВОЗ нам сообщают следующее: «каждый год от респираторных заболеваний, вызванных сезонным гриппом, умирает до 650 000 человек.» При этом смертность от обычного гриппа составляет 4%. Несложно подсчитать, что количество заболевших гриппом в допандемийном мире в год было 16 миллионов с четвертью. Эти люди спокойно болели дома, чихали, кашляли(иногда в маски и платки), наматывали сопли на рукав, но оставались в социуме.

Никто никаких эпидемий, пандемий не объявлял! В числе прочего, сообщалось, что: «Большинство людей выздоравливает от нее в течение недели без какой-либо медицинской помощи. Распространенные респираторные заболевания, которые связаны с сезонным гриппом и могут привести к смерти, включают в себя пневмонию и бронхит. » Сухие цифры статистики. Ни воплей, ни криков. Спокойно сообщали: «650 тысяч трупов в год».

Что мы имеем сейчас?

Скриншот: цифры на момент написания статьи.

На момент написания этой статьи с момента возникновения заражения в Ухане прошло круглым счетом 3 месяца. То есть — четверть года. Смертность от гриппа covid-19 4.6 % в среднем в мире и менее 0.7 % в Германии (где медицина просто в шесть с половиной раз в среднем лучше, чем везде). Количество заболевших в мире — менее 670 000 человек.

При этом, даже исключая сезонность заболевания (считаю среднее арифметическое!), ВОЗ вполне допускал ранее за такой же период времени более 4 000 000 (четырех миллионов!) заболевших и 162 500 умерших, пандемию не объявляли! Конечно, смертность среди пожилых выше, но так было всегда, посмотрите статистику!

Что предлагаем мы в сложившейся ситуации? Готовы предложить вам аренду выделенного сервера в дата-центре Москвы. Аренда выделенного сервера (дедика) в дата-центре в России, Москва. Выделенные серверы Intel Xeon в аренду.

Собственно, чтобы два раза не вставать: у нас есть надежные серверы для вашего бизнеса. Арендуйте физический сервер для проектов с любой посещаемостью. Физические выделенные серверы. Мощные серверы Asus и Supermicro для сложных проектов с большой нагрузкой и особыми требованиями к надежности. Все серверы имеют доступ в IPMI и безлимитный трафик.

Всем рекомендую сохранять спокойствие, не поддаваться паническим атакам, меньше читать и смотреть новости. Не следует отменять вклады, покупать валюту и скупать продукты в прок. Не стоит вступать в конфликт с представителями власти — они на работе (а работа у них собачья) и могут не проявить сдержанность.

По-возможности нужно следовать старым советским догмам: проветривать помещение, больше находиться на свежем воздухе и на солнце — ультрафиолет губит любые вирусы, в том числе фейковые!

Всё будет хорошо, это обычный вирус гриппа, таких в год бывают десятки!

]]>
https://chast.in/dedicated-servers-in-moscow.html/feed 0
Человеческие имена сетевых интерфейсов https://chast.in/debian9-eth0-names-network-interfaces.html https://chast.in/debian9-eth0-names-network-interfaces.html#respond Thu, 20 Feb 2020 18:59:36 +0000 https://chast.in/?p=1402

Начиная с 9 версии debian и c 15.10 ubuntu systemd переименовывает сетевые интерфейсы в корявые имена, понятные только разработчикам.

Понятно, что если ОС установлена на локальном компьютере, то можно посмотреть имя интерфейса и произвести настройку. Но если речь идет о удаленном сервере, то приходится идти на различные ухищрения. Но мне проще оставить имена, так как было раньше. Тема подробно разжевана в интернете по запросу «How can I show the old eth0 names and also rename network interfaces in debian 9 stretch?»

по сути нужно переконфигурировать загрузчик grub с опциями, возвращающими человеческие имена интерфейсов.

#
# редактируем файл опций загрузчика:
#
nano /etc/default/grub
# находим строку GRUB_CMDLINE_LINUX=""
# меняем ее содержимое на GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"
#
# создаем новый конфиг загрузчика:
grub-mkconfig -o /boot/grub/grub.cfg

После перезагрузки наблюдаем привычные имена интерфейсов на сервере. Напоследок отмечу еще разок, что всё сказанное справедливо и для ubuntu

]]>
https://chast.in/debian9-eth0-names-network-interfaces.html/feed 0
Конфигурирование сети в GRML https://chast.in/howto-configure-network-in-grml.html https://chast.in/howto-configure-network-in-grml.html#respond Sun, 16 Feb 2020 18:14:16 +0000 https://chast.in/?p=1396

Довольно часто для установки различных операционных систем используем загрузку выделенного сервера в режим rescue, используя диcтрибутив grml. При этом в отечественных датацентрах отчего то не предоставляется услуга загрузки из сети и даже получение сетевых настроек по DHCP. Поэтому приходится действовать так:

# Сразу после загрузки GRML, даем
ifconfig eth0 45.156.200.66/27
# или, через ip:
ip a add 45.156.200.66/27 dev eth0
ip route add default via 45.156.200.65
# и следом настраиваем resolv.conf
echo "nameserver 8.8.8.8" >> /etc/resolv.conf

После этих манипуляций появляется сеть, остается только скачать скрипт grml.sh и начинать установку ОС. Конечно же, можно воспользоваться штатной утилитой grml-network, которая в диалоговом режиме позволяет настроить сеть.

]]>
https://chast.in/howto-configure-network-in-grml.html/feed 0
Печать громоздких PDF файлов на принтере Canon LBP-810 https://chast.in/print-pdf-files-on-canon-lbp-810.html https://chast.in/print-pdf-files-on-canon-lbp-810.html#respond Wed, 29 Jan 2020 12:51:56 +0000 https://chast.in/?p=1388

Оказывается, что формат PDF не всегда верно интерпретируют старинные принтеры типа Canon LBP-810, LBP-1120 и аналогичных. При попытке печатать страница «расползается» и текст становится не читаемым. Проблема решается конвертированием PDF в TIFF

На Fedore моментально используем Ghostscript и действуем так:

gs -r300 -o page-tiffg4.tif -sDEVICE=tiff24nc source.pdf

где:

-r — разрешение в DPI,

-sDEVICE=tiff24nc — глубина цвета, может быть tiff32nc или tiff4

-o новый файл

source.pdf исходный файл

]]>
https://chast.in/print-pdf-files-on-canon-lbp-810.html/feed 0