Мне не встречался хостинг с Arch Linux в качестве VDS. Но существуют хостинги с поддержкой пользовательских образов. Вот один из них.
Это НЕ абузоустойчивых хостинг, ещё он находится в РФ. Но вы посмотрите на их цены – я за виртуальных хостинг плачу почти столько же.
Создать виртуальный сервер совсем нетрудно. Переходите к вкладке «Виртуальные серверы», выбираете «Заказать» (кстати, там есть тестовый период в 3 дня – совершенно бесплатный).
Если вы умеете работать без графического интерфейса и у вас нет планов по запуску ресурсоёмких приложений (WPScan, IVRE или что-то подобное в множество потоков), то начального тарифного плана вполне хватит. Служебные процессы сервера после установки системы занимают всего лишь около 80-90 мегабайт оперативной памяти. Если вы выбрали тариф с 1 гигабайтом оперативной памяти, то для приложений и работы вам будет доступно примерно 900 гигабайт. Если вам обязательно нужен графический интерфейс, то начинать нужно с 2 гигабайт оперативной памяти.
Создание VDS
Вряд ли этот этап вызовет особые трудности. Разве что, можно порекомендовать заранее приобрести доменное имя (если оно вам нужно, поскольку вы всегда будете иметь доступ к вашему серверу, в том числе и к веб-серверу, по IP). Не будем подробно останавливаться на этапе создания сервера, это действительно просто, поэтому только последовательные скриншоты:
В принципе, не важно какой образ здесь выбрать - всё равно бы мудем устанавливать свою собственную ОС:
Практически сразу, после создания сервера, приходят два письма на почту с учётными данными. Если бы нам хотелось Debian, то прямо сейчас можно было бы начать работать – подключиться по SSH и размещать файлы веб-сервера.
Подключение пользовательского образа к VDS
Нам нужно написать письмо в службу тех поддержки, в нём попросить подключить пользовательский образ и предоставить на него прямую ссылку. Найти прямую ссылку на образ Arch Linux вы можете на этой странице https://www.archlinux.org/download/
Кстати, все пользовательские образы других пользователей доступны публично, давайте посмотрим, что там есть:
Кто-то даже ставил Kali Linux.
Когда заказанный пользовательский образ появится в списке, то переходим к виртуальной машине:
Останавливаем её и нажимаем там Диски. Теперь выбираем там ISO:
Выбираем имя образа, важно, чтобы диск стоял в начале загрузке, нажимаем ОК:
Теперь диски выглядят так, причём первым в загрузке идёт именно ISO образ Arch Linux:
Возвращаемся к списку виртуальных машин и запускаем нашу машину.
Переходим к VNC и видит привычную нам заставку Arch Linux:
Загружаемся, учётные данные не нужны, поскольку будет произведён автоматический вход от имени рута:
Настройка подключения к Интернету
Проверим наличие подключения к Интернету:
Подключения нет, поскольку нам выдан белый статический IP адрес и этот адрес нужно настроить вручную.
Посмотрим имя сетевого интерфейса:
ip a
Имя – ens3.
Чтобы узнать данные вам IP адрес, маску подсети и адрес шлюза, то в панели управления виртуальной машиной перейдите к вкладке IP адреса:
После этого назначение статичного IP делается следующей командой (сам IP, маску подсети и имя сетевого интерфейса замените на свои):
ip a add 185.117.153.79/255.255.252.0 dev ens3
Тем не менее, этом этапе у вас ещё не будет соединения с Интернетом. Нам нужно прописать шлюз по умолчанию (адрес шлюза замените на свой):
ip route add default via 185.117.152.1
И… всё равно на этом этапе ещё не будет интернета. Нужно прописать DNS сервер.
Для этого откройте файл
vim /etc/resolv.conf
и добавьте туда строку:
nameserver 8.8.8.8
Наконец-то, теперь можно проверять:
ping ya.ru
Сделанные таким образом изменения пропадут после перезагрузки.
Разметка дисков
Теперь, когда есть подключение к Интернету, перейдём к разметке жёстких дисков.
Давайте посмотрим, как называется жёсткий диск:
fdisk -l
Он называется /dev/vda
Давайте его полностью очистим, для этого:
gdisk /dev/vda
Для перехода в экспертный режим там введите
x
Затем для удаления GPT введите
z
Дважды согласитесь, чтобы полностью очистить диск.
Переходим в программу для разметки диска:
cfdisk /dev/vda
Выберите dos:
Создаём новый раздел:
Загрузочный раздел будет размером 200 мегабайт (занятыми при этом будут менее 100 мегабайт, поэтому для уверенности или если планируете эксперементировать с загрузчиком, ядрами, то можно выбрать больше - 300-500 мегабайт):
Выбираем primary:
Делаем его загрузочным (Bootable):
Стрелочкой вниз переходим к свободному месту и выбираем New для создания ещё одного раздела:
Размер не меняю – будет занято всё свободное место:
Выбираем primary:
Сохраняем сделанные изменения:
Набираем yes:
Должно получиться примерно так:
Выходим:
Смотрим наши диски:
fdisk -l
Форматируем наши разделы:
mkfs.ext2 /dev/vda1
mkfs.ext4 /dev/vda2
Монтируем диски следующими командами:
mount /dev/vda2 /mnt
mkdir /mnt/boot
mount /dev/vda1 /mnt/boot
Установка Arch Linux на VDS
Начинаем саму установку:
pacstrap /mnt base linux linux-firmware
Создаём файл fstab (отвечает за монтирование дисков при старте системы):
genfstab -U -p /mnt >> /mnt/etc/fstab
Настройка системы
Выполним следующую команду:
arch-chroot /mnt
Устанавливаем Vim:
pacman -Sy vim
Теперь в файле locale.gen нам нужно раскомментировать две строки, для этого
vim /etc/locale.gen
Ищем там и раскомментируем строки:
en_US.UTF-8 UTF-8
ru_RU.UTF-8 UTF-8
После этого выполняем:
locale-gen
Создадим locale.conf и экспортируем локаль:
echo LANG=en_US.UTF-8 > /etc/locale.conf
export LANG=en_US.UTF-8
Установим Time Zone, связав информацию о временной зоне с localtime:
Выбираем город и делаем ссылку:
ln -s /usr/share/zoneinfo/Europe/Moscow /etc/localtime
Устанавливаем аппаратные часы на UTC:
hwclock --systohc --utc
Устанавливаем имя хоста (у вас точно другое имя хоста – оно такое же, как и имя домена):
echo suip > /etc/hostname
Настраиваем сеть
Помните чуть ранее мы настраивали подключение к Интернету? Теперь нам нужно сделать это же для свежеустановленной ОС.
Скопируйте файл с образцами настройки статического IP:
cp /etc/netctl/examples/ethenet-static /etc/netctl/static.ens3
Отредактируем этот файл:
vim /etc/netctl/static.ens3
Достаточно поменять имя сетевого интерфейса, прописать свой статичный IP, адрес шлюза, маску подсети и DNS сервер.
Вот пример моего файла:
Description='A basic static ethernet connection'
Interface=ens3
Connection=ethernet
IP=static
Address=('185.117.153.79/22')
#Routes=('192.168.0.0/24 via 192.168.1.2')
Gateway='185.117.152.1'
DNS=('8.8.8.8')
## For IPv6 autoconfiguration
#IP6=stateless
## For IPv6 static address configuration
#IP6=static
#Address6=('1234:5678:9abc:def::1/64' '1234:3456::123/96')
#Routes6=('abcd::1234')
#Gateway6='1234:0:123::abcd'
Здесь:
ens3 – имя моего сетевого интерфейса
185.117.153.79/22 – это IP и сокращённая запись маски подсети.
185.117.152.1 – шлюз по умолчанию.
8.8.8.8 – DNS сервер.
Настраиваем автоматическое задействование этих настроек после перезапуска.
netctl enable static.ens3
Устанавливаем пароль рута:
passwd
Создаём нового пользователя с sudo:
useradd -m -g users -G wheel,video -s /bin/bash <имя пользователя>
Установка sudo с pacman:
pacman -S sudo
Раскомментируйте группу wheel из sudoers «%wheel ALL=(ALL)», чтобы пользователи сразу после создания могли sudo:
vim /etc/sudoers
Примечание: у меня по какой-то причине этот файл «только для чтения». Если у вас эта же проблема, то для сохранения в vim команда должна выглядить wq! или же после перезагрузки не забываем залогиниться под рутом, чтобы подправить этот файл. Иначе пользователи не смогут использовать sudo.
Установите пароль для созданного пользователя:
passwd <имя пользователя>
Загрузчик
Поскольку мы используем MBR, а не GPT давайте установим загрузчик GRUB BIOS:
pacman -S grub
Установите и настройте GRUB на /dev/vda:
grub-install --recheck /dev/vda
grub-mkconfig -o /boot/grub/grub.cfg
Выйдем из chroot, размонтируем смонтированные разделы и перезагрузимся:
exit
umount -R /mnt/boot
umount -R /mnt
shutdown -h now
После этого вернитесь к панели управления виртуальными серверами, отключите машину, отключите ISO и запустите сервер. Последний раз переходим к VNC только для того, чтобы убедиться, что всё в порядке, и чтобы настроить подключение по SSH.
Если вас встречает такое окно приветствия, значит всё отработало на отлично!
Входим со своими учётными данными и проверяем наличие Интернет-подключения.
Я залогинился под рутом, поэтому не использую sudo, если вы залогинились под обычным пользователем, то ко всем следующим командам добавляйте sudo.
Устанавливаем SSH в Arch Linux VDS
pacman -S openssh
Включаем SSH и добавляем в автозагрузку:
systemctl start sshd.socket
systemctl enable sshd.socket
Если хотите поменять порт, то это делается так:
systemctl edit sshd.socket
Там можно указать только порт:
[Socket]
ListenStream=23456
Другие настройки, как обычно, в файле /etc/ssh/sshd_config. Но директива ListenAddress будет игнорироваться (если выбрано прослушивание сокета).
Оция PermitRootLogin — может ли root входить в систему посредством SSH:
PermitRootLogin no
Чтобы настроить беспарольный доступ, обратитесь к статье «Настройка SSH в BlackArch».
На этом установку сервера можно считать завершённый. Теперь можно отключиться от VNC и перейти в SSH клиента для настройки веб-сервера и прочего.
Чтобы получился именно BlackArch делаем так:
curl -O https://blackarch.org/strap.sh
sudo bash ./strap.sh
pacman -S blackarch-mirrorlist
Вся доступная информация по теме Arch Linux / BlackArch на VDS по тэгу VDS / VPS.
































