Установка Debian
Введение:
Для данной установки я выбрал дистрибутив debian-12.7.0-amd64-netinst – это минимальный дистрибутив с установкой по сети. Хочу просто отметить, что при данной установки ставятся пакеты самой последней версии и в последствии OS обновлять после установки нет необходимости.
Будем считать, что данный дистрибутив мы будим ставить для VDS. Вы скажите зачем? Провайдеры предоставляют возможность предустановки с покупкой сервера? Да. Действительно. Но также есть возможность подключить свой iso образ и взять контроль установки полностью в свои руки.
Загрузка и настройка установки
После подключения и старта iso образа мы увидим следующую картинку:
Здесь мы можем выбрать Графическую установку и консольную. Обычно я выбираю консольную, я просто больше к ней привык. Разницы никакой нет, поэтому это только выбор предпочтения.
Так же есть раздел Advanced options – он служит в основном для экспертов в установке. В данной статье мы его рассматривать не будем. Возможно, когда ни будь я сделаю обзор на него отдельно.
И так нажимаем Install и продолжаем настройку установки.
На этой вкладке необходимо выбрать язык установки. Некоторые профессионалы рекомендуют оставлять английский, но я предпочитаю ставить русский язык.
Если вы выбрали русский, то дальше установка будет продолжаться на русском языке. На следующей вкладке нам предлагают выбрать страну установки. Следует выбрать именно вашу, так как в дальнейшем это отразится на часовом поясе, языке локали (консоли) и многом другом. В моем случае, я выбираю Российская Федерация.
Перед нами окно выбора раскладки клавиатуры. Данном случае, это будет 2 раскладка. То есть у нас будет Английская и Русская, если мы выберем Русская. Я выбираю Русская.
Здесь мы видим, что нам предлагают сделать выбор варианта переключения раскладки клавиатуры. Нам предлагают разные варианты переключения. Я оставлю по умолчанию, так как для меня наиболее удобным является комбинация клавиш Alt+Shift.
После того, как мы выбрали раскладку клавиатуры, установщик загрузит необходимы файлы и начнет автоматическое тестирование сети и адаптера. В случае установки на VDS можно оставить все как есть и продолжить установку выбрав имя компьютера (сервера). Но мы рассмотрим немного другие варианты установки.
Например, может так случится, что мы будем производить установку сервера в локальной сети и автоматическая установка IP адреса нам будет не подходить. Нам будет необходимо назначить его вручную. Для этого путем нажатия клавиши Tab (жмем ее до тех пор, пока на попадем на слово «Вернуться» и нажимаем Enter.
Нам предложено повторить автоматическую настройку сети и настроить ее вручную. Выбираем: настроить сеть вручную.
Перед нами окно, где мы должны ввести IP адрес нашего сервера. Сделаем небольшое отступление и поговорим по IP адрес.
IP-адрес (Internet Protocol Address) — это уникальный числовой идентификатор, присваиваемый каждому устройству, подключенному к сети, для его идентификации и обеспечения обмена данными. IP-адрес используется для маршрутизации данных между устройствами в сети, будь то локальная сеть (LAN) или глобальная сеть (интернет).
Типы IP-адресов в локальной сети:
В локальной сети используются два основных типа IP-адресов: IPv4 и IPv6.
- IPv4 (Internet Protocol version 4)
IPv4 — это наиболее распространённая версия IP-адресов, состоящая из четырёх чисел, разделённых точками. Каждое число может варьироваться от 0 до 255. Пример: 192.168.1.1.
Виды IPv4 адресов в локальной сети:
- Частные (Private) IP-адреса — используются для идентификации устройств внутри локальной сети. Эти адреса не видны в интернете и зарезервированы для внутреннего использования.
- Диапазоны частных IP-адресов:
- 10.0.0.0 – 10.255.255.255
- 172.16.0.0 – 172.31.255.255
- 192.168.0.0 – 192.168.255.255
- Диапазоны частных IP-адресов:
Пример: В домашней сети роутер может присваивать такие адреса, как 192.168.1.2, 192.168.1.3 и т. д.
- Публичные (Public) IP-адреса — это адреса, которые могут быть видны в интернете. Локальные устройства не получают такие адреса напрямую в локальной сети, но интернет-провайдер предоставляет вашему роутеру публичный IP-адрес для внешних подключений.
- IPv6 (Internet Protocol version 6)
IPv6 — это более новая версия IP-адресов, которая была разработана для замены IPv4 из-за ограниченного количества доступных адресов в IPv4. Адреса IPv6 состоят из 128 бит, записываются в шестнадцатеричном формате и разделяются двоеточиями. Пример: 2001:0db8:85a3:0000:0000:8a2e:0370:7334.
Локальные IPv6-адреса:
- В локальных сетях используются локальные адреса (link-local), которые начинаются с префикса fe80::/10 и действуют только в пределах локальной сети.
Резюме:
В локальных сетях обычно используются частные IP-адреса из диапазонов IPv4, таких как 192.168.x.x, а также IPv6 адреса с префиксом fe80::/10 для взаимодействия между устройствами внутри сети.
В моей локальной сети я использую диапазон 172.16.1.0 Поэтому я напишу: 172.16.1.17 (это просто пример).
Если вы ставите в своей домашней локальной сети, то обычно это диапазон 192.168.1.0
Маска подсети — это параметр, который используется для разделения IP-адреса на две части: сеть и узел (или устройство). Маска подсети помогает понять, к какой сети принадлежит устройство и какие IP-адреса находятся в пределах этой сети. Она необходима для правильной маршрутизации данных в сети.
Как работает маска подсети
Маска подсети — это набор чисел, который имеет ту же длину, что и IP-адрес, и состоит из 32 бит (для IPv4) или 128 бит (для IPv6). Маска состоит из единиц и нулей: единицы указывают на часть IP-адреса, которая относится к сети, а нули — на часть, которая определяет конкретное устройство (узел) в этой сети.
Например, для IPv4 маска подсети может выглядеть так:
- Маска: 255.255.255.0
- В двоичной системе: 11111111.11111111.11111111.00000000
Здесь первые 24 бита, указанные как единицы (1), относятся к сетевой части, а оставшиеся 8 бит (0) — к части устройства.
Пример
IP-адрес: 192.168.1.10
Маска подсети: 255.255.255.0
- Часть сети: 192.168.1
- Часть узла (устройства): 10
Это означает, что сеть охватывает диапазон адресов от 192.168.1.0 до 192.168.1.255, где последний октет (от 0 до 255) соответствует отдельным устройствам в этой сети.
Основные маски подсетей для IPv4:
- 255.0.0.0 — маска класса A (сеть с большим числом узлов),
- 255.255.0.0 — маска класса B (сеть среднего размера),
- 255.255.255.0 — маска класса C (малая сеть, до 254 узлов).
Маска подсети и CIDR
Существуют сокращенные обозначения маски подсети с использованием CIDR (Classless Inter-Domain Routing) — это запись через слеш, указывающая количество бит, отведённых под сеть. Например:
- Адрес 192.168.1.10/24 означает, что первые 24 бита — это сетевая часть, а оставшиеся 8 бит — это устройства в сети.
Здесь мы выбираем маску подсети. Если вы были внимательны и читали, что нам предлагал установщик. То вы бы заметили, что на предыдущем этапе он предлагал ввести IP адрес и CIDR. Тогда бы моя запись ip выглядела бы следующим образом: 172.16.1.17/24.
Но так как бы этого не сделали, мы запишем маску подсети в виде 255.255.255.0
И так шлюз.
Шлюз (или шлюз по умолчанию) — это устройство в компьютерной сети, которое служит точкой выхода для отправки данных с одного сегмента сети в другой, особенно при взаимодействии с внешними сетями, такими как интернет. Чаще всего в качестве шлюза используется маршрутизатор (роутер).
Основные функции шлюза:
- Маршрутизация данных: Шлюз принимает данные, отправляемые устройством в сети, и решает, куда их направить. Если получатель находится в другой сети, шлюз отправляет данные через нужный интерфейс.
- Подключение к внешним сетям: Шлюз соединяет локальную сеть (LAN) с глобальными сетями (например, интернетом). Все устройства в локальной сети, отправляющие запросы за её пределы, сначала отправляют их на шлюз.
- Натирование (NAT): В домашней или корпоративной сети шлюз также часто выполняет роль преобразователя сетевых адресов (NAT). Это позволяет устройствам с частными IP-адресами в локальной сети использовать один публичный IP-адрес для доступа к интернету.
Пример:
Допустим, у вас есть домашняя сеть с несколькими устройствами (компьютеры, смартфоны). Все они имеют частные IP-адреса, например, 192.168.1.x, и для выхода в интернет должны отправлять свои запросы на маршрутизатор — это и есть ваш шлюз. Роутер, получив запрос, перенаправляет его в интернет, используя свой публичный IP-адрес.
В конфигурации сети шлюз часто указывается в виде IP-адреса маршрутизатора.
Например:
- IP-адрес компьютера: 192.168.1.10
- Маска подсети: 255.255.255.0
- Шлюз по умолчанию: 192.168.1.1 (IP-адрес роутера)
Таким образом, при попытке получить доступ к веб-странице или любому другому ресурсу за пределами локальной сети компьютер сначала отправит данные на шлюз (192.168.1.1), и только затем они пойдут в интернет.
В моем случае – это 172.16.1.1 так как мой роутер имеет именно этот адрес.
DNS-сервер (Domain Name System) — это сервер, который переводит (разрешает) доменные имена (например, www.example.com) в IP-адреса, понятные компьютерам и сетевым устройствам (например, 192.0.2.1). DNS работает как своего рода “телефонная книга” интернета: когда пользователь вводит доменное имя в браузере, DNS-сервер находит соответствующий IP-адрес, чтобы можно было связаться с нужным веб-сервером.
Как работает DNS:
- Запрос DNS: Когда пользователь вводит доменное имя (например, www.example.com), компьютер отправляет запрос к DNS-серверу, чтобы узнать, какой IP-адрес связан с этим именем.
- Ответ DNS-сервера: DNS-сервер проверяет свою базу данных. Если он знает IP-адрес для этого домена, то возвращает его устройству.
- Доступ к ресурсу: После получения IP-адреса устройство может соединиться с веб-сервером или другим ресурсом, используя этот IP-адрес.
Типы DNS-серверов:
- Резолверы (DNS Recursor): Это серверы, которые принимают запросы от клиента и выполняют всю работу по поиску нужного IP-адреса, если он не находится в их базе данных. Они могут обращаться к другим DNS-серверам для получения информации.
- Корневые DNS-серверы (Root DNS Servers): Это серверы, которые знают, где искать основные доменные зоны верхнего уровня (например, .com, .org, .net).
- Серверы доменных зон (TLD DNS Servers): Эти серверы управляют доменными зонами верхнего уровня, например, .com или .org, и перенаправляют запросы к авторитетным DNS-серверам.
- Авторитетные DNS-серверы (Authoritative DNS Servers): Это серверы, которые содержат точную информацию о том, какой IP-адрес соответствует конкретному домену.
Пример работы DNS:
- Пользователь вводит в браузер www.example.com.
- Компьютер отправляет запрос DNS к ближайшему DNS-серверу (например, от вашего интернет-провайдера).
- Если DNS-сервер знает IP-адрес, он сразу возвращает его.
- Если нет, сервер выполняет цепочку запросов к другим DNS-серверам, пока не найдет авторитетный сервер для домена example.com, который вернет правильный IP-адрес.
- Пользовательский компьютер использует этот IP-адрес для подключения к серверу, на котором размещен сайт.
Пример популярных публичных DNS-серверов:
- Google DNS: 8.8.8.8 и 8.8.4.4
- Cloudflare DNS: 1.1.1.1
- OpenDNS: 208.67.222.222 и 208.67.220.220
Зачем нужен DNS:
DNS упрощает жизнь пользователям интернета, потому что им не нужно запоминать IP-адреса для каждого сайта, который они посещают. Вместо этого они могут использовать простые для запоминания доменные имена, а DNS автоматически находит соответствующие IP-адреса.
В моем случае я буду использовать адрес DNS сервера ip адрес своего роутера 172.16.1.1
Вы можете спросить, а разве можно использовать адрес домашнего роутера в качестве DNS сервера?
Да, домашний роутер может выполнять функции DNS-сервера, но обычно его роль в этом процессе ограничена. Он может выступать как DNS-прокси, перенаправляя DNS-запросы от устройств в локальной сети к внешним DNS-серверам (например, DNS-серверам интернет-провайдера, Google DNS или Cloudflare DNS).
Как роутер работает в роли DNS-сервера:
- DNS-прокси: Большинство домашних роутеров выполняют роль DNS-прокси. Когда устройство в локальной сети (например, компьютер или смартфон) отправляет DNS-запрос, роутер принимает его и пересылает на внешний DNS-сервер, указанный в настройках роутера. В ответ роутер возвращает клиенту разрешённый IP-адрес. Это снижает нагрузку на устройства в локальной сети, так как они обращаются к роутеру вместо того, чтобы напрямую взаимодействовать с внешними DNS-серверами.
- Кэширование DNS-запросов: Некоторые роутеры могут кэшировать DNS-запросы. Это означает, что если устройство в сети уже запрашивало IP-адрес для определённого домена, роутер может временно сохранить результат. При повторном запросе на тот же домен роутер вернёт кэшированный ответ без необходимости повторного обращения к внешнему DNS-серверу, что ускоряет работу сети.
- Настройка DNS вручную: В настройках роутера вы можете указать, какие внешние DNS-серверы использовать. Например, вы можете настроить роутер для использования Google DNS (8.8.8.8), Cloudflare DNS (1.1.1.1) или DNS-сервера вашего интернет-провайдера.
Ограничения домашнего роутера как DNS-сервера:
- Отсутствие полной функциональности: Домашние роутеры обычно не обеспечивают полной функциональности DNS-сервера. Они не могут сами разрешать доменные имена или управлять зонами DNS. Они лишь пересылают запросы на внешний сервер и кэшируют результаты.
- Ограниченные ресурсы: Домашние роутеры имеют ограниченные вычислительные ресурсы, поэтому их кэширование и обработка DNS-запросов может быть не такими эффективными, как у специализированных DNS-серверов.
Когда это полезно:
- Снижение времени ожидания: Если роутер кэширует DNS-запросы, это может сократить время ожидания для часто посещаемых сайтов, так как нет необходимости каждый раз обращаться к внешним DNS-серверам.
- Упрощённое управление сетью: Пользователи могут настраивать DNS на уровне роутера, чтобы все устройства в локальной сети автоматически использовали одни и те же DNS-сервера без необходимости ручной настройки на каждом устройстве.
Таким образом, роутер может выполнять базовые DNS-функции, такие как пересылка и кэширование, но не может заменить полноценный DNS-сервер с продвинутыми функциями.
И так вернемся опать к настройке имени компьютера.
Имя компьютера (hostname) — это уникальное название, присваиваемое каждому устройству в сети для его идентификации. Оно нужно для нескольких целей:
- Идентификация в сети: В локальной или корпоративной сети каждое устройство должно иметь уникальное имя для упрощения связи с другими компьютерами или серверами. Это помогает распознавать устройства и предотвращает конфликты.
- Сетевые соединения: Когда устройство подключается к сети, его имя может быть использовано для идентификации в процессе взаимодействия с другими устройствами или серверами. Например, при SSH-подключении можно обращаться по имени компьютера.
- Управление устройствами: Для администрирования устройств через удалённый доступ (SSH, RDP и т.д.) имя компьютера часто используется для упрощённой идентификации конкретного устройства.
- Журналы и отчёты: Имя компьютера также используется в логах и системных отчётах, чтобы можно было легко понять, с какого устройства пришли те или иные данные или ошибка.
- Удобство пользователя: Оно также помогает пользователю легче ориентироваться в сети, если в ней несколько устройств. Например, при подключении сетевого хранилища можно сразу понять, к какому устройству идёт обращение.
Я назову свой сервер: server.local
Теперь нам необходимо придумать пароль для суперпользователя root. Хочу предупредить, что если это не тестовый сервер, то пароль необходимо придумать максимально сложный, который никак не связан с вашим номером телефона или датой рождения.
Повторяем ранее введённый пароль:
Придумайте имя другого пользователя, для чего он нужен, я расскажу в следующих статьях.
Если даже вы напишите имя в верхнем регистре система переименует имя учетной записи в нижний. Но например во FreeBSD название учетной записи допустимо с использованием букв верхнего регистра.
Здесь мы придумываем пароль для нашей новой учетной записи.
Как и в прошлый раз, повторяем пароль.
Выбираем часовой пояс. В моем случае – это Москва.
Мы дошли до разметки дисков. В нашем случае выберите Авто. Но я немного расскажу и о других вариантах.
LVM (Logical Volume Manager) — это система управления логическими томами, которая используется для гибкого управления дисковым пространством на Linux и других UNIX-подобных системах. LVM позволяет создавать, изменять размеры и управлять разделами на жестком диске динамически, без необходимости изменения структуры традиционных разделов (например, с использованием fdisk или parted).
Основные компоненты LVM:
- Физические тома (Physical Volumes, PV): Это физические устройства хранения (жесткие диски, SSD, RAID-массивы), которые используются в LVM. На них могут быть созданы разделы, которые затем добавляются в группу томов.
- Группы томов (Volume Groups, VG): Это объединение физических томов в единое пространство. Оно позволяет управлять дисковым пространством как единым целым, независимо от того, сколько физических томов включено в группу.
- Логические тома (Logical Volumes, LV): Логические тома — это разделы, созданные внутри группы томов. Они могут использоваться как обычные разделы для монтирования файловых систем, но в отличие от традиционных разделов, их размер можно динамически изменять (увеличивать или уменьшать) без переформатирования.
Преимущества LVM:
- Гибкое управление разделами: Легко менять размеры томов без необходимости перезагрузки системы или разрушения данных.
- Снимки (Snapshots): LVM позволяет создавать моментальные снимки томов (например, для резервного копирования), не останавливая работу системы.
- Объединение нескольких дисков: С помощью LVM можно объединить несколько физических дисков в один логический том, что упрощает управление большим количеством данных.
- Увеличение доступного пространства: Если места на диске недостаточно, можно легко добавить новый физический диск в группу томов и расширить существующие логические тома.
Основное преимущество LVM тома – это то, что если вы ставите Debian на виртуальную машину, в любое время сможете изменить размер диска.
Ну и шифрование. Вы можете выбрать раздел и зашифровать его своим паролем. При старте операционной системы вам будет предложено ввести пароль и если человек не знает пароля, то он не сможет посмотреть содержимое диска.
Ну и так же можно все это сделать в ручную, что бы например изменить файловую систему на отличную от стандартной.
После того, как мы определились с разделами выбираем диск. В данном случае он у нас один.
Хорошим тоном считается разметка, где /home /var и /tmp являются отдельными разделами. Бывают ситуации, когда, например раздел переполнился и это отразится на работе операционной системе. Например логами. Но мы будем хранить файлы в одном разделе.
Смотрим, что у нас получилось и соглашаемся закончить разметку.
Еще раз подтверждаем.
Начинается установка базовой системы.
Здесь предполагается, что у нас возможно несколько установочных дисков, но так как у нас 1 образ, мы говорим Нет.
Выбор зеркала. В теории можно выбрать любое, так как сейчас интернет достаточно быстрый, но рекомендуется выбрать ближайшее к вам. Я выберу страну своего проживания.
Нам предлагается выбрать список зеркал. Я обычно выбираю первое.
Мы нажимаем Продолжить так как у нас нет прокси и я думаю, что у вас его тоже нет.
Разработчики предлагают нам разрешить отправлять информацию о работе операционной системы. Это дело сугубо индивидуальное и так как система бесплатная, то я бы рекомендовал согласиться. Данные, отправляемые разработчикам обезличены. Ну это ваше дело. В противном случае нажимаем нет.
Самое интересное. Здесь мы можем выбрать то, что мы будем устанавливать в нашу новую операционную систему. Мы можем сделать из неё десктоп. Например, для этого надо выбрать галочками «окружение рабочего стола» и одну из оболочек. Ну так как мы ставим все-таки сервер, я выберу только SSH-сервер и стандартные утилиты.
Что такое SSH и как его настроить, я расскажу в следующих статьях.
Системный загрузчик Grub.
GRUB (GRand Unified Bootloader) — это один из самых популярных системных загрузчиков в Linux и других UNIX-подобных системах. Он используется для загрузки операционной системы при включении компьютера. GRUB позволяет выбрать, какую операционную систему или ядро загружать, а также передавать параметры ядру для управления загрузкой системы.
Основные функции GRUB:
- Загрузка операционной системы: GRUB отвечает за выбор и загрузку ядра операционной системы (например, Linux), а затем передает управление системе.
- Поддержка нескольких операционных систем: Если на компьютере установлено несколько операционных систем (например, Linux и Windows), GRUB позволяет выбрать, какую из них загружать. Это особенно важно для систем с многозагрузкой.
- Настройка параметров ядра: GRUB позволяет передавать параметры ядру Linux, которые могут влиять на поведение операционной системы при запуске. Например, можно отключить определенные модули или передать параметры для отладки.
- Гибкая конфигурация: В GRUB можно легко настроить меню для выбора ОС, изменить порядок загрузки, установить время ожидания перед автоматической загрузкой и т.д.
- Поддержка модульной архитектуры: GRUB можно расширять с помощью модулей, добавляющих поддержку различных файловых систем и типов устройств.
Этапы загрузки с GRUB:
- Первичная загрузка: BIOS или UEFI запускает GRUB, который находится в загрузочном секторе диска (MBR или GPT).
- Загрузка меню GRUB: GRUB отображает меню с выбором операционных систем и опций загрузки.
- Загрузка ядра ОС: GRUB загружает выбранное ядро операционной системы и передает управление процессу загрузки ОС.
Основные файлы и команды GRUB:
- Файлы конфигурации:
- /boot/grub/grub.cfg — основной файл конфигурации GRUB. Обычно его не редактируют вручную, так как он автоматически создается командами вроде update-grub или grub-mkconfig.
- /etc/default/grub — файл настроек, который редактируют для конфигурации GRUB (например, для изменения параметров загрузки, времени ожидания, загрузочного изображения и т.д.).
- Команды:
- update-grub: Команда для обновления конфигурации GRUB. Обычно она автоматически пересоздает файл grub.cfg на основе настроек в /etc/default/grub.
- grub-install: Устанавливает GRUB на устройство (например, на жесткий диск)
Мы соглашаемся и жмем да.
Предлагается выбрать диск, куда мы будем ставить наш загрузчик.
Ура, мы почти закончили. Загрузчик установлен и мы готовы перезагрузить систему.
Так выглядит консоль, только что установленной операционной системы Debian.