Частин https://chast.in Свободной памяти нет - приходится записывать Thu, 13 Jan 2022 20:43:26 +0000 ru-RU hourly 1 https://wordpress.org/?v=6.2.5 Защищено: Установка 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 Отрывка нет, потому что запись защищена.

The post Защищено: Установка vdsmgr на openvz7 :o) first appeared on Частин.]]>

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

The post Защищено: Установка vdsmgr на openvz7 :o) first appeared on Частин.]]>
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, чем мы мгновенно воспользовались, попутно размышляя о том, как упростить решение задачи.. Конечно же, решение ...

The post Установка CentOS 5 в 2021 first appeared on Частин.]]>

Внезапно выяснилось, что самый хороший 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

The post Установка CentOS 5 в 2021 first appeared on Частин.]]>
https://chast.in/install-centos-5-in-2021.html/feed 0
Error while fetching file MANIFEST https://chast.in/error-while-fetching-file-manifest.html https://chast.in/error-while-fetching-file-manifest.html#respond Wed, 13 Oct 2021 17:40:40 +0000 https://chast.in/?p=1738 При попытке установить FreeBSD через mfsbsd получаем ошибку: «Error while fetching file:///usr/freebsd-dist/MANIFEST» — no such file or directory. Для решения проблемы выходим из установщика и даем в консоли следующие команды

The post Error while fetching file MANIFEST first appeared on Частин.]]>

При попытке установить FreeBSD через mfsbsd получаем ошибку: «Error while fetching file:///usr/freebsd-dist/MANIFEST» — no such file or directory.

Для решения проблемы выходим из установщика и даем в консоли следующие команды

mkdir -p /usr/freebsd-dist
fetch https://download.freebsd.org/ftp/releases/amd64/`uname -r`/MANIFEST -o /usr/freebsd-dist/MANIFEST
bsdinstall
The post Error while fetching file MANIFEST first appeared on Частин.]]>
https://chast.in/error-while-fetching-file-manifest.html/feed 0
Qemu-KVM на host FreeBSD 13 https://chast.in/qemu-kvm-in-freebsd-13.html https://chast.in/qemu-kvm-in-freebsd-13.html#respond Mon, 23 Aug 2021 14:31:34 +0000 https://chast.in/?p=1709 Использование FreeBSD в качестве хостовой ОСи имеет многочисленные преимущества.. Во первых это мощный и гибкий файервол ipfw. Во-вторых специально созданная для снапшотов файловая система ZFS. В третьих — малая прожорливость и легендарная надежность фряхи существенно повышет аптайм ноды..Во FreeBSD есть виртуализация KVM, а не только jail. И работает вполне бодро, на момент написания доступна только ...

The post Qemu-KVM на host FreeBSD 13 first appeared on Частин.]]>

Использование FreeBSD в качестве хостовой ОСи имеет многочисленные преимущества.. Во первых это мощный и гибкий файервол ipfw. Во-вторых специально созданная для снапшотов файловая система ZFS. В третьих — малая прожорливость и легендарная надежность фряхи существенно повышет аптайм ноды..
Во FreeBSD есть виртуализация KVM, а не только jail. И работает вполне бодро, на момент написания доступна только 5-ая версия. В общем, если нужно быстро поднять виртуалку на Фре, действую так, как написано ниже

Устанавливаем нужное программное обеспечение:

pkg install qemu-devel

Создаем тестовую виртуальную машину:

# создаем диск для виртуальной машины
qemu-img create -f qcow2 hdd100.img 10G
# скачиваем образ ОСи для виртуальной машины
fetch https://download.grml.org/grml64-small_2021.07.iso -O grml.iso
# стартуем машину, устанавливаем через VNC на IP хостовой тачки, порт 5900
qemu-system-x86_64 -machine q35 -m size=4096 -cdrom grml.iso -hda hdd100.img -boot d -net nic,model=e1000,macaddr=00:e0:e1:12:13:fe -vnc :0

На этом уже всё! Виртуальная машина работает! Можно далее настраивать сеть, пробрасывать внутрь виртуалки интернет..

The post Qemu-KVM на host FreeBSD 13 first appeared on Частин.]]>
https://chast.in/qemu-kvm-in-freebsd-13.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) … В числе прочего оказалось, что: ПЦР тест законодательно не зарегистрирован, экспертизы не было. Перепрофилирование отделений больниц незаконно, был нарушен федеральный закон от ...

The post Не пора ли развакцинироваться, дружок? first appeared on Частин.]]>

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

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

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

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

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

The post Не пора ли развакцинироваться, дружок? first appeared on Частин.]]>
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 адреса. Школьники попыхтят еще пару часов и их интерес к ресурсу пропадает. Конечно, такое случается нечасто, но тем не менее. Решил записать способ ограничений, прекрасно описанный коллегами, ссылку на статью с картинками добавлю в конце заметки. Итак, чтобы не разводить пустую болтовню ...

The post Ограничение подключений с 1 IP в iptables first appeared on Частин.]]>

При небольших атаках зачастую достаточно добавить ограничение по количеству подключений с одного 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 атаками.

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

The post Ограничение подключений с 1 IP в iptables first appeared on Частин.]]>
https://chast.in/per-ip-rate-limiting-iptables.html/feed 0
Проблема с получением почты от Google в HestiaCP https://chast.in/error-get-google-mail-in-hestiacp.html https://chast.in/error-get-google-mail-in-hestiacp.html#respond Thu, 27 May 2021 11:04:53 +0000 https://chast.in/?p=1684 Если установить панель HesitaCP, то с настройками по-умолчанию отчего то не получалась почта, отправляемая с google (и не только оттуда). Почта возвращалась с ошибкой 454 TLS currently unavailable Пришлось покурить логи Exim, которые находятся тут: /var/log/exim4/mainlog . Было обнаружено, что у exim нет прав на чтение файла сертификата TLS: Мгновенно даем права на чтение командами: ...

The post Проблема с получением почты от Google в HestiaCP first appeared on Частин.]]>

Если установить панель HesitaCP, то с настройками по-умолчанию отчего то не получалась почта, отправляемая с google (и не только оттуда). Почта возвращалась с ошибкой 454 TLS currently unavailable

Пришлось покурить логи Exim, которые находятся тут: /var/log/exim4/mainlog . Было обнаружено, что у exim нет прав на чтение файла сертификата TLS:

TLS error on connection from mail-pg1-f170.google.com [209.85.215.170] (cert/key setup: cert=/usr/local/hestia/ssl/certificate.crt key=/usr/local/hestia/ssl/certificate.key): Error while reading file.

Мгновенно даем права на чтение командами:

chmod 664 /etc/exim4/domains/*/aliases
chmod 664 /usr/local/hestia/ssl/certificate.crt
chmod 664 /usr/local/hestia/ssl/certificate.key

И для порядка можно перезагрузить exim4

The post Проблема с получением почты от Google в HestiaCP first appeared on Частин.]]>
https://chast.in/error-get-google-mail-in-hestiacp.html/feed 0
Проброс порта во FreeBSD ipfw kernel nat на другой IP https://chast.in/freebsd-ipfw-kernel-nat-redirect-ip.html https://chast.in/freebsd-ipfw-kernel-nat-redirect-ip.html#respond Fri, 19 Feb 2021 20:49:58 +0000 https://chast.in/?p=1657 Потребовалось пробросить порт с одного сервера с ОС FreeBSD c ipfw на другой сервер. На всякий случай решил записать — мало ли еще кому-нибудь пригодится… В файл /boot/loader.conf допишем: В файле /etc/sysctl.conf укажем: В файле /etc/rc.conf допишем: И собственно, сам файл для файрвола /etc/ipfw.script: После всего этого перезагружаемся, проверяем редирект. При необходимости дописываем еще порты, ...

The post Проброс порта во FreeBSD ipfw kernel nat на другой IP first appeared on Частин.]]>

Потребовалось пробросить порт с одного сервера с ОС FreeBSD c ipfw на другой сервер. На всякий случай решил записать — мало ли еще кому-нибудь пригодится…

В файл /boot/loader.conf допишем:

# RUS
kern.vty=vt

# PIPE
ipdivert_load="YES"
dummynet_load="YES"
ng_pipe_load="YES"

# SETFIB
#net.fibs="2"'

# IPFW
ipfw_load="YES"
ipfw_nat_load="YES"
firewall_logif="YES"

В файле /etc/sysctl.conf укажем:

net.inet.ip.fw.verbose_limit=0
net.inet.ip.fw.verbose=1

В файле /etc/rc.conf допишем:

keymap="ru"
# IPFW
firewall_enable="YES"
firewall_script="/etc/ipfw.script"
firewall_logging="YES"
firewall_logif="YES"
firewall_nat_enable="YES"
dummynet_enable="YES"
gateway_enable="YES"

И собственно, сам файл для файрвола /etc/ipfw.script:

FW="/sbin/ipfw"
# Интерфейс, на котором слушаем
WAN="em0"
# Порт, который слушаем
FromPort="43389"
# IP, на который будем пробрасывать порт
ToIP="91.01.91.11"
# Порт, на который будем пробрасывать
ToPort="3389"
${FW} -f flush
${FW} enable one_pass
${FW} add allow all from any to any via lo0
${FW} add deny all from any to 127.0.0.0/8
${FW} add deny all from 127.0.0.0/8 to any
${FW} add deny all from any to any frag
${FW} add check-state
# Табличка тех IP, кто может зайти в ssh
${FW} table admin create missing
${FW} table admin add 46.0.0.0/8
${FW} table admin add 5.135.191.0/24
${FW} table admin add 188.138.9.0/24
${FW} table admin add 195.154.236.0/24
${FW} add allow ip from "table(admin)" to me 22
# Для них же - разрешаем пинг
${FW} add allow icmp from "table(admin)" to me in icmptype 8
${FW} add allow icmp from me to "table(admin)" out icmptype 0,8
# Ограничим скорость подключения с одного IP на защищенный адрес IP
# Входящая скорость
${FW} pipe 1 config bw 20Mbit/s queue 60 gred 0.002/10/30/0.1
${FW} queue 1 config pipe 1 queue 60 buckets 128  mask src-ip 0xffffffff gred 0.002/10/30/0.1
# Выходящая скорость
${FW} pipe 2 config bw 20Mbit/s queue 60 gred 0.002/10/30/0.1
${FW} queue 2 config pipe 2 queue 60 buckets 128 mask dst-ip 0xffffffff gred 0.002/10/30/0.1
# Собственно - редирект порта 
${FW} nat 1 config log if ${WAN} same_ports deny_in \
        redirect_port tcp ${ToIP}:${ToPort} ${FromPort}
${FW} add nat 1 ip from any to any via ${WAN} 

${FW} add allow tcp from any ${FromPort} to any via ${WAN}
${FW} add queue 1 ip from any to ${ToIP} in via ${WAN}
${FW} add allow  tcp from any to ${ToIP} in via ${WAN}
${FW} add queue 2 ip from me to any out via ${WAN}
${FW} add allow  tcp from me to any out via ${WAN}
${FW} add allow tcp from any to any established
${FW} add deny log all from any to any

После всего этого перезагружаемся, проверяем редирект. При необходимости дописываем еще порты, IP адреса, добавляя

redirect_port IP:Port Port_который слушаем на ${WAN} 

Если на интерфейсе несколько IP и редиректить нужно только с одного IP, то строчка NAT выглядит так:

${FW} nat 1 config log ip ${FromIP} same_ports deny_in \
        redirect_port tcp ${ToIP}:${ToPort} ${FromPort}

Конечно же, проверить все это можно на выделенных и виртуальных серверах компании vps-server.ru

The post Проброс порта во FreeBSD ipfw kernel nat на другой IP first appeared on Частин.]]>
https://chast.in/freebsd-ipfw-kernel-nat-redirect-ip.html/feed 0
Переезд виртуалки c CentOS 6 из OpenVZ в KVM https://chast.in/centos-6-openvz-kvm.html https://chast.in/centos-6-openvz-kvm.html#respond Thu, 11 Feb 2021 21:41:40 +0000 https://chast.in/?p=1642 Потребовалось сделать перенос виртуальной машины c OS CentOS 6 (OpenVZ CT) на ноду с KVM. Ранее переносили виртуалку с Ubuntu 16 — сложности возникли, но справились довольно быстро. А вот с CentOS 6 появились проблемы… Все знают — хорошее быстро заканчивается. В том числе и поддержка ОС CentOS 6 истекла в ноябре 2020. Соответственно, репозитории ...

The post Переезд виртуалки c CentOS 6 из OpenVZ в KVM first appeared on Частин.]]>

Потребовалось сделать перенос виртуальной машины c OS CentOS 6 (OpenVZ CT) на ноду с KVM. Ранее переносили виртуалку с Ubuntu 16 — сложности возникли, но справились довольно быстро. А вот с CentOS 6 появились проблемы…

Все знают — хорошее быстро заканчивается. В том числе и поддержка ОС CentOS 6 истекла в ноябре 2020. Соответственно, репозитории mirror.centos.org переехали на vault.centos.org. Для нас эта информация очень важна, так как нам нужно будет установить ядро для виртуалки.

По сути переезд с одного типа виртуализации на KVM или выделенный сервер, по сути, сводится всего к нескольким пунктам:

  • перенос файлов виртуальной машины
  • установка ядра гостевой системы
  • установка загрузчика
  • исправление fstab
  • изменение настроек сети

Первый пункт плана проблем не вызывает: создается новая машина на ноде с KVM, на ноде с OpenVZ выключаем виртуалку, затем монтируем ее и переносим файлы:

# На источнике - ноде с OpenVZ
prlctl stop CT1
prlctl mount CT1
# Смотрим, что получилось:
mount | grep vz
/dev/md2 on /vz type ext4 (rw,noatime,lazytime,data=ordered)
/dev/ploop13775p1 on /vz/root/89e81c92-2ca6-4321-9869-6aa1c2fc895d type ext4 (rw,relatime,data=ordered,balloon_ino=12)

Видим путь и ID исходной машины —

ID: 89e81c92-2ca6-4321-9869-6aa1c2fc895d
SOURCE PATH: /vz/root/89e81c92-2ca6-4321-9869-6aa1c2fc895d

Забегая вперед скажу: на созданной в KVM машине грузимся в LiveCD CentOS 6 или другой ОС со старым ядром. Иначе нельзя будет сделать chroot в перенесенную ОС CentOS 6. Будет появляться сообщение:

 segmentation fault  chroot /mnt /bin/bash

В LiveCD создаем раздел, форматируем и монтируем диск:

fdisk /dev/sda
mkfs.ext3 /dev/sda1
mount /dev/sda1 /mnt

Копируем файлы на новую машину одной командой:

rsync -aAXv --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} IP_OpenVZ:/vz/root/89e81c92-2ca6-4321-9869-6aa1c2fc895d/ /mnt

Первый пункт завершен успешно. Но самое веселое еще впереди. Пункт 2: для установки ядра в гостевую ОС нам потребуется сделать chroot и накатить ядро. Но здесь нас ждет неудача — репозитории не хотят скачиваться — их не существует уже. И curl к тому же валится сс сообщением:

PYCURL ERROR 77 - "Problem with the SSL CA cert (path? access rights?)

Поэтому, если у вас, как и у меня LiveCD CentOS 6, можно накатить ядро так:

# Меняем репозитории base и epel на vault в LiveCD
curl https://www.getpagespeed.com/files/centos6-eol.repo --output /etc/yum.repos.d/CentOS-Base.repo
curl https://www.getpagespeed.com/files/centos6-epel-eol.repo --output /etc/yum.repos.d/epel.repo

# Устанавливаем ядро и заголовки
yum install kernel.x86_64  -c /etc/yum.repos.d/CentOS-Base.repo --installroot=/mnt
yum install kernel-headers.x86_64  -c /etc/yum.repos.d/CentOS-Base.repo --installroot=/mnt

Другой способ установки гостевого ядра, который тоже работает. Можно сделать chroot после монтирования /proc /sys и /dev:

mount /dev/sda1 /mnt
mount --bind /proc /mnt/proc
mount --bind /dev /mnt/dev
mount --bind /sys /mnt/sys
chroot /mnt 
# В таком случае все работает прямо на гостевой ОСи без проблем:
yum install kernel.x86_64
yum install kernel-headers.x86_64
yum install dracut

Не забываем про генерацию initramfs:

# У меня в  гостевой ОС установилось ядро 2.6.32-754.35.1
# Поэтому ставим именно его:
dracut -f /boot/initramfs-2.6.32-754.35.1.el6.x86_64.img 2.6.32-754.35.1.el6.x86_64

Переходим к пункту 3. Здесь было много всего сделано, в частности — безуспешные попытки завести grub 0.какой то версии. Поэтому было принято решение его удалить и собрать из сырцов grub 2. Для этого в гостевой ОСи устанавливаем компилятор, удаляем grub и злодействуем:

# Установка компилятора
yum -y install gcc bison flex make
# Качаем исходники отсюда:
# http://ftp.gnu.org/gnu/grub/
wget http://ftp.gnu.org/gnu/grub/grub-2.04.tar.gz
tar xf grub-2.04.tar.gz
cd grub-2.04
# Компилируем и ставим:
./configure
make
make install
# Создаем конфиг grub2 для CentOS
/usr/local/sbin/grub-mkconfig -o /boot/grub/grub.cfg
/usr/local/sbin/grub-install /dev/sda
# Жестоко удаляем  grub
yum -y remove grub

У нас еще пара пунктов:

# Исправляем fstab: vim /etc/fstab

/dev/sda1 /  ext3 errors=remount-ro 0       1

# Исправляем конфиг сети - у нас виртуалки получают IP по dhcp
# vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=dhcp
NAME="System eth0"

На этом, по сути — все. Можно все отмонтировать в новой виртуалке и попробовать загрузиться. По идее, если все сделано без ошибок, должно взлететь и работать.. Но это не точно..

И в заключении: действительно отличная новость! Беспрецедентный тариф на виртуалки — от 90 рублей предлагает компания vps-server.ru. При необходимости поможем с переездом на наши серверы от других провайдеров.

The post Переезд виртуалки c CentOS 6 из OpenVZ в KVM first appeared on Частин.]]>
https://chast.in/centos-6-openvz-kvm.html/feed 0
Конфигурирование isc-dhcp в OVH https://chast.in/isc-dhcp-in-ovh.html https://chast.in/isc-dhcp-in-ovh.html#respond Thu, 28 Jan 2021 10:51:15 +0000 https://chast.in/?p=1578 Давеча потребовалось мне раздавать IP адреса по dhcp в локальной сети ДЦ OVH. А адреса с маской 255.255.255.255. И, как водится, шлюз у них один на всех (чтобы масками не добавлять, перерасход же получается — из 8 адресов только 5 используется). Так еще из локалки выпускают только под определенным маком, иначе на шлюзе блочат так, ...

The post Конфигурирование isc-dhcp в OVH first appeared on Частин.]]>

Давеча потребовалось мне раздавать IP адреса по dhcp в локальной сети ДЦ OVH. А адреса с маской 255.255.255.255. И, как водится, шлюз у них один на всех (чтобы масками не добавлять, перерасход же получается — из 8 адресов только 5 используется). Так еще из локалки выпускают только под определенным маком, иначе на шлюзе блочат так, что не видно интернета.

В дата центре OVH шлюз (GATEWAY_IP) у всех IP адресов выделенного сервера начинается так же, как основной IP сервера, а заканчивается на .254. Например для сервера с IP 198.27.92.15 у всех IP будет шлюзом 198.27.92.254 Это очень хороший ход, к слову. Удобно конфигурировать.

После того, как был установлен Proxmox 6 из коробки OVH, я накатил isc-dhcpd server:

apt install -y isc-dhcp-server
cp /etc/dhcp/dhcpd.conf{,.backup} 
echo '' > /etc/dhcp/dhcpd.conf
touch /var/lib/misc/dhcp.leases
nano /etc/dhcp/dhcpd.conf

Теперь нужно написать конфиг серверу, чтобы он раздавал IP адреса для виртуальных машин в сети. Пример я напишу ниже. Сразу оговорюсь — конфиг не идеален, так как работает не со всеми ОС. В частности, на FreeBSD сеть не взлетает, так как Фря не принимает маршрут на такой шлюз. Попытки подсунуть ей маршруты через dhcp не помогли. Адрес IP получает, а настройки сети нет. Если кто то знает, как пропихнуть все-таки маршрут — напишите, пожалуйста, в комментарии.

# мой конфиг isc-dhcpd
# Здесь 192.168.246.xxx - адреса для виртуалок (FAILOVER_IP в терминах OVH)
# 10.10.10.254 - шлюз основного IP сервера (GATEWAY_IP )
option classless-routes code 121 = array of unsigned integer 8;
option classless-routes 24, 192,168,246,	10,10,10,254,
                        0,                      10,10,10,254;
subnet 0.0.0.0 netmask 0.0.0.0 {
        range 192.168.246.170 192.168.246.175;
        option subnet-mask 255.255.255.255; 
        option broadcast-address 192.168.246.255;
        option domain-name-servers 8.8.8.8, 1.1.1.1, 208.67.222.222;
        option domain-name "srv22.vps-server.ru";
        option routers 10.10.10.254;
        default-lease-time 120;
        max-lease-time 600;
}
host VM0 {hardware ethernet 02:00:00:01:01:5b; fixed-address 192.168.246.170; }
host VM1 {hardware ethernet 02:00:00:01:01:ef; fixed-address 192.168.246.171; }
# 

Обращаю пристальное внимание, на то, что для каждого дополнительного IP address нужно указать MAC. Конечно же, именно этот MAC нужно присвоить виртуалке при её создании. Для примера в конце конфига добавлены две строки виртуальных машин VM0 и VM1.

Необходимо заметить, что ISC-dhcp-server довольно капризная в настройке вещь. И понять по выхлопу лога ненавистного systemd почему оно не взлетает не представляется возможным. Поэтому приходится прибегать при отладке к использованию костылей.


# Запуск isc-dhcpd для отладки конфига:
# Для отладки помогает отлично !
/usr/sbin/dhcpd -lf /var/lib/misc/dhcp.leases -cf /etc/dhcp/dhcpd.conf

После того, как конфиг отлажен и работает, можно убить процесс dhcpd и запустить его в режиме демона:


# Убиваем процессы dhcpd 
killall dhcpd -9
/etc/init.d/isc-dhcp-server restart
[ ok ] Restarting isc-dhcp-server (via systemctl): isc-dhcp-server.service.

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

Для работы сети с виртуалкой на FreeBSD следует в ней добавить два маршрута:

route add -host GATEWAY_IP/32 -interface em0
route add default GATEWAY_IP
Или добавить в /etc/rc.conf следующие строки:
ifconfig_em0="inet FAILOVER_IP netmask 255.255.255.255 broadcast FAILOVER_IP"
static_routes="net1 net2"
route_net1="-net GATEWAY_IP/32 -interface em0"
route_net2="default GATEWAY_IP"

На этом всё. Напоминаю, выделенные серверы в России с безлимитным трафиком и виртуальные серверы с честной виртуализацией KVM в различных локациях лучше всего приобретать в компании vps-server.ru. Эти ребята работают более 15 лет на рынке хостинга, имеют огромный опыт администрирования и эксплуатации серверов.

Внимательным читателям :o) сообщаю промокод со скидкой 30% на весь срок аренды некоторых выделенных серверов этой компании в России — diman-rulit2021

The post Конфигурирование isc-dhcp в OVH first appeared on Частин.]]>
https://chast.in/isc-dhcp-in-ovh.html/feed 0