vitich

Рейтинг
136
Регистрация
01.10.2006

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

Вот этим однострочником вы получите список подсеток:

wget `curl -s https://db-ip.com/db/download/ip-to-city-lite | grep -E -o 'https://download.db-ip.com/free/dbip-city-lite-20[0-9]{2}-[0-9]{2}.csv.gz'`&& gunzip dbip-city-lite-*.csv.gz && mv dbip-city-lite-* dbip-city-lite-csv && for IP in $(cat dbip-city-lite-csv | egrep "Paris|Rome" | sed 's/","/-/' | cut -d ',' -f 1 | sed 's/"//' | grep -E -o '(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)' | uniq | sort -n); do echo $IP; done && rm -f dbip-city-lite-csv*

Это вам просто для проверки.

А вот это уже добавляет правила - если надо города поменять то ищите в тексте Paris|Rome|Whatever и вперед

wget `curl -s https://db-ip.com/db/download/ip-to-city-lite | grep -E -o 'https://download.db-ip.com/free/dbip-city-lite-20[0-9]{2}-[0-9]{2}.csv.gz'`&& gunzip dbip-city-lite-*.csv.gz && mv dbip-city-lite-* dbip-city-lite-csv && for IP in $(cat dbip-city-lite-csv | egrep "Paris|Rome" | sed 's/","/-/' | cut -d ',' -f 1 | sed 's/"//' | grep -E -o '(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)' | uniq | sort -n); do iptables -A INPUT -m iprange --src-range $IP -j DROP; done && rm -f dbip-city-lite-csv*



Краткий алгоритм восстановления:

бутаемся с livecd (systemrescuecd например или porteus, любой короче)

разбиваем диск как нам нравится, в случае когда lvm не нужен, предпочитаю использовать LABEL

В моем случае, swap root var home - вы можете разбивать как нравится.

mkswap -L SWAP /dev/sda1
mkfs.ext4 -L ROOT /dev/sda2
mkfs.ext4 -L VAR /dev/sda3
mkfs.ext4 -L HOME /dev/sda4
mkdir /tmp/target
mount -t ext4 /dev/sda2 /tmp/target
mkdir /tmp/target/var
mount -t ext4 /dev/sda3 /tmp/target/var
mkdir /tmp/target/home
mount -t ext4 /dev/sda4 /tmp/target/home

Далее копируем бекап в /tmp/target

Затем распаковываем

cd /tmp/target
tar -zxpvf /tmp/target/backup.tar.gz

После распаковки необходимо смонтировать dev sys proc и выполнить пару команд в chroot

mount --bind /dev /tmp/target/dev
mount --bind /sys /tmp/target/sys
mount --bind /proc /tmp/target/proc
chroot /tmp/target

Теперь редактируем /etc/fstab - как я уже говорил, я использую LABEL поэтому ни имена девайсов ни их UUID меня не интересуют.

Осталось инсталлировать загрузчик и пересобрать initramfs

grub-install /dev/sda
update-grub -uk all

Выходим из chroot и перегружаемся

exit
reboot

Как я писал выше, можно автоматизировать скриптами.

Разбивку в скриптах можно выполнить с помощью sfdisk а образ бекапа качать с интернета :)

Лелуш Ламперуж:
Ну я про докеры почитал. Идея вроде годная, но очень много для меня непонятно. Всё куда то собирается, потом разворачивается.
Пока что спасибо за забив нулями, почитал вроде годно. Забью нулями диск ад скачаю, а то терабайтник не выкачать никак.

docker не надо )

dd с забивкой нулями хорошо, конечно, но лучше tar gz (bz)

tar -cvpzf /home/backup.tar.gz --exclude={/home/backup.tar.gz,/dev/*,/proc/*,/sys/*,/tmp/*} /

Восстанавливается с любого livecd под любую разбивку на любом "другом" железе.

Да, руками, но, будете понимать что и как, а надоест руками - сделаете скриптом.

Я когда-то делал флешки для удаленных машин - вставил, бутнулся, набрал лёгкий пароль (от дурака) и всё само поставилось.

Хороший тамада... И конкурсы интересные...

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

Когда-то поднимал и port knocking, сейчас забил.

Есть ещё phpfarm (автоматизированная сборка разных версий и переключение между ними)

Вариант апгрейда на 10 тоже имеет право быть, но IMHO лучше всё-таки из пакетов:

https://tecadmin.net/install-php-debian-9-stretch/

https://tecadmin.net/switch-between-multiple-php-version-on-debian/

Ну как провайдер, ответил? :)

Вроде как в версии 2.4 есть mod_remoteip на замену mod_rpaf который входит в стандартную поставку.

https://365-on.com/%D0%B7%D0%B0%D0%BC%D0%B5%D0%BD%D0%B0-%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8F-rpaf-%D0%B4%D0%BB%D1%8F-apache-2-4/

Кроме xtrabackup, как по мне, бесплатных вариантов нет.

Собрать из исходников не вариант?

А за деньги ентерпрайс

https://dev.mysql.com/doc/refman/5.6/en/mysql-enterprise-backup.html

Всего: 478