Дополнительные материалы по Freebsd
Онлайн курс «DevOps практики и инструменты»
Если у вас есть желание научиться строить и поддерживать высокодоступные и надежные системы, научиться непрерывной поставке ПО, мониторингу и логированию web приложений, рекомендую познакомиться с онлайн-курсом «DevOps практики и инструменты» в OTUS. Курс не для новичков, для поступления нужны базовые знания по сетям и установке Linux на виртуалку. Обучение длится 5 месяцев, после чего успешные выпускники курса смогут пройти собеседования у партнеров.
Проверьте себя на вступительном тесте и смотрите программу детальнее по .
Рекомендую полезные материалы по Freebsd: |
Описание установки Freebsd 11 на одиночный диск, либо на софтовый raid1, сделанный средствами zfs, которые поддерживает стандартный установщик. Базовая настройка Freebsd, которую можно выполнить после установки сервера общего назначения. Представлены некоторые рекомендации по повышению удобства пользования и безопасности. Описание и нюансы обновления системы Freebsd с помощью утилиты freebsd-update. Показано пошагово на конкретном примере обновления. Настройка Freebsd шлюза для обеспечения выхода в интернет. Используется ipfw и ядерный нат, dnsmasq в качестве dhcp и dns сервера. Мониторинг сетевой активности с помощью iftop. Подробная настройка на Freebsd прокси сервера squid + sams2 — панели управления для удобного администрирования. Настройка максимально быстрого web сервера на базе Freebsd и nginx + php-fpm. Существенный прирост производительности по сравнению с классическим apache. Настройка web сервера на Freebsd в связке с apache, nginx, php и mysql. Пошаговая установка и настройка каждого компонента. |
Установка Freebsd 10.2 со скриншотами
Я предпочитаю скачивать bsd и linux дистрибутивы с . Устанавливать будем с образа FreeBSD-10.2-RELEASE-amd64-disc1.iso. Скачиваем диск и загружаемся с него.
Эта версия статьи устарела. вышла новая версия операционной системы. Рекомендую воспользоваться новой инструкцией по установке Freebsd 11.
Если вы будете устанавливать freebsd на hyperv, то рекомендую посмотреть мой материал на эту тему. Там рассказано о некоторых особенностях интеграции freebsd и гипервизора hyperv, а так же подробно показано как создать виртуальную машину.
В начале установки нас встречает привычное окно инсталлятора:
Выбираем Install и продолжаем. Нужно выбрать раскладку. Я лично всегда пользуюсь раскладкой US, поэтому оставляю ее по-умолчанию. Если вам нужна другая, то выбирайте из списка. Если что, дополнительные раскладки можно добавить позже после установки.
Указываем hostname устанавливаемого сервера. Особого значения не имеет, как вы назовете свой сервер. Сменить имя если что не составляет проблемы.
Выбираем компоненты для установки. В принципе, можно ничего не выбирать, все можно скачать позже самой последней версии. Но порты и исходники я все же рекомендую установить. Их потом будет проще обновить, чем скачивать полностью.
Теперь нужно разметить диск. Длительное время я по стародавним рекомендациям вручную размечал диск, делал отдельные разделы под /var, /usr и так далее. Реально сейчас я не вижу в этом необходимости. Я все дистрибутивы устанавливаю на один раздел и выделяю 20-30 Gb места. Для сервера общего назначения этого достаточно. Чем меньше занимает сервер, тем проще его бэкапить и потом восстанавливать. Все, что требует существенный объем дискового пространства монтируется к серверу отдельно тем или иным способом. Так что выбираем автоматическую разметку на UFS.
Я уже давно не устанавливаю сервера на голое железо, всегда использую гипервизоры. Это удобно и эффективно. Сразу выделяю под сервер отдельный диск нужного размера, поэтому при установке можно использовать весь диск. Если у вас не так, то создайте отдельный раздел и установите систему на него. Я выбираю весь диск.
Дальше выбираем таблицу размеров GPT.
Проверяем разметку диска и если все в порядке, то жмем Finish.
Подтверждаем свои намерения
Дальше начинается непосредственно процесс установки freebsd 10.2. Дожидаемся окончания. Время установки будет зависеть от компонентов, которые вы выбрали ранее. Но в любом случае это не долго, минут 10-15 при выборе установки исходников и портов.
После завершения установки указываем пароль root.
Следующим этапом будет настройка сетевого адаптера. У меня только один адаптер, поэтому сразу перехожу к его настройке:
Соглашаемся с предложением настроить ipv4 параметры.
Я получаю настройки по dhcp, так удобнее и быстрее.
Ipv6 мне не нужно, поэтому отказываюсь от его настройки.
Указываем вручную dns сервер.
У меня локальное время не совпадает с временем по Гринвичу, поэтому на соответствующий вопрос отвечаю No.
Выбираем регион расположения своего сервера. Каждый выбирает, что подходит ему.
После выбора региона указываем часовой пояс.
Выбираем службы, которые будут стартовать при запуске системы. Я обычно выбираю только ssh, все остальное мне не нужно.
Дальше нам предлагают создать дополнительных пользователей. Для того, чтобы после установки получить доступ по ssh к серверу, необходимо создать хотя бы одного пользователя и добавить его в группу wheel. По-умолчанию пользователю root запрещен доступ по ssh.
Все, установка по сути окончена. Теперь можно выполнить дополнительные действия, если в них есть необходимость. Если нет, то можно выходить из инсталлятора, выбрав первый пункт Exit и нажав ОK.
Получаем сообщение, что установка Freebsd 10.2 окончена. Нам предлагают вернуться в шелл, если нужно сделать какие-то настройки из консоли. Если вам не надо, то отказывайтесь.
Получаем последнее сообщение установки. Теперь уже точно все. Выбираем Reboot и ждем загрузки свежеустановленной версии Freebsd.
На этом установка окончена. Заходим в консоль сервера и смотрим, что получилось.
Дальше можно выполнить первоначальную настройку freebsd сервера.
ОПИСАНИЕ
Файл dhcpd.conf содержит информацию о настройкахdhcpd, сервера DHCP разработанного в ISC
Файл dhcpd.conf имеет простой текстовый формат. Разбор файла производится
встроенным в dhcpd парсером. Файл может содержать дополнительные пробелы,
символы табуляции и пустые строки для придания более читабельного вида.
Ключевые слова не чувствительны к регистру. Комментарии могут располагаться
в любом месте, он только не в кавычках. Комментарии начинаются с символа #
и продолжаются до конца строки.
По существу файл состоит из секций-объявлений вида: имя_секции {…}.
В фигурных скобках могут быть заключены другие секции(подсекции) и параметры
Параметры используются для что бы определить поведение сервера:
- что и как делать (например на какой срок выдавать адрес)
- делать ли вообще (например выдавать ли адреса неизвестным клиентам)
- какие дополнительные параметры, кроме IP адреса, предоставлять клиенту
(например шлюз по умолчанию или адреса серверов DNS).
Секции-объявления используются для:
- описания топологии сети
- описания клиентов сети
- описания адресов которые должны предоставлены клиентам
- присвоить группу параметров одновременно в нескольким секциям
При присвоении параметров нескольким секциям одновременно, все параметры должны быть
определены перед определением любых секций зависящих от этих параметров.
Секции описывающие топологию сети включают следующие подсекции:
shared-network и subnet.
Если клиентам в подсети адреса назначаются динамически, то
инструкция range должна быть использована в секцииsubnet. Для клиентов со статически назначенными адресами, или для конфигураций
в которых обслуживаются только известные клиенты, для каждого из них должен быть
описан параметр host
Если необходимо присвоить значения параметрам, в нескольких подсекциях,
которые не сгруппированы на основе принадлежности к одной подсети, то их можно
сгруппировать, поместив в секцию group.
Для каждой обслуживаемой подсети, и для каждой подсети к которой подключен dhcp сервер,
должны быть объявлены секции subnet, которые говорят серверу как распознать
какой адрес к какой подсети относится. Секция subnet требуется для каждой подсети
даже если в ней нет динамически выделяемых адресов.
Иногда случается что в одном физическом сегменте сосуществуют несколько IP подсетей.
Например в организации существует требование использовать 8-битные маски подсетей,
но сеть разрослась до размеров превышающих 254 хоста, в этом случае необходимо использовать
две подсети с 8-битными масками до тех пор пока новый ethernet сегмент не будет добавлен.
В этом случае секции subnet описывающие две эти подсети могут быть заключены в
секцию shared-network.
В некоторых случаях встречаются топологии когда клиенты находятся болле чем в одной
подсети, и в этом случае бывает предпочтительно назначить этим клиентам набор параметров
отличный от тех что назначаются другим клиентам в той же подсети. Клиенты которые
явно объявляются в подсекциях host, могут быть объединены в группу
с помощью объявления group, и в этой секции указываются параметры общие для
всей группы. Для клиентов чьи адреса назначаются динамически не существует способа
назначения параметров всей группе иначе как сгруппировав в соответствии в топологией сети.
Когда клиент загружается, начальные параметры определяются в соответствующем клиенту
объявлении host, затем проверяется секция group (если она существует)
которая содержит в себе host, далее проверяется секция subnet соответствующая
подсети в которой находится клиент, после этого проверяется указаны ли какие-нибудь параметры
в секции shared-network(если есть), содержащей нашу подсеть, ну и наконец
проверяются глобальные параметры, которые могут быть указаны перед всеми объявлениями.
Когда dhcpd ищет секцию host для соответствующего клиента, он следует
следующим правилам:
сперва ищется объявление host где указан параметр fixed-address
и секция subnet или shared network совпадает с подсетью в которой
находится клиент. Если нет соответствующих записей, dhcpd ищет объявление host
без параметра fixed-address. Если подходящих записей не найдено, то dhcpd считает
что нет записей для этого клиента, даже если они есть для этого клиента в другой подсети.
Установка FreeBSD 11
В первом меню загрузчика вам не нужно менять никаких параметров. Просто нажмите «Enter» для продолжения работы:
Шаг 5. Раскладка клавиатуры
Выберите вашу раскладку клавиатуры, по умолчанию используется английская, в большинстве случаев лучше ее оставить:
Шаг 7. Выбор программ
На следующем экране вам предстоит выбрать компоненты системы, которые вы хотите установить FreeBSD 11 на свой компьютер. Для того, чтобы отметить компонент нажмите «Пробел». Для сервера достаточно оставить библиотеки совместимости lib32 и Ports.
Когда завершите, нажмите «Enter».
Шаг 8. Автоматическая разметка диска
Дальше нужно выполнить разметку диска. Вы можете довериться установщику и выполнить автоматическую разметку или же сделать все вручную. Если у вас есть несколько жестких дисков, которые необходимо подключить, лучше использовать ZFS. Но мы рассмотрим на примере UFS.
Далее вам нужно будет подтвердить использование всего диска для установки системы. Все данные на нем будут уничтожены.
Затем выберите таблицу разделов. Если ваш диск больше 2 Тб или вы используете UEFI вместо BIOS, то вам лучше использовать GPT, в всех остальных случаях более предпочтительно MBR. Даже будет лучше если вы отключите защищенную загрузку и будете использовать MBR:
В следующем окне система покажет вам созданные разделы. В случае MBR будет создано два раздела — корень и раздел подкачки. Используйте «Tab» для выбора кнопки «Commit», а затем нажмите «Enter»:
Шаг 9. Установка FreeBSD
Дальше будет запущена установка FreeBSD 11 с флешки или другого носителя, в зависимости от скорости работы вашего компьютера и жесткого диска, установка может занять от 10 до 30 минут.
Шаг 10. Пароль суперпользователя
Когда установка завершится, система предложит вам ввести пароль для суперпользователя. Установщик спросит пароль два раза, но он не будет отображаться на экране:
Шаг 11. Настройка сети
Дальше выберите сетевой интерфейс, через который вы собираетесь получать доступ в интернет. Как видите, имена сетевых интерфейсов отличаются от стандартов Linux:
Затем выберите «Yes», чтобы выполнить настройку ip адреса IPv4:
Вы можете выбрать вариант получения адреса по DHCP или настроить его вручную:
Настройку адреса IPv6 можно пропустить:
Последний этап настройки сети — настройка DNS серверов. Лучше всего добавить, кроме стандартного, DNS сервер от Google — 8.8.8.8:
Выберите географический регион, в котором расположен ваш компьютер:
Затем выберите вашу страну:
На следующем этапе нужно ввести текущую дату и время, если они были неверно получены из сети:
Шаг 14. Автозагрузка
Дальше нужно выбрать какие сервисы будут загружаться по умолчанию при старте системы. Например, SSH, NTP и Powerd. Последний позволяет автоматически регулировать частоту процессора в зависимости от нагрузки на систему.
Шаг 15. Дополнительные оптимизации
Эти опции позволяют усилить безопасность вашей системы. Отключите доступ к буферу ядра для непривилегированных пользователей. Отключите отладку, Включите очистку /tmp во время загрузки, отключите сокет Syslogd и Sendmail если вы не планируете использовать почтовый сервер:
Шаг 16. Другие пользователи
Дальше установщик спросит вас не желаете ли вы добавить к системе еще пользователей. Выберите «yes» и введите всю необходимую информацию о пользователе. Безопаснее всего оставить все поля по умолчанию, для этого достаточно нажимать «Enter»:
В качестве оболочки вы можете выбрать Bourne shell (sh) или tcsh. Когда завершите, просто наберите «Yes»:
Дальше система спросит вас хотите ли вы добавить еще пользователей, и если в этом нет необходимости, нужно ответить «no»:
Шаг 17. Завершение установки
На последнем экране перед вами появится простое меню действий. Если вы не хотите ничего менять, просто выберите первый пункт — «Exit» и ответьте «no», чтобы перезапустить компьютер:
Извлеките установочный носитель и нажмите «Enter»:
В меню загрузчика снова нажмите «Enter».
Настройка ntp для синхронизации времени
Минимально необходимый инструментарий для настройки мы получили, продолжаем работу. Чтобы время на сервере всегда было актуальным, его надо регулярно синхронизировать. Можно пойти двумя путями. Либо запускать через определенные промежутки времени утилиту ntpdate с ключами, либо настроить и запустить службу ntpd, которая будет постоянно работать и синхронизировать время. Более правильный вариант, использовать службу, но он чуть сложнее в настройке. Чтобы синхронизировать время через ntpdate, достаточно просто ввести команду:
# ntpdate -b europe.pool.ntp.org
и время будет синхронизировано. Можно запускать эту команду через cron с определенной периодичностью. Если у вас уже запущена служба ntpd, то ntpdate не сработает, выдаст ошибку:
the NTP socket is in use, exiting
Настроим в таком случае ntpd. Если она у вас уже запущена, то в файле /etc/rc.conf уже есть строчка
ntpd_enable="YES"
если ее нет, добавьте.
Дальше отредактируем файл /etc/ntp.conf В качестве серверов синхронизации укажем:
server 0.pool.ntp.org server 1.pool.ntp.org server 2.pool.ntp.org server 3.pool.ntp.org
и добавим две строчки в конец:
driftfile /var/db/ntpd.drift logfile /var/log/ntpd.log
Сохраняем, перезапускаем ntpd командой:
# killall ntpd && ntpd
Теперь наш сервер будет автоматически синхронизировать свое время.
Установка FreeBSD 11
В первом меню загрузчика вам не нужно менять никаких параметров. Просто нажмите “Enter” для продолжения работы:
Шаг 5. Раскладка клавиатуры
Выберите вашу раскладку клавиатуры, по умолчанию используется английская, в большинстве случаев лучше ее оставить:
Шаг 7. Выбор программ
На следующем экране вам предстоит выбрать компоненты системы, которые вы хотите установить FreeBSD 11 на свой компьютер. Для того, чтобы отметить компонент нажмите “Пробел”. Для сервера достаточно оставить библиотеки совместимости lib32 и Ports.
Когда завершите, нажмите “Enter”.
Шаг 8. Автоматическая разметка диска
Дальше нужно выполнить разметку диска. Вы можете довериться установщику и выполнить автоматическую разметку или же сделать все вручную. Если у вас есть несколько жестких дисков, которые необходимо подключить, лучше использовать ZFS. Но мы рассмотрим на примере UFS.
Далее вам нужно будет подтвердить использование всего диска для установки системы. Все данные на нем будут уничтожены.
Затем выберите таблицу разделов. Если ваш диск больше 2 Тб или вы используете UEFI вместо BIOS, то вам лучше использовать GPT, в всех остальных случаях более предпочтительно MBR. Даже будет лучше если вы отключите защищенную загрузку и будете использовать MBR:
В следующем окне система покажет вам созданные разделы. В случае MBR будет создано два раздела – корень и раздел подкачки. Используйте “Tab” для выбора кнопки “Commit”, а затем нажмите “Enter”:
Шаг 9. Установка FreeBSD
Дальше будет запущена установка FreeBSD 11 с флешки или другого носителя, в зависимости от скорости работы вашего компьютера и жесткого диска, установка может занять от 10 до 30 минут.
Шаг 10. Пароль суперпользователя
Когда установка завершится, система предложит вам ввести пароль для суперпользователя. Установщик спросит пароль два раза, но он не будет отображаться на экране:
Шаг 11. Настройка сети
Дальше выберите сетевой интерфейс, через который вы собираетесь получать доступ в интернет. Как видите, имена сетевых интерфейсов отличаются от стандартов Linux:
Затем выберите “Yes”, чтобы выполнить настройку ip адреса IPv4:
Вы можете выбрать вариант получения адреса по DHCP или настроить его вручную:
Настройку адреса IPv6 можно пропустить:
Последний этап настройки сети – настройка DNS серверов. Лучше всего добавить, кроме стандартного, DNS сервер от Google – 8.8.8.8:
Выберите географический регион, в котором расположен ваш компьютер:
Затем выберите вашу страну:
На следующем этапе нужно ввести текущую дату и время, если они были неверно получены из сети:
Шаг 14. Автозагрузка
Дальше нужно выбрать какие сервисы будут загружаться по умолчанию при старте системы. Например, SSH, NTP и Powerd. Последний позволяет автоматически регулировать частоту процессора в зависимости от нагрузки на систему.
Шаг 15. Дополнительные оптимизации
Эти опции позволяют усилить безопасность вашей системы. Отключите доступ к буферу ядра для непривилегированных пользователей. Отключите отладку, Включите очистку /tmp во время загрузки, отключите сокет Syslogd и Sendmail если вы не планируете использовать почтовый сервер:
Шаг 16. Другие пользователи
Дальше установщик спросит вас не желаете ли вы добавить к системе еще пользователей. Выберите “yes” и введите всю необходимую информацию о пользователе. Безопаснее всего оставить все поля по умолчанию, для этого достаточно нажимать “Enter”:
В качестве оболочки вы можете выбрать Bourne shell (sh) или tcsh. Когда завершите, просто наберите “Yes”:
Дальше система спросит вас хотите ли вы добавить еще пользователей, и если в этом нет необходимости, нужно ответить “no”:
Шаг 17. Завершение установки
На последнем экране перед вами появится простое меню действий. Если вы не хотите ничего менять, просто выберите первый пункт – “Exit” и ответьте “no”, чтобы перезапустить компьютер:
Извлеките установочный носитель и нажмите “Enter”:
В меню загрузчика снова нажмите “Enter”.
Загрузочные среды
Одним из инструментов, который полезно иметь под рукой при выполнении обновлений, являются загрузочные среды. Когда FreeBSD установлена на томе ZFS, она автоматически включает поддержку загрузки из снимков операционной системы ZFS. Это означает, что мы можем использовать такой инструмент, как beadm, чтобы сделать снимок операционной системы перед внесением каких-либо значительных изменений. Затем, если что-то пойдет не так, например, обновление нарушит работу системы, мы можем перезагрузить компьютер и выбрать более старую среду в меню загрузки. Я тестировал загрузочные среды пару раз за неделю с FreeBSD и обнаружил, что они работают должным образом, и мне нравится, что beadm может мгновенно создавать и удалять снимки.
Одним из приятных преимуществ работы с загрузочными средами является то, что операционная система хранится отдельно от данных в домашних каталогах пользователей. Это означает, что если администратору необходимо откатить изменение, наши файлы данных и личные настройки не будут затронуты. Можно также создавать снимки пользовательских файлов для целей восстановления, но эти снимки отделены от загрузочных сред.
Установка freebsd 10.1
Итак, ставить будем из минимального образа ftp://ftp.freebsd.org/pub/FreeBSD/releases/amd64/amd64/ISO-IMAGES/10.1/FreeBSD-10.1-RELEASE-amd64-bootonly.iso Все необходимое после установки поставим сами. Загружаемся с FreeBSD-10.1-RELEASE-amd64-bootonly.iso
Нас встречает меню установки:
Выбираем Install. Дальше идет выбор раскладки, оставляем первое значение по-умолчанию:
Далее указываем имя сервера. Я назвал его websr.local:
Теперь предстоит выбрать состав установки. Можно ничего не выбирать, а все, что нужно, поставить потом отдельно. Но по моему опыту, дерево портов ports и исходные коды системы src чаще всего нужны, поэтому выбираем их:
После этого установщик нам сообщает, что установочных файлов на данном диске нет, их надо загрузить из интернета и следующим шагом предлагает настроить сетевой интерфейс. Сделаем это. Выбираем сетевую карту, которая смотрит в интернет. Дальше нам предлагают ввести настройки IPv4 для этого интерфейса, соглашаемся:
У меня настройки приходят по DHCP, поэтому на следующем шаге я соглашаюсь с тем, что принимаю настройки по DHCP:
Следующим шагом предлагается настроить IPv6. Нам это не нужно, отказываемся.
Далее появляется экран с настройками DNS сервера. Указываем свой:
Теперь выбираем ftp сервер, с которого будем загружать информацию. Я обычно выбираю первый, который предлагается по-умолчанию:
На следующем этапе нам нужно выбрать, как разбивать жесткий диск. Обычно это самая трудная и не понятная новичкам процедура. Мы не будем вдаваться в подробности этого процесса, выберем самый простой — автоматическая разбивка всего диска, 1-й пункт:
Указываем, что хотим использовать весь диск:
На следующем шаге оставляем все параметры по-умолчанию и выбираем Finish:
В окне с подтверждением соглашаемся с тем, что делаем, выбирая Commit.
Дальше начинается автоматический процесс разбивки диска и установки Freebsd 10. Дожидаемся его окончания, которое будет обозначено предложением задать пароль root. Делаем это:
Далее нас спрашивают, установлены ли часы системы в соответствии с гринвичем, или нет. У меня нет, время стоит в соответствии с моим часовым поясом, поэтому выбираю No:
Потом уже выбираю свою временную зону. Показывать не буду, там и так все просто и понятно. После выбора часового пояса, нужно указать, какие службы будут запущены. Нам пригодятся ssh и ntpd, выбираем их:
Затем нам предложат добавить пользователей к системе. Отказываемся, сделаем это позже по мере необходимости. На этом установка закончена. Мы оказываемся в меню установщика, где можем внести еще какие-то изменения в установку. Но нам это не нужно. Выбираем Exit и жмем Ok:
Перезагружаемся. На этом установка системы окончена. Приступаем к настройке.