- Openbsd �� linux server
- System/data backup #
- Collect information #
- Performing a simple installation #
- Creating an installation medium #
- Starting the installation #
- System and Networking #
- Users and Logins #
- Disk Setup #
- File Sets #
- Post Installation actions #
- Sending your dmesg after the installation #
- За OpenBSD. Немного восторга
- Готовим рыбу Фугу дома или OpenBSD на домашнем сервере
- И так, приступим.
- 1. Первоначальная настройка.
- 2. DNS (перенаправление запросов провайдеру).
- 3. Soft RAID 1 (архив семейных фото, музыки, видео путешествий и прочая важная информация).
- 4. rtorrent + rutorrent +apache2(торренты разные нужны, торренты разные важны).
- 5. NFS server (сетевая папка для доступа с компьютеров LAN).
- 6. VPN тоннель с работой. FreeBSD(mpd5) OpenBSD (ppp) (люблю, знаете ли, порой работать из дома).
- 7. NUT + UPS Ippon Back power pro 400 (неожиданное отключение электричества нам не страшно).
- 8. Firewall (замечательный пакетный фильтр PF).
Openbsd �� linux server
The first step is to determine if the target system meets the minimum installation requirements. A list of supported platforms can be found here. Most recent platforms are supported. Other ones have been dropped for various reasons. This tutorial is for the x86_64, or amd64, platform only and may or may not be applicable to other platforms.
The minimum amount of available space is only 512MB but requires more advanced knowledge and goes beyond the scope of this tutorial. The minimum amount of recommended space is 8GB which should allow for a simple installation.
System/data backup #
Consider creating a backup of the system before attempting to install OpenBSD. Especially in case of an intended multiboot system since a mistake in drive number or partition is quickly made. The backup should not be stored on the system that’s the target of the installation but instead on another system like a NAS or NFS share, or on an external hard drive or USB stick.
Schrodinger’s backup: The condition of any backup is unknown until a restore is attempted.
Collect information #
The OpenBSD installer will ask you multiple questions during the installation. Although the default answers provided by the installer are normally usable, it’s useful to look into the following in advance.
- Hostname/domain name
- Network setup
If the target machine is connected to a network with a DHCP server, the networking information should be provided automatically. If there’s no DHCP server available, you need the following information:
- IP address
- Subnet mask
- IP address of default gateway
- Domain name of the network
- IP addresses of the network’s DNS servers
- Disk layout
- Which disks are available?
- Is this a multiboot system?
- Is encryption needed?
- Is RAID needed?
- Where will most of the data be stored?
Performing a simple installation #
The OpenBSD installer uses a ramdisk kernel named bsd.rd which creates the environment needed to install OpenBSD but also provides tools that can be useful in a disaster recovery scenario.
The kernel can be booted in multiple ways.
- CD/DVD
- USB drive or external hard drive
- An already existing partition
- Over the network (PXE or other network boot options)
- Floppy disk
Creating an installation medium #
The dd command will overwrite existing data. Make sure to find and then verify the correct device identifier of the USB stick.
The easiest way to create an installation medium is to download the filesystem image and copy it to an USB stick. There are 2 steps involved:
- Download the image (install68.fs for the installer plus the file sets): https://cdn.openbsd.org/pub/OpenBSD/6.8/amd64/
- Write the image to an USB stick with root privileges:
Find/verify the disk number on MacOS by executing the diskutil list command.
For GNU based (most Linux distributions)dd usage, use a capital m for the block size specification.
MacOS output example:
Starting the installation #
Once the kernel is booted, the installer asks the first question.
When you choose I for Install, you’ll be presented with the following questions. The answers depend on your system but the default or suggested answers too will depend on your system. The suggested answers below are from a virtual guest machine running on top of an OpenBSD host.
Terminal type? [vt220]
System and Networking #
System hostname? (short form, e.g. ‘foo’) foo
Which network interface do you wish to configure? (or ‘done’) [vio0]
IPv4 address for vio0? (or ‘dhcp’ or ‘none’) [dhcp]
IPv6 address for vio0? (or ‘autoconf’ or ‘none’)i [none]
Which network interface do you wish to configure? (or ‘done’) [done]
Users and Logins #
Password for root account? (will not echo) hunter2
Password for root account? (again) hunter2
Start sshd(8) by default? [yes]
Change the default console to com0? [yes]
Which speed should com0 use? (or ‘done’) [115200]
Setup a user? (enter a lower-case loginname, or ‘no’) [no] theo
Full name for user theo? [theo]
Password for user theo? (will not echo) hunter2
Password for user theo? (again) hunter2
Allow root ssh login? (yes, no, prohibit-password) [no]
What timezone are you in? (‘?’ for list) [Europe/Amsterdam]
Disk Setup #
More information on disk setup and operations can be found here.
Which disk is the root disk? (‘?’ for details) [sd0]
Use (W)hole disk MBR, whole disk (G)PT, (O)penBSD area or (E)dit? [OpenBSD] W
Use (A)uto layout, (E)dit auto layout, or create (C)ustom layout? [a]
File Sets #
More information on file sets can be found here
Location of sets? (disk http or ‘done’) [http]
HTTP proxy URL? (e.g. ‘http://proxy:8080’, or ‘none’) [none]
HTTP Server? (hostname, list#, ‘done’ or ‘?’) [cdn.openbsd.org]
Server directory? [pub/OpenBSD/6.X/amd64]
Select sets by entering a set name, a file name pattern or ‘all’. De-select sets by prepending a ‘-’, e.g.: ‘-game*’. Selected sets are labelled ‘[X]’.
Set name(s)? (or ‘abort’ or ‘done’) [done]
Location of sets? (disk http or ‘done’) [done]
CONGRATULATIONS! Your OpenBSD install has been successfully completed!
Exit to (S)hell, (H)alt or (R)eboot? [reboot]
Post Installation actions #
Once the machine has been rebooted and you’ve logged in, it’s highly recommended you perform the following actions:
Sending your dmesg after the installation #
At the end of the installation, the installer asks if you’d like to send information about the machine to the OpenBSD developers. Doing this is completely voluntary but helps the developers understand the type of platforms the software is used on and whether or not there are hardware support issues that should be resolved by modifying or adding drivers.
If you choose not to during the installation, you can still send the information later via:
Источник
За OpenBSD. Немного восторга
В 2019 вновь открыл для себя OpenBSD.
Будучи зелёным Unix-цом на стыке тысячелетий пробовал всё что попадалось под руку. Тогда Theo в лице OpenBSD объяснил мне, чтобы я шёл играть в другие игрушки. И вот почти 20 лет спустя, в 2019, опять всплыло — самая безопасная ОС и всё такое. Ну, думаю, посмотрю — наверняка всё та же жесть.
Не тут-то было. Какая же это красота. CWM, TMUX и другие. PLEDGE! Если вы еще не знаете про pledge — бросьте всё и почитайте. Красота в простоте, минимализме, в уважении к человеческим мозгам (имеется в виду вера в то, что человек может не только нажимать кнопку “Next”). Дружелюбие Unix во всей красе: “Unix is friendly … “ — ну вы помните). Красота в фокусе. В фокусе в данном случае на безопасность. В частности, зацепила бескомпромиссность по отношению к “optional security”. Если какой-то элемент системы безопасности можно отключить в целях удобства, то это обязательно будет сделано. SE Linux — классная вещь, но что первым делом делают админы со слабыми нервами? 🙂 Так вот optional security неприемлемо, просто по определению — согласен.
Для себя сделал вывод, что принятие OpenBSD как research проекта расставляет всё на свои места. Система для инженеров. Ставим, изучаем, получаем инсайты, используем, профессионально растём. В проекте рождаются очень интересные технологии, которые приживаются в других системах. Сам подход к разработке, прошу прощения за пафос, честен и благороден: Придумываем -> Реализуем -> Внедряем в сторонний софт -> Рассчитываем, что технологию примут другие вендоры (параллельно быстро патчим баги, особенно по безопасности, и не забываем посылать нытиков в списках рассылок в ФАК).
Естественно, ввиду ресурсных ограничений никогда не будет поддержки широкого спектра устройств, современных ноутбуков, естественно, будет просадка по производительности (да и то это — “вопрос”, есть много сценариев использования — все не учтешь). Мне, кстати, интересно — используется ли OpenBSD коммерческих системах? Никто не в курсе? Судя по разным, в основном зарубежным форумам — да, используется, но насколько масштабно — не выяснял.
А вообще, это было одним из первых приятных сюрпризов год назад, в OpenBSD можно вполне неплохо полноценно жить — практически всё, что душа пожелает, уже спортировано.
Цель сего текста была — заинтересовать. Если кто-либо после этого поставит себе, погоняет, проникнется, то мир станет немого лучше.
Источник
Готовим рыбу Фугу дома или OpenBSD на домашнем сервере
Конечно же речь пойдет не о приготовлении всем известного японского деликатеса. А пойдет она о настройке нескольких сервисов, которые я определил для
себя как необходимые, на домашнем сервере. В качестве операционной системы которого будет выступать OpenBSD.
Многие воскликнут, а зачем тебе эта малоизвестная ОС, ведь есть же Linux, FreeBSD. Да, действительно, я мог бы настроить все необходимое и на других
unix like, но это бы не принесло мне столько удовольствия, сколько я испытал изучая и настраивая OpenBSD. Да и потом, меня всегда привлекают сложные
и нестандартные решения.
Закончим с вступлением и вернемся к теме заголовка.
Спешу представить тебе меню, уважаемый читатель.
Сегодня в меню:
1. Первоначальная настройка.
2. DNS (перенаправление запросов провайдеру).
3. Soft RAID 1 (архив семейных фото, музыки, видео путешествий и прочая важная информация).
4. rtorrent + rutorrent (торренты разные нужны, торренты разные важны).
5. NFS server (сетевая папка для доступа с компьютеров LAN).
6. VPN тоннель с работой. FreeBSD(mpd5) OpenBSD (ppp) (люблю, знаете ли, порой работать из дома).
7. NUT + UPS Ippon Back power pro 400 (неожиданное отключение электричества нам не страшно).
8. Firewall (замечательный пакетный фильтр PF).
И так, приступим.
1. Первоначальная настройка.
Я буду описывать настройку исходя из того, что система уже установлена.
Остановлюсь лишь на настройке сетевых интерфейсов. В моей системе их два: re0, rl0.
Для установки программного обеспечения я использую как пакеты так и порты, поэтому первым делом скачаем дерево портов
Для того чтобы иметь возможность обновлять дерево портов, установим cvsup:
очистим рабочие директории портов
Дабы не откладывать в долгий ящик, сразу же настроим конфиг cvsup для обновления портов
Списки доступных анонимных cvs серверов можно посмотреть Здесь
для обновления достаточно воспользоваться командой
На этом с портами, пока, закончим.
Перейдем к пакетам, на этом шаге я установлю все то по, которое мне необходимо из пакетов
*вполне может статься, что список неполный, так как настроен сервер достаточно давно, что-то я мог упустить
2. DNS (перенаправление запросов провайдеру).
Внесем изменения в /etc/rc.conf.local для запуска named
Для форвардинга запросов провайдерским DNS, достаточно внести в
/var/named/etc/named.conf (в options)
следующие строки
а /etc/resolv.conf будет содержать
3. Soft RAID 1 (архив семейных фото, музыки, видео путешествий и прочая важная информация).
Для организации soft raid’а в OpenBSD выполним следующие.
(Массив будет собран из двух HDD Western Digital по 500Гб )
Далее все строго по man softraid, инициализируем диски(перезапишем MBR bootcode и MBR partition table)
создаем RAID партиции на дисках
хорошим тоном считается очистка начала/заглавия диска перед его использованием
инициализируем и форматируем массив
Внимательный читатель заметит, что при очистке начала вновь созданного массива я использовал имя rsd0, тогда как при создании раздела на диске указал
sd0. Для понимания отличий обратимся к замечательной книге Absolute OpenBSD: UNIX for the Practical Paranoid Майкла Лукаса
Как видите в таблице обозначены два вида устройств — «raw» devices и block devices. Существуют программы, которые написаны для работы с raw
устройствами, и они не могут работать с блочными устройствами и, соответственно, наоборот.
При записи/чтении на/с block devices данные буферезируются, и по достижении определенного предела(размера буфера) происходит обращение к диску.
При записи/чтении на/с raw devices данные передаются устройству немедленно.
М.Лукас приводит следующий пример для облегчения понимания данных механизмов.
Представьте что перед вами стоит бутылка, которую вам необходимо наполнить таблетками. Вы берете таблетку правой рукой и перекладываете в левую, и
так до тех пор пока левая рука не наполнится, затем ссыпаете все таблетки из левой руки в бутылку — это будет работа с block devices. Ваша левая рука
играла роль буфера. А теперь складывайте каждую таблетку в бутылку по одной — это работа с raw devices.
*очень надеюсь что мой корявый перевод объяснений будет понятен
Заключительным действием мы монтируем массив и исправляем /etc/fstab для автоматического монтирования при загрузке системы.
4. rtorrent + rutorrent +apache2(торренты разные нужны, торренты разные важны).
Еще при приготовлении первого блюда(ака первоначальная настройка) мы установили необходимые компоненты для работы торрент качалки, кроме её самой.
Устанавливать её будем из портов.
Для того чтобы rtorrent работал в связке с rutorrent необходимо собрать его с опцией скрипта configure —with-xmlrpc-c, для этого перейдем в каталог
порта
и исправим в Makefile параметр CONFIGURE_ARGS
*небольшой хинт, замечательный механизм Flavors, есть ни что иное как опции скрипта configure, о чем не сложно догадаться взглянув на Makefile
www/php5/extensions, к примеру.
Конфиг rtorrent’а приводить считаю излишним, скажу лишь что торенты складываются на отдельный диск примонтированый к /data, который экспортируется по
NFS. Права на папку
Создадим юзера от которого будет работать rtorrent
автоматический запуск rtorrent, добавим в /etc/rc.local
Следующим по списку идет rutorrent
Теперь возьмемся за настройку apache2, в системе он уже присутствует. Автоматический запуск при старте системы с нужными параметрами решается так
*флаг -u я добавил для того чтобы отключить chroot’инг апача
Для rutorrent’а я сделал отдельный alias(о котором говорится в первом пункте) и VirtualHost
Завершающим шртихом этого блюда будет настройка парольного доступа к web интерфейсу rutorrent.
В папке rutorrent’а создаем файл .htaccess
и файл паролей по указанному пути
Стартуем apache и проверяем плоды наших трудов
Пара скринов =)
5. NFS server (сетевая папка для доступа с компьютеров LAN).
Папки доступные клиентам для монтирования по NFS
Запуск nfsd при старте системы
На десктопе у меня установлена FreeBSD, отредактировав /etc/fstab монтирую папки
6. VPN тоннель с работой. FreeBSD(mpd5) OpenBSD (ppp) (люблю, знаете ли, порой работать из дома).
Доступ в локальную сеть на работе мне необходим постоянно, поэтому я организовал VPN тоннель между сервером на работе и домашним сервером.
Конфиг mpd5 выглядит так
В OpenBSD выполним следующее:
изменяем параметр net.inet.gre.allow
так же меняем значение параметра в /etc/sysctl.conf
демон ppp, основной конфиг
при поднятии линка(добавляем маршруты и передергиваем pf.conf)
при падении(удаляем маршруты и передергиваем pf.conf)
Поднимаем линк при старте системы
7. NUT + UPS Ippon Back power pro 400 (неожиданное отключение электричества нам не страшно).
Создаем конфиги для демонов.
ups.conf
Выставим корректные права на tty00 и загрузим драйвер
Проверяем состояние ИБП
Добавим в автозапуск
В /etc/rc.local прописываем автозапуск nut
Выключаем питание после того, как данные на дисках будут синхронизированы, добавим в rc.shutdown следующее
8. Firewall (замечательный пакетный фильтр PF).
Включаем форвардинг пакетов
производим соответствующие изменения в /etc/sysctl.conf
конфиг PF более чем прост
Всё! OpenBSD укомплектована =)
Вот такой получился у меня домашний сервачок.
Работать с OpenBSD мне очень нравится, нарвится её безкомпромисность, простота и надежность. Кстати, по настоящему оценил ценность команды man я
только сейчас и благодаря этой ОС. Документация системы выше всяких похвал. Разработчикам низкий поклон и глубочайшая благодарность.
Источник