Сделать свой сайт бесплатно

Реклама

Создай свой сайт в 3 клика и начни зарабатывать уже сегодня.

@ADVMAKER@

Ubuntu Server Руководство Pdf

18.05.2015
Ubuntu Server Руководство Pdf

Настройка анонимного доступа по FTP. Настройка авторизованного доступа по FTP. Защита FTP. Ссылки. Руководство по Ubuntu Server » Файловые.

5.1. Изменение размера работающего множественного устройства 5.2. Перенос корневой файловой системы с одиночного устройства на множественное 5.3. Перенос файловой системы подкачки с одиночного устройства на множественное 5.4. Сервис Multipath 5.5. Проблемы с queue_if_no_path 5.6. Вывод команды multipath 5.7. Получение информации через команду multipath 5.8. Опции команды multipath 5.9. Определение меток маршрутизации устройств командой dmsetup 5.10. Решение проблем с помощью интерактивной консоли multipathd 1. Уведомление об ошибках в Ubuntu Server Edition 1.1. Уведомление об ошибках с помощью ubuntu-bug 1.2. Уведомление о сбоях приложений 1.3. Ресурсы Руководство по Ubuntu Server Руководство по Ubuntu Server Авторские права © 2012 Авторы документа Аннотация Добро пожаловать в Руководство Ubuntu Server! Оно содержит информацию о том, как установить и настроить различные серверные приложения на вашей системе Ubuntu в зависимости от ваших потребностей. Это пошаговое, ориентированное на конкретные задачи руководство по конфигурации и модернизации вашей системы. Разработчики и лицензия Этот документ поддерживается командой документации Ubuntu (https://wiki.ubuntu.com/ DocumentationTeam). Список авторов приведён ниже. Этот документ доступен на условиях лицензии Creative Commons ShareAlike 3.0 (CC-BY-SA). По условиям этой лицензии вы можете изменять, расширять и улучшать исходный код документации Ubuntu. Все производные документы также должны быть выпущены под этой лицензией. Эта документация предоставляется в надежде на то, что она будет полезной, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ; в том числе без возможной гарантии РАБОТОСПОСОБНОСТИ или ПРИГОДНОСТИ ДЛЯ ОПРЕДЕЛЕННЫХ ЦЕЛЕЙ, КАК ОПИСАНО В СОГЛАШЕНИИ. Копия лицензии доступна здесь: Creative Commons ShareAlike License . Авторы этого документа : • Участники команды Ubuntu Server 3 2 1 • Участники Проекта документирования Ubuntu • Авторы вики-сайта документации Ubuntu 4 • Информацию о других участниках можно найти в истории версий веток bzr serverguide и ubuntu6 docs , доступных на Launchpad. 5 1 2 3 4 5 6 http://creativecommons.org/licenses/by-sa/3.0/ https://launchpad.net/~ubuntu-core-doc https://launchpad.net/~ubuntu-server https://help.ubuntu.com/community/ https://code.launchpad.net/serverguide https://code.launchpad.net/ubuntu-docs Содержание 1. Введение ........................................................................................................ 1 1. Поддержка .............................................................................................. 2 2. Установка ....................................................................................................... 3 1. Подготовка к установке ........................................................................ 4 2. Установка с CD ....................................................................................... 6 3. Обновление ........................................................................................... 10 4. Расширенная установка ...................................................................... 11 5. Отчёт о падении ядра ......................................................................... 20 3. Управление пакетами ................................................................................. 24 1. Введение ............................................................................................... 25 2. dpkg ....................................................................................................... 26 3. Apt-Get .................................................................................................. 28 4. Aptitude ................................................................................................. 30 5. Автоматические обновления ............................................................... 33 6. Конфигурация ...................................................................................... 35 7. Ссылки .................................................................................................. 37 4. Работа в сети .............................................................................................. 38 1. Настройка сети .................................................................................... 39 2. TCP/IP ..................................................................................................... 49 3. Протокол динамической настройки хостов (Dynamic Host Configuration Protocol, DHCP) .................................................................... 54 4. Синхронизация времени с NTP ........................................................... 57 5. Множественное связывание устройств (DM-Multipath) ............................ 59 1. Множественное связывание устройств (Device Mapper Multipathing) .............................................................................................. 60 2. Множественные устройства ................................................................ 64 3. Обзор установки DM-Multipath ............................................................ 68 4. Конфигурационный файл DM-Multipath .............................................. 72 5. Администрирование DM-Multipath и устранение проблем ................ 87 6. Удалённое администрирование ................................................................. 93 1. Сервер OpenSSH ................................................................................... 94 2. Puppet .................................................................................................... 98 3. Zentyal ................................................................................................. 101 7. Сетевая аутентификация ......................................................................... 106 1. Сервер OpenLDAP ............................................................................... 107 2. Samba и LDAP ..................................................................................... 135 3. Kerberos ............................................................................................... 142 4. Kerberos и LDAP .................................................................................. 151 8. Служба доменных имён (DNS) ................................................................. 158 1. Установка ............................................................................................ 159 iii Руководство по Ubuntu Server 2. Конфигурация .................................................................................... 3. Устранение проблем .......................................................................... 4. Ссылки ................................................................................................ 9. Защита ....................................................................................................... 1. Управление пользователями ............................................................. 2. Безопасность консоли ....................................................................... 3. Брандмауэр ......................................................................................... 4. AppArmor ............................................................................................. 160 166 170 171 172 179 180 189 194 200 203 204 205 210 212 5. Сертификаты ...................................................................................... 6. eCryptfs ............................................................................................... 10. Мониторинг ............................................................................................. 1. Обзор ................................................................................................... 2. Nagios .................................................................................................. 3. Munin ................................................................................................... 11. Веб-серверы ............................................................................................. 12. 13. 14. 15. 16. 1. HTTPD - веб сервер Apache2 .............................................................. 2. PHP5 — язык сценариев .................................................................... 3. Прокси-сервер Squid .......................................................................... 4. Ruby on Rails ....................................................................................... 5. Apache Tomcat ..................................................................................... Базы данных ............................................................................................ 1. MySQL .................................................................................................. 2. PostgreSQL ........................................................................................... Приложения LAMP ................................................................................... 1. Обзор ................................................................................................... 2. Moin Moin ............................................................................................ 3. MediaWiki ............................................................................................. 4. phpMyAdmin ........................................................................................ Файл-серверы .......................................................................................... 1. FTP-сервер ........................................................................................... 2. Сетевая файловая система (NFS) ...................................................... 3. iSCSI-инициатор .................................................................................. 4. CUPS — сервер печати ...................................................................... Сервисы электронной почты .................................................................. 1. Postfix .................................................................................................. 2. Exim4 ................................................................................................... 3. Dovecot Server .................................................................................... 4. Mailman ............................................................................................... 5. Фильтрация почты ............................................................................. Приложения для чата ............................................................................. 1. Обзор ................................................................................................... 2. IRC-сервер ........................................................................................... iv 213 223 226 229 231 236 237 243 246 247 249 251 253 255 256 261 263 266 270 271 279 283 286 293 301 302 303 Руководство по Ubuntu Server 3. Сервер мгновенных сообщений Jabber ............................................. 17. Система контроля версий ...................................................................... 1. Bazaar .................................................................................................. 2. Subversion ........................................................................................... 3. Сервер CVS ......................................................................................... 4. Ссылки ................................................................................................ 18. Сетевое окружение Windows ................................................................. 1. Введение ............................................................................................. 305 307 308 310 316 319 320 321 2. Файловый сервер Samba ................................................................... 3. Сервер печати Samba ........................................................................ 4. Защита файлового сервера и сервера печати на Samba ................ 5. Samba в качестве контроллера домена ........................................... 6. Интеграция Samba с Active Directory ................................................ 19. Резервное копирование .......................................................................... 1. Сценарии Shell .................................................................................... 2. Ротация архивов ................................................................................ 3. Bacula .................................................................................................. 20. Виртуализация ........................................................................................ 1. Виртуальная библиотека ................................................................... 2. JeOS и vmbuilder ................................................................................. 3. UEC ...................................................................................................... 4. Облако Ubuntu .................................................................................... 5. LXC ....................................................................................................... 21. Кластеризация ........................................................................................ 1. DRBD .................................................................................................... 22. VPN ........................................................................................................... 1. OpenVPN .............................................................................................. 23. Другие полезные приложения ............................................................... 1. pam_motd ............................................................................................ 2. etckeeper ............................................................................................. 3. Byobu ................................................................................................... 4. Ссылки ................................................................................................ A. Дополнение ............................................................................................... 1. Уведомление об ошибках в Ubuntu Server Edition ............................ 322 325 327 333 338 341 342 347 351 357 358 364 374 387 395 420 421 424 425 439 440 442 444 446 447 448 v Список таблиц 2.1. Рекомендованные минимальные требования .......................................... 4 5.1. Преобразование модулей проверки приоритета ................................... 60 5.2. Компоненты DM-Multipath ........................................................................ 62 5.3. Настройки Multipath по умолчанию ........................................................ 76 5.4. Атрибуты множественности ................................................................... 81 5.5. Атрибуты устройств ................................................................................. 84 5.6. Полезные опции команды multipath ....................................................... 90 17.1. Методы доступа ................................................................................... 311 20.1. Требования к внешнему интерфейсу UEC .......................................... 375 20.2. Требования к узлу UEC ........................................................................ 375 20.3. Команды для работы с контейнером ................................................. 409 vi Глава 1. Введение Добро пожаловать в Руководство по Ubuntu Server! Здесь вы найдете информацию о том, как устанавливать и настраивать различные серверные приложения. Это пошаговое, ориентированное на конкретные задачи руководство по конфигурации и настройке вашей системы. Данное руководство предполагает наличие базовых знаний об операционной системе Ubuntu. Процесс установки описан в Глава 2, Установка [3], но если вам нужна более детальная инструкция по установке Ubuntu рекомендуется прочитать Руководство по установке 1 Ubuntu . HTML-версия руководства доступна в Интернете на сайте документации 2 Ubuntu . 1 2 https://help.ubuntu.com/12.04/installation-guide/ https://help.ubuntu.com 1 Введение 1. Поддержка Существует два варианта поддержки Ubuntu Server Edition: коммерческая поддержка и поддержка сообщества. Основную коммерческую поддержку (и финансирование разработки) осуществляет Canonical Ltd. За умеренную плату она предоставляет поддержку по договорам на каждую настольную систему или на сервер. Подробную информацию смотрите на странице Canonical Services . 3 Поддержка со стороны сообщества означает, что поддержку осуществляют специалисты и компании, которые хотят сделать Ubuntu лучшим дистрибутивом. Поддержка предоставляется через почтовые рассылки, IRCканалы, форумы, блоги, вики, и т.д. Очень много информации можно найти в поисковиках. Для получения дополнительной информации смотрите 4 страницу Ubuntu Support 3 4 http://www.canonical.com/services/support http://www.ubuntu.com/support 2 Глава 2. Установка В этой главе представлены краткий обзор основных моментов, касающихся установки Ubuntu 12.04 LTS Server Edition. Для получения более подробных 1 инструкций, пожалуйста, обратитесь к Руководству по установке Ubuntu . 1 https://help.ubuntu.com/12.04/installation-guide/ 3 Установка 1. Подготовка к установке В данном разделе рассмотрены некоторые аспекты, которые необходимо чётко понимать до начала установки. 1.1. Системные требования Ubuntu 12.04 LTS Server Edition поддерживает три (3) основные архитектуры: Intel x86, AMD64 и ARM. В таблице ниже перечислены рекомендуемые технические характеристики оборудования. В зависимости от ваших потребностей, возможно, вы сможете использовать оборудование и с более низкими техническими характеристиками. Однако, большинство пользователей рискуют оказаться расстроенными, если проигнорируют эти советы. Таблица 2.1. Рекомендованные минимальные требования Тип установки Сервер Место на жёстком диске Процессор 300 МГц ОЗУ 128 МБ Базовая система 500 МБ Установлены все задачи 1 ГБ Server Edition предоставляет основу для всех видов серверных приложений. В платформу уже включены такие сервисы, как: файловый и почтовый серверы, веб-хостинг, сервер электронной почты и т.д. Требования для Ubuntu Enterprise Cloud (UEC) немного отличаются. О требованиях для интерфейсной части смотрите Раздел 3.2.1, «Требования к интерфейсной части» [374], а о требованиях для узла UEC смотрите Раздел 3.2.2, «Требования к узлу» [375]. 1.2. Различия между серверной и настольной редакциями Есть несколько различий между Ubuntu Server Edition и Ubuntu Desktop Edition. Следует отметить, что обе редакции используют одни и те же репозитории apt, что дает возможность так же легко установить серверные приложения на Desktop Edition, как и на Server Edition. Различия между редакциями заключаются в отсутствии оконного интерфейса (X window environment) в Server Edition, в процессе установки системы и в опциях ядра (Kernel). 4 Установка 1.2.1. Различия ядер: В Ubuntu 10.10 и более ранних версиях использовались два различных ядра для серверной версии и версии для настольных компьютеров. Теперь в Ubuntu нет отдельных вариантов ядра -server и -generic. Они объединены в один вариант ядра -generic, чтобы снизить расходы на обслуживание в течение жизненного цикла выпуска. При работе в 64-разрядной версии Ubuntu на 64-битных процессорах вы не ограничены по адресному пространству памяти. Чтобы увидеть все параметры конфигурации ядра, вы можете посмотреть / 2 boot/config-3.2.0-server. Также, Linux Kernel in a Nutshell — отличный ресурс по имеющимся вариантам. 1.3. Создание резервной копии • Перед установкой Ubuntu Server Edition следует убедиться, что сделана резервная копия всех файлов системы. О способах резервного копирования читайте Глава 19, Резервное копирование [341]. Если на вашем компьютере уже установлена какая-то другая операционная система, то скорее всего вам нужно будет переразметить ваш диск, чтобы освободить место для Ubuntu. Каждый раз при разметке диска, вы должны быть готовы потерять всё на диске, если вы сделаете ошибку или что-то пойдет не так во время разметки. Программы, используемые в установке, достаточно надежны, большинство из них работают не первый год, но они также могут выполнить деструктивные действия. 2 http://www.kroah.com/lkn/ 5 Установка 2. Установка с CD Основные этапы установки Ubuntu Server Edition с CD такие же, как и при установке любой операционной системы с компакт-диска. В отличие от Desktop Edition, Server Edition не включает в себя графическую программу установки. Server Edition использует вместо неё консольное меню. • Прежде всего, скачайте и запишите на диск соответствующий файл ISO с веб-сайта Ubuntu . 3 • Загрузите систему с компакт-диска. • В приглашении загрузчика вам будет предложено выбрать язык. • В главном меню загрузки есть некоторые дополнительные опции для установки Ubuntu Server Edition. Вы можете установить базовую комплектацию Ubuntu Server, проверить компакт-диск на наличие дефектов, проверить оперативную память системы, загрузиться с первого жёсткого диска, или восстановить повреждённую систему. • Программа установки спросит, какой язык она должна в дальнейшем использовать. После этого вам будет предложено выбрать ваше местоположение. • Процесс установки начинается с выбора раскладки клавиатуры. Вы можете разрешить программе установки попытаться автоматически определить раскладку или же можете выбрать необходимую раскладку вручную из списка. • Затем программа установки определяет вашу аппаратную конфигурацию и настраивает параметры сети с помощью DHCP. Если вы не хотите использовать DHCP, на следующем экране выберите "Назад", и у вас будет возможность "настроить сеть вручную". • Далее, программа установки спросит имя компьютера (hostname) и часовой пояс системы. • Затем вы сможете выбрать один из нескольких вариантов настройки структуры разделов жёсткого диска. После этого вас спросят, какой диск использовать для установки. В зависимости от разбивки диска, прежде чем будет перезаписана таблицы разделов или настроена LVM, вы можете получить запрос на подтверждение данной операции. Если вы выбираете LVM, вам будет предложено ввести размер корневого логического тома. Для продвинутых вариантов установки смотрите Раздел 4, «Расширенная установка» [11]. • После этого будет установлена базовая система Ubuntu. 3 http://www.ubuntu.com/download/server/download 6 Установка • Будет создан новый пользователь; этот пользователь будет иметь root доступ через утилиту sudo. • После того, как настройки пользователя будут завершены, вам будет предложено зашифровать свой каталог (home). • Следующий шаг в процессе установки — это решить, как вы хотите обновить систему. Есть три варианта: • Нет автоматического обновления: администратору будет необходимо войти в систему и вручную установить обновления. • Установка обновлений безопасности автоматически: это позволит установить пакет unattended-upgrades, который будет устанавливать обновления безопасности без вмешательства администратора. Для получения дополнительной информации смотрите Раздел 5, «Автоматические обновления» [33]. • Управление системой с Landscape: Landscape — это платный сервис, предоставляемый компанией Canonical, чтобы помочь в управлении вашими компьютерами с Ubuntu. Подробности смотрите на сайте 4 Landscape . • Теперь у вас есть возможность установить, или не устанавливать, несколько пакетов задач. Смотрите Раздел 2.1, «Наборы пакетов (задачи)» [8] для более подробной информации. Также, есть опция для запуска aptitude, чтобы выбрать отдельные пакеты для установки. Для получения дополнительной информации смотрите Раздел 4, «Aptitude» [30]. • И, наконец, последний шаг перед перезагрузкой — это установить часы относительно UTC. Если на каком-то этапе установки вас не устроят настройки по умолчанию, используйте функцию «Назад» на любом экране для перехода к меню детальных настроек, которое позволит вам изменить настройки по умолчанию. В какой-то момент в процессе установки вы можете захотеть получить помощь, предоставляемую системой установки. Вы можете вызвать ее нажатием F1. И, опять таки, для более подробных инструкций смотрите Руководство по 5 установке Ubuntu . 4 5 http://www.canonical.com/projects/landscape https://help.ubuntu.com/12.04/installation-guide/ 7 Установка 2.1. Наборы пакетов (задачи) Во время установки Server Edition у вас будет возможность выбрать установку дополнительных пакетов с установочного CD. Эти пакеты сгруппированы по типам предоставляемых ими сервисов. • DNS сервер: Выбирает DNS-сервер BIND и документацию по нему. • LAMP сервер: Выбирает установку готового к работе сервера Linux/ Apache/MySQL/PHP. • Почтовый сервер: Этот набор выбирает множество пакетов, требующихся для типичного почтового сервера. • OpenSSH сервер: Выбирает пакеты, необходимые для установки сервера OpenSSH. • База данных PostgreSQL: Этот набор включает клиентские и серверные пакеты для установки системы управления базами данных PostgreSQL. • Сервер печати: Этот набор делает вашу систему сервером печати. • Файловый сервер Samba: Этот набор настроит вашу систему, как файловый сервер Samba, который особенно подходит для сетей, где присутствуют как Windows, так и Linux системы. • Tomcat Java сервер: Установит Apache Tomcat и необходимые зависимости. • Virtual Machine host: Добавит пакеты, требующиеся для запуска виртуальных машин KVM. • Выбор пакетов вручную: Запускает aptitude, позволяющий вам выбирать пакеты индивидуально. Установка групп пакетов (задач) выполняется с помощью утилиты tasksel. Одним из важнейших отличий Ubuntu (или Debian) от других дистрибутивов на основе GNU/Linux является то, что будучи установленным, пакет также получает разумные настройки по умолчанию, запрашивая у вас по необходимости дополнительную информацию. Подобным образом, когда устанавливается группа пакетов, пакеты не только устанавливаются, но и настраиваются для предоставления полностью связанного сервиса. Когда процесс установки завершится, вы сможете увидеть список доступных задач, введя следующую команду в терминале: tasksel --list-tasks В выводе будут показаны задачи, относящиеся и к другим дистрибутивам на базе Ubuntu, таким как Kubuntu и Edubuntu. Заметьте, что если вы выполните команду tasksel без ключей, она покажет меню со всеми доступными задачами. 8 Установка Вы можете увидеть список устанавливаемых пакетов для каждой задачи, используя опцию --task-packages. Например, для вывода списка пакетов, устанавливаемых задачей «DNS сервер», введите следующее: tasksel --task-packages dns-server Результатом выполнения команды будет следующее: bind9-doc bind9utils bind9 Если вы не установили какую-либо задачу в процессе установки, но, например, решили сделать ваш новый сервер LAMP ещё и DNS-сервером, просто вставьте установочный CD и введите в терминале: sudo tasksel install dns-server 9 Установка 3. Обновление Существует несколько путей обновления выпусков Ubuntu с одного на другой. Этот раздел представляет обзор рекомендуемых методов обновления. 3.1. do-release-upgrade Рекомендуемый вариант обновления установленного Server Edition заключается в использовании утилиты do-release-upgrade. Являясь частью пакета update-manager-core, она не имеет графического интерфейса и устанавливается по умолчанию. Системы, основанные на дистрибутиве Debian, могут также обновляться с использованием команды apt-get dist-upgrade. Однако использование do-release-upgrade предпочтительней, поскольку позволяет отслеживать изменения в конфигурациях систем при переходе от выпуска к выпуску. Для обновления до нового выпуска введите в терминале команду: do-release-upgrade Также существует возможность обновления с помощью do-release-upgrade до разрабатываемой версии Ubuntu. Для этого дополните команду опцией d: do-release-upgrade -d Обновление до выпуска, находящегося в разработке, не рекомендуется для работающих «боевых» систем. 10 Установка 4. Расширенная установка 4.1. Программный RAID Избыточный массив независимых дисков (Redundant Array of Independent Disks, RAID) — это метод использования нескольких дисков для различных сочетаний увеличения надёжности хранения данных и/или увеличения производительности операций чтения/записи в зависимости от используемого уровня RAID. RAID реализуется либо на программном уровне (когда операционная система знает про оба носителя и активно их обслуживает), либо на аппаратном (когда специальный контроллер заставляет ОС думать, что существует только один носитель и обслуживает носители незаметно для системы). Программное обеспечение для работы с RAID, включенное в текущие версии Linux (и Ubuntu), основано на драйвере 'mdadm' и работает очень хорошо, даже лучше чем многие, так называемые, «аппаратные» RAIDконтроллеры. Этот раздел руководства поможет вам установить Ubuntu Server Edition, используя два раздела RAID первого уровня (RAID 1), находящиеся на двух физических жёстких дисках, один для / (корневого раздела), а другой для раздела подкачки swap. 4.1.1. Разметка дисков Следуйте инструкциям по установке, пока вы не достигнете этапа разметки дисков, а затем: 1. 2. Выберите метод разметки Вручную. Выберите первый жёсткий диск и согласитесь с предложением "Создать новую пустую таблицу разделов на этом устройстве?". Повторите этот шаг для каждого диска, который вы собираетесь включить в RAID массив. 3. 4. Выберите "СВОБОДНОЕ МЕСТО"на первом носителе и выберите "Создать новый раздел". Далее, выберите размер раздела. Этот раздел будет разделом подкачки, а общее правило для определения размера раздела подкачки — сделать его равным двойному объёму RAM. Введите размер, далее выберите Первичный, затем Начало. Двойной размер раздела подкачки по отношению к оперативной памяти (RAM) не всегда желателен, особенно на системах с большим объемом RAM. Расчёт размера раздела подкачки в 11 Установка значительной степени зависит от того, как будет использоваться система. 5. Выберите строку "Использовать как:" вверху. По умолчанию там установлено "Журналируемая файловая система Ext4", измените её на "физический том для RAID" затем выберите "Настройка раздела закончена". Для раздела / снова выберите "СВОБОДНОЕ МЕСТО" на первом носителе и нажмите "Создать новый раздел". Используйте оставшееся свободное на носителе место и выберите Далее, а затем Первичный. Так же, как и для раздела подкачки, выберите строку "Использовать как:" вверху и измените её значение на "физический том для RAID". Также поставьте отметку на строке "Загрузочный флаг:" "on". После этого выберите "Настройка раздела закончена". Повторите шаги с третьего по восьмой для всех остальных дисков и разделов. 6. 7. 8. 9. 4.1.2. Настройка RAID После разметки разделов массив готов к настройке: 1. 2. 3. 4. Вернитесь на основную страницу "Разметка дисков", выберите "Настройка программного RAID" сверху. Выберите "да" для записи изменений на диск. Выберите "Создать MD устройство". Для этого примера выберите "RAID1", но если вы используете другую конфигурацию, выберите соответствующий тип (RAID0 RAID1 RAID5). Для использования RAID5 нужно по крайней мере три диска. Использование RAID0 или RAID1 потребует лишь двух дисков. 5. Введите количество активных устройств равное "2", или же количество жёстких дисков, которые у вас выделены под массив. После этого нажмите "Далее". Далее, введите число резервных устройств "0" по умолчанию, после чего нажмите "Далее". Выберите используемые разделы. Как правило это будут sda1, sdb1, sdc1, и т.д. Цифры обычно совпадают, а разные буквы соответствуют разным жестким дискам. Для раздела подкачки выберите sda1 и sdb1. Нажмите "Далее" для перехода к следующему шагу. 12 6. 7. Установка 8. 9. Повторите шаги с третьего по седьмой для раздела /, выбрав sda2 и sdb2. По окончании выберите "Завершить". 4.1.3. Форматирование Теперь должен появиться список жёстких дисков и RAID-устройств. Следующим шагом является форматирование и установка точек монтирования для RAID-устройств. Относитесь к RAID-устройствам как к локальным жёстким дискам, отформатируйте и выберите точки монтирования соответственно. 1. 2. 3. 4. 5. Выберите "#1" под разделом "RAID1 устройство #0". Выберите "Использовать как:". Далее выберите "раздел подкачки", затем "Настройка раздела выполнена". Следующим выберите "#1" под разделом "RAID1 устройство #1". Выберите "Использовать как:". Далее выберите "Журналируемая файловая система Ext4". Затем выберите "Точка подключения" и выберите "/ — корневая файловая система". Измените все необходимые опции и выберите "Настройка раздела выполнена". Ну и наконец, выберите "Завершить разметку и записать изменения на диск". 6. Если вы разместили корневой раздел на RAID-массиве, установщик спросит, хотите ли вы загружать систему в состоянии пониженной работоспособности. Более подробную информацию читайте в разделе Раздел 4.1.4, «Повреждённый RAID» [13] . Далее процесс установки продолжится как обычно. 4.1.4. Повреждённый RAID В определенный момент работы компьютера вы можете столкнуться с отказом диска. Когда это случится, при использовании программного RAID, операционная система переведет массив в режим пониженной работоспособности (degraded state). Если массив повреждён, в связи с возможностью потери данных, по умолчанию Ubuntu Server Edition запустит начальный загрузчик через 30 секунд. Как только загрузчик стартует, появится предупреждение на 50 секунд с выбором либо продолжить и загрузить систему, либо сделать попытку восстановления вручную. Запуск загрузчика с предупреждением может быть как желательным, так и нет, особенно если это удалённый 13 Установка компьютер. Загрузка с повреждённым массивом может быть настроена поразному: • Утилита dpkg-reconfigure может быть использована для настройки желательного варианта по умолчанию, и в процессе у вас будет возможность задать дополнительные настройки, связанные с массивом. Такие как слежение, почтовые предупреждения и пр. Для перенастройки mdadm введите следующее: sudo dpkg-reconfigure mdadm • Команда dpkg-reconfigure mdadm изменит конфигурационный файл /etc/initramfs-tools/conf.d/mdadm. У этого файла есть возможность предварительной настройки желаемого поведения системы и он может быть отредактирован вручную: BOOT_DEGRADED=true Конфигурационный файл может быть проигнорирован при использовании параметров ядра • Использование параметра ядра также позволит загрузиться системе с повреждённым массивом: • В процессе загрузки сервера нажмите Shift для входа в меню Grub. • Нажмите e для редактирования опций загрузки ядра. • Клавишей стрелка вниз подсветите строку ядра. • Добавьте "bootdegraded=true" (без кавычек) в конец строки. • Нажмите Ctrl+x для загрузки системы. Как только система загружена, вы можете как восстановить массив (смотрите Раздел 4.1.5, «Обслуживание RAID» [14]), так и скопировать важные данные на другую машину в случае сильных повреждений устройства. 4.1.5. Обслуживание RAID Утилита mdadm может быть использована для просмотра статуса массива, добавления дисков в массив, удаления дисков и пр.: • Для просмотра статуса массива введите в терминале: sudo mdadm -D /dev/md0 Опция -D указывает mdadm выводить детальную информацию об устройстве /dev/md0. Замените /dev/md0 на соответствующее RAID устройство. 14 Установка • Для просмотра статуса диска в массиве: sudo mdadm -E /dev/sda1 Вывод очень похож на команду mdadm -D, относительно /dev/sda1 для каждого диска. • Если диск вышел из строя и должен быть удален: sudo mdadm --remove /dev/md0 /dev/sda1 Замените /dev/md0 и /dev/sda1 на необходимые RAID устройство и диск. • Аналогичным образом можно добавить диск: sudo mdadm --add /dev/md0 /dev/sda1 Иногда диск может перейти в неработоспособное состояние, даже когда нет никаких повреждений устройства. Обычно достаточно удалить устройство из массива и затем повторно его добавить. В этом случае диск повторно синхронизируется с массивом. Если диск не синхронизируется с массивом, это означает действительное повреждение устройства. Файл /proc/mdstat также содержит полезную информацию по RAID устройствам в системе: cat /proc/mdstat Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] md0 : active raid1 sda1[0] sdb1[1] 10016384 blocks [2/2] [UU] unused devices: <none> Следующая команда лучше всего подходит для просмотра статуса синхронизации устройства: watch -n1 cat /proc/mdstat Нажмите Ctrl+c для окончания просмотра. Если вам действительно потребовалось заменить повреждённый диск, после его замены и синхронизации будет необходимо установить grub. Для установки grub на новое устройство введите следующее: sudo grub-install /dev/md0 Замените /dev/md0 на имя соответствующего устройства. 15 Установка 4.1.6. Ресурсы Тема массивов RAID обширна из-за изобилия вариантов настройки RAID. Пожалуйста посмотрите следующие ссылки для дополнительной информации: • Ubuntu Wiki Articles on RAID . • Software RAID HOWTO 7 8 6 • Managing RAID on Linux 4.2. Менеджер логических томов (LVM) Менеджер логических томов, или LVM,позволяет администраторам создавать логические тома на одном и нескольких жёстких дисках. LVM тома могут быть созданы как на разделах программного RAID, так и на стандартных разделах единичного диска. Тома также могут расширяться, предоставляя большую гибкость системам по изменению предоставляемых ресурсов. 4.2.1. Обзор Побочным эффектом от мощи и гибкости LVM является большая степень сложности. Перед тем, как погружаться в установочный процесс LVM, было бы неплохо ознакомиться с некоторыми терминами. • Физический том (Physical Volume — PV): физический жёсткий диск, раздел диска или раздел программного RAID, отформатированный как LVM PV. • Группа томов (Volume Group — VG): строится из одного или нескольких физических томов. VG могут быть расширены добавлением PV. VG похожи на виртуальные дисковые устройства, которые можно разделять на логические тома. • Логический том (Logical Volume — LV): аналогичен разделу на диске без использования LVM. LV, отформатированный в желаемую файловую систему (EXT3, XFS, JFS и др.) доступен для монтирования и хранения данных. 4.2.2. Установка Пример в данной секции показывает установку Ubuntu Server Edition с монтированием /srv на том LVM. В процессе начальной установки только один физический том (PV) может стать частью группы томов (VG). Другой 6 7 https://help.ubuntu.com/community/Installation#raid http://www.faqs.org/docs/Linux-HOWTO/Software-RAID-HOWTO.html 8 http://oreilly.com/catalog/9781565927308/ 16 Установка PV будет добавлен после установки для демонстрации того, как VG может быть расширен. Существует несколько вариантов установки LVM, "Управляемый — использовать весь диск и настроить LVM" который также позволит вам выделить часть доступного пространства под LVM, "Управляемый — использовать целиком и настроить шифрованный LVM", или установить и настроить LVM вручную. На данный момент единственный вариант настроить систему с использованием как LVM, так и стандартных разделов в процессе установки — это использование ручной настройки. 1. 2. 3. 4. 5. Следуйте инструкциям по установке, пока вы не достигнете этапа разметки дисков, а затем: На экране "Дисковые разделы" выберите "Вручную". Выделите жёсткий диск и на следующем экране выберите "да" в ответ на предложение "Создать новую таблицу разделов устройства". Далее создайте стандартные разделы для /boot, swap, и / с той файловой системой, которую вы предпочитаете. Для размещения /srv на LVM, создайте новый логический раздел. Затем замените "Использовать как" на "физический том LVM", после чего нажмите "Настройка разделов завершена". Теперь выделите "Настроить менеджер логических томов" вверху и выберите "Да" для сохранения изменений на диск. В качестве "Действия по настройке LVM"на следующем экране выберите "Создать группу томов". Введите имя для VG типа vg01, или что-то более наглядное. После ввода имени выберите раздел, выделенный под LVM, и нажмите "Continue". Вернитесь на экран "Действие по настройке LVM" выберите "Создать логический том". Выделите недавно созданную группу томов и введите имя для LV, например, srv, раз уж она предназначена для этой точки монтирования. Затем выберите размер, который может быть на весь раздел, поскольку его всегда можно будет расширить позднее. Нажмите "Finish" и вы вернётесь обратно на основную страницу "Дисковые разделы". Теперь добавьте файловую систему для нового LVM. Выделите раздел под названием "LVM VG vg01, LV srv" или тем именем, которое вы выбрали и нажмите Использовать как. Настройте файловую систему как обычно, выбрав /srvв качестве точки монтирования. По окончании нажмите "Выполнить настройку разделов". 6. 7. 8. 9. 10. Наконец нажмите "Завершить разбиение и сохранить изменения на диск". Затем подтвердите изменения и продолжите обычную установку. 17 Установка Есть несколько полезных утилит для просмотра информации по LVM: • pvdisplay: показывает информацию по физическим томам. • vgdisplay: показывает информацию по группам томов. • lvdisplay: показывает информацию по логическим томам. 4.2.3. Расширение групп томов Продолжая с srv, как примером тома LVM, в данной секции рассматривается добавление второго жёсткого диска, создание физического тома (PV), добавление его в группу томов (VG), расширение логического тома srv и в конце расширение файловой системы. Этот пример подразумевает, что в систему был добавлен второй жёсткий диск. В данном примере этот жёсткий диск получит имя /dev/sdb, и мы будем использовать весь диск под физический том (вы можете выбрать создание разделов и использовать их как другие физические тома). Убедитесь, что у вас ещё нет /dev/sdb перед тем, как выполнять приведенные ниже команды. Вы можете потерять некоторые данные, если выполните эти команды на использующемся диске. 1. Сначала создадим физический том, выполнив в терминале: sudo pvcreate /dev/sdb 2. Теперь расширим группу томов (VG): sudo vgextend vg01 /dev/sdb 3. Используйте vgdisplay для поиска свободных физических экстентов (PE) — Free PE / size (размер, который вы можете занять). Предположим, что свободно 511 PE (эквивалентно 2 ГБ при размере PE в 4 МБ) и мы используем всё доступное свободное место. Используйте ваши собственные PE и/или свободное место. Логический том (LV) теперь может быть увеличен различными методами, мы будем рассматривать только как использовать PE для расширения LV: sudo lvextend /dev/vg01/srv -l +511 Опция -l позволяет расширять LV, используя PE. Опция -L позволит задавать увеличение LV в МБ, ГБ, ТБ и т.п. 4. Даже если вы считаете, что можете увеличить файловую систему ext3 или ext4 без предварительного отключения, будет хорошей практикой 18 Установка в любом случае отмонтировать её и проверить на целостность, что позволит избежать суматошного дня по уменьшению логического тома (в этом случае ее придется отключить обязательно). Следующая команда только для файловой системы EXT3 или EXT4. Если вы используете другую файловую систему, возможно, придётся использовать другие утилиты. sudo umount /srv sudo e2fsck -f /dev/vg01/srv Опция -f для e2fsck заставляет принудительно сделать проверку на целостность системы. 5. Наконец, изменяем размер файловой системы: sudo resize2fs /dev/vg01/srv 6. Теперь монтируем раздел и проверяем его размер: mount /dev/vg01/srv /srv && df -h /srv 4.2.4. Ресурсы • Смотрите статьи Ubuntu Wiki LVM . • Смотрите LVM HOWTO 10 9 для дополнительной информации. 11 • Ещё одна хорошая статья — Managing Disk Space with LVM O'Reilly's linuxdevcenter.com. на сайте 12 • Для дополнительной информации по fdisk смотрите fdisk man page . 9 https://help.ubuntu.com/community/Installation#lvm http://tldp.org/HOWTO/LVM-HOWTO/index.html 11 http://www.linuxdevcenter.com/pub/a/linux/2006/04/27/managing-disk-space-with-lvm.html 12 http://manpages.ubuntu.com/manpages/precise/en/man8/fdisk.8.html 10 19 Установка 5. Отчёт о падении ядра 5.1. Введение Отчёт о падении ядра (Kernel Crash Dump) является частью содержимого оперативной памяти (RAM), которая копируется на диск всякий раз, когда выполнение ядра прерывается. Следующие события могут стать причиной остановки ядра: • Критическая ошибка ядра (Kernel Panic) • Незамаскированное прерывание (NMI) • Фатальная ошибка проверки машины (MCE) • Ошибка аппаратного обеспечения • Ручное вмешательство Некоторые из этих событий (Kernel Panic, NMI) ядро обрабатывает автоматически и запускает механизм сохранения отчета через kexec. В других случаях требуется ручное вмешательство для захвата памяти. Всякий раз, как что-то из перечисленного происходит, важно найти основную причину с целью предотвращения такого события снова. Причина может быть определена с помощью инспектирования содержимого памяти. 5.2. Механизм отчёта о падении ядра Когда происходит критическая ошибка ядра, ядро полагается на механизм kexec для быстрой перезагрузки новой копии ядра в предварительно зарезервированную секцию памяти, которая выделяется при загрузке системы. Это позволяет существующей памяти остаться нетронутой с целью безопасного копирования её содержимого в файл. 5.3. Установка Утилита сохранения отчёта о падении ядра устанавливается следующей командой: sudo apt-get install linux-crashdump После этого потребуется перезагрузка. 5.4. Конфигурация Никакой дальнейшей настройки не требуется, чтобы разрешить механизм отчёта о падении ядра. 20 Установка 5.5. Проверка Для подтверждения, что механизм отчёта о падении ядра доступен, надо проверить несколько вещей. Во-первых, убедитесь, что указан загрузочный параметр crashkernel (заметьте, что строка внизу разделена на две, чтобы уместить её в формат документа): cat /proc/cmdline BOOT_IMAGE=/vmlinuz-3.2.0-17-server root=/dev/mapper/PreciseS-root ro crashkernel=384M-2G:64M,2G-:128M Параметр crashkernel имеет следующий синтаксис: crashkernel=<range1>:<size1>[,<range2>:<size2>,...][@offset] range=start-[end] 'start' is inclusive and 'end' is exclusive. Таким образом с параметром crashkernel, найденным в файле /proc/cmdline мы имеем: crashkernel=384M-2G:64M,2G-:128M Значение выше означает: • если оперативная память меньше 384МБ, то ничего не резервировать (это вариант «спасения») • если оперативная память между 384МБ и 2ГБ (привилегированная), то зарезервировать 64МБ • если оперативная память больше 2ГБ, то зарезервировать 128МБ Во-вторых, убедитесь, что ядро зарезервировало требуемую память для kdump ядра, выполнив: dmesg | grep -i crash ... [ 0.000000] Reserving 64MB of memory at 800MB for crashkernel (System RAM: 1023MB) 5.6. Проверка механизма отчёта о падении ядра Проверка механизма отчёта о падении ядра вызовет перезагрузку системы. В определенных ситуациях это может привести к потере 21 Установка данных, если система будет сильно загружена. Если вы хотите проверить этот механизм, убедитесь, что система простаивает или загружена очень слабо. Убедитесь, что механизм SysRQ включен, посмотрев значение параметра ядра/proc/sys/kernel/sysrq: cat /proc/sys/kernel/sysrq Если возвращается значение 0, свойство отключено. Включите его следующей командой: sudo sysctl -w kernel.sysrq=1 Как только закончите с этим, вам придётся стать суперпользователем (root), поскольку будет недостаточно использовать только sudo. От имени пользователя root вам нужно выполнить команду echo c > /proc/sysrqtrigger. Если вы используете сетевое соединение, вы потеряете связь с системой. Именно поэтому лучше проводить тест с системной консоли. Это позволит сделать процесс отчёта о падении ядра видимым. Типичный вывод теста будет выглядеть следующим образом: sudo -s [sudo] password for ubuntu: # echo c > /proc/sysrq-trigger [ [ [ [ [ 31.659002] SysRq : Trigger a crash 31.659749] BUG: unable to handle kernel NULL pointer dereference at 31.662668] IP: [<ffffffff8139f166>] sysrq_handle_crash+0x16/0x20 31.662668] PGD 3bfb9067 PUD 368a7067 PMD 0 31.662668] Oops: 0002 [#1] SMP (null) [ 31.662668] CPU 1 .... Дальнейший вывод отрезан, но вы можете посмотреть перезагрузку системы и где-нибудь в журнале вы сможете найти следующую строчку: Begin: Saving vmcore from kernel crash ... После завершения система перезагрузится в нормальный рабочий режим. После чего вы сможете найти файл отчёта о падении ядра в каталоге /var/ crash: ls /var/crash linux-image-3.0.0-12-server.0.crash 22 Установка 5.7. Ресурсы Отчёт о падении ядра — обширная тема, требующая хорошего знания ядра Linux. Вы сможете найти больше информации по следующим ссылкам: • Документация по kdump . • Утилита crash 14 15 13 • Анализ падений ядра Linux (Основано на дистрибутиве Fedora, однако предоставляет хороший критический анализ исследований отчетов падения ядра) 13 14 http://www.kernel.org/doc/Documentation/kdump/kdump.txt http://people.redhat.com/~anderson/ 15 http://www.dedoimedo.com/computers/crash-analyze.html 23 Глава 3. Управление пакетами Ubuntu содержит всеобъемлющую систему управления пакетами для установки, обновления, настройки и удаления программ. Помимо обеспечения доступа к упорядоченной базе из более 35000 пакетов программного обеспечения для Ubuntu, система управления пакетами также содержит средства разрешения зависимостей и проверки наличия обновлений программ. Есть несколько программ для работы с системой управления пакетами Ubuntu, начиная с простых консольных утилит, использование которых может быть легко автоматизировано администраторами системы, до простых в использовании программ с графическим интерфейсом, более подходящих для новичков в Ubuntu. 24 Управление пакетами 1. Введение Система управления пакетами создана на основе подобной системы, используемой в дистрибутиве Debian GNU/Linux. Файлы пакетов содержат все необходимые файлы, метаданные и инструкции, чтобы обеспечить использование специфических функций или программного приложения на вашем компьютере под управлением Ubuntu. Файлы пакетов Debian обычно имеют расширение '.deb' и, как правило, содержатся в репозиториях — коллекциях пакетов, которые можно найти на различных носителях, таких как диски CD-ROM, или в Интернете. Пакеты обычно заранее скомпилированы в двоичный формат, поэтому устанавливаются быстро и не требуют выполнения компиляции. Многие сложные пакеты используют концепцию зависимостей. Зависимости — это дополнительные пакеты, необходимые основному пакету для нормальной работы. Например, пакет синтезатора речи festival зависит от пакета libasound2, предоставляющего звуковую библиотеку ALSA, необходимую для воспроизведения звука. Чтобы festival заработал, необходимо установить его и все его зависимости. Средства управления программами в Ubuntu делают это автоматически. 25 Управление пакетами 2. dpkg dpkg — это менеджер пакетов для систем, основанных на Debian. Он может устанавливать, удалять и собирать пакеты, но в отличие от других систем управления пакетами, не может автоматически скачивать и устанавливать пакеты или их зависимости. В этом разделе рассматривается применение dpkg для управления локально установленными пакетами: • Чтобы увидеть список всех установленных в системе пакетов, наберите в приглашении терминала: dpkg -l • В зависимости от количества пакетов в вашей системе, вывод данных может быть очень большим. Перенаправьте вывод через grep, чтобы узнать, установлен ли определённый пакет: dpkg -l | grep apache2 Замените apache2 на любое имя пакета, часть имени пакета или любое допустимое выражение. • Для получения списка файлов, установленных пакетом, в данном случае ufw, введите: dpkg -L ufw • Если вы не уверены, какой пакет установил файл, dpkg -S поможет вам узнать это. Например: dpkg -S /etc/host.conf base-files: /etc/host.conf Вывод покажет вам, что /etc/host.conf принадлежит пакету base-files. Многие файлы генерируются автоматически в процессе установки пакета и, хотя они находятся в файловой системе, dpkg -S может не знать, какому пакету они принадлежат. • Вы можете установить локальный .deb-файл, введя: sudo dpkg -i zip_3.0-4_i386.deb Замените zip_3.0-4_i386.deb на реальное имя локального .deb-файла, который вы хотите установить. • Удаление пакета может быть выполнено так: 26 Управление пакетами sudo dpkg -r zip Устанавливать пакеты с помощью dpkg в большинстве случаев НЕ РЕКОМЕНДУЕТСЯ. Лучше воспользоваться менеджером пакетов, который обрабатывает зависимости, чтобы исключить возможность возникновения несогласованностей в системе. Например, dpkg -r zip удалит пакет zip, но все пакеты, от которых он зависит, останутся установленными и могут в дальнейшем функционировать неправильно. О других опциях dpkg смотрите руководство: man dpkg. 27 Управление пакетами 3. Apt-Get Команда apt-get — это мощный инструмент командной строки, который работает с Ubuntu Advanced Packaging Tool (APT), выполняя такие действия, как установка новых пакетов программ, обновление существующих пакетов, обновление индекса списка пакетов и даже полное обновление всей системы Ubuntu. Являясь простым инструментом командной строки, apt-get имеет множество преимуществ над другими инструментами управления пакетами в Ubuntu для администраторов серверов. Некоторыми из этих преимуществ являются простота работы через SSH и возможность использования в сценариях администрирования системы, которые, в свою очередь, можно автоматизировать с помощью утилиты планировщика cron. Несколько примеров использования apt-get: • Установка пакета: устанавливать пакеты с помощью apt-get очень просто. Например, чтобы установить сетевой сканер nmap, наберите: sudo apt-get install nmap • Удаление пакета: удалить пакет (или несколько пакетов) тоже просто. Чтобы удалить пакет, установленный в предыдущем примере, наберите: sudo apt-get remove nmap Несколько пакетов: Вы можете указать сразу несколько пакетов для установки или удаления, разделив их названия пробелами. При добавлении опции --purge к apt-get remove будут также удалены конфигурационные файлы пакета. Это может быть, а может и не быть нужным вам эффектом, так что используйте эту опцию с осторожностью. • Обновление индекса пакетов: индекс пакетов APT — это база данных пакетов, доступных из репозиториев, указанных в файле / etc/apt/sources.list и каталоге /etc/apt/sources.list.d. Чтобы обновить локальный индекс пакетов, согласовав его с последними изменениями в репозиториях, наберите следующее: sudo apt-get update • Обновление пакетов: через какое-то время в репозиториях могут стать доступными обновлённые версии установленных на вашем компьютере пакетов (например, обновления, связанные с безопасностью). Чтобы 28 Управление пакетами обновить систему, в первую очередь обновите индекс пакетов, как показано выше, и после этого наберите: sudo apt-get upgrade Информацию по переходу на новый релиз Ubuntu смотрите в Раздел 3, «Обновление» [10]. Действия команды apt-get, такие как установка и удаление пакетов, сохраняются в файле журнала /var/log/dpkg.log Для дополнительной информации об использовании APT прочтите 1 подробное Руководство пользователя Debian APT или наберите в терминале: apt-get help 1 http://www.debian.org/doc/user-manuals#apt-howto 29 Управление пакетами 4. Aptitude Запуск Aptitude без параметров предоставит вам текстовый интерфейс с меню для доступа к системе Advanced Packaging Tool (APT). Множество общих функций управления пакетами, такие как установка, удаление и обновление, могут быть выполнены в Aptitude однобуквенной командой, набранной обычно в нижнем регистре. Aptitude лучше всего подходит для терминального окружения без графики, чтобы убедиться в правильном функционировании ключевых команд. Вы можете запустить интерфейс Aptitude с меню под обычным пользователем, введя следующую команду в терминале: sudo aptitude Когда Aptitude запускается, вы можете видеть строку меню вверху экрана и две панели под ней. Верхняя панель содержит категории пакетов, такие как Новые пакеты и Неустановленные пакеты. Нижняя панель содержит информацию, касающуюся пакетов и категорий пакетов. Использование Aptitude для управления пакетами является достаточно прямолинейным, а пользовательский интерфейс делает повседневные задачи простыми в выполнении. Вот примеры стандартных функций по управлению пакетами в том виде, в каком они выполняются в Aptitude: • Установка пакетов: Для установки пакета определите его местонахождение в категории Неустановленные Пакеты с использованием клавиш перемещения курсора и клавиши ENTER. Подсветите желаемый пакет и затем нажмите клавишу +. Название пакета выделится зелёным цветом, означающим, что пакет выбран для установки. Далее нажмите g для получения списка действий над пакетами. Нажмите g еще раз, и вас предупредят о необходимости получения прав суперпользователя. Нажмите ENTER для запроса пароля. Введите ваш пользовательский пароль для получения прав суперпользователя. Наконец, нажмите g ещё раз и вас предупредят о загрузке пакета. Нажмите ENTER в ответ на запрос Продолжить и начнутся загрузка и установка. • Удаление пакетов: Для удаления пакета определите его местонахождение в категории Установленные Пакеты с использованием клавиш перемещения курсора и клавиши ENTER. Подсветите пакет, который вы хотите удалить и затем нажмите клавишу -. Название пакета выделится розовым цветом, означающим, что он выделен для удаления. Теперь нажмите g для получения списка действий над пакетами. 30 Управление пакетами Нажмите g ещё раз, и вас предупредят о необходимости получения прав суперпользователя. Нажмите ENTER для запроса пароля. Введите ваш пользовательский пароль для получения прав суперпользователя. Наконец, нажмите g ещё раз, а затем ENTER для продолжения, и начнётся удаление пакета. • Обновление индекса пакетов: Для обновления индекса пакетов просто нажмите клавишу u, и вас предупредят о необходимости получения прав суперпользователя. Нажмите ENTER для запроса пароля. Введите ваш пользовательский пароль для получения прав суперпользователя. Начнётся обновление индекса пакетов. Нажмите ENTER, когда завершится процесс загрузки. • Обновление пакетов: Для обновления пакетов выполните обновление индекса пакетов, как показано выше, и затем нажмите клавишу U, чтобы отметить все пакеты к обновлению. Теперь нажмите g для просмотра действий над пакетами. Нажмите g снова и вас предупредят о необходимости получения прав суперпользователя. Нажмите ENTER для запроса пароля. Введите ваш пользовательский пароль для получения прав суперпользователя. Наконец, нажмите g ещё раз и вас предупредят о загружаемых пакетах. Нажмите ENTER для продолжения и начнется обновление пакетов. Первая колонка, отображаемая в списке пакетов в верхней панели, при непосредственном просмотре пакетов, отображает текущее состояние пакета и использует следующие символы для индикации этого состояния: • i: Установленный пакет • c: Пакет не установлен, но настройки пакета остались в системе • p: Удалён из системы • v: Виртуальный пакет • B: Испорченный пакет • u: Файлы распакованы, однако настройка пакета не закончена • C: Частично настроенные — настройка завершилась неудачей и требует исправления • H: Частично установленные — удаление завершилось неудачей и требует исправления Чтобы выйти из Aptitude, просто нажмите клавишу q и подтвердите свой выход. Многие другие функции доступны из меню Aptitude, которое доступно по нажатию клавиши F10. 31 Управление пакетами 4.1. Aptitude в командной строке Aptitude можно использовать и как инструмент командной строки, подобно apt-get. Чтобы установить пакет nmap со всеми зависимостями, как в примере apt-get, нужно ввести следующую команду: sudo aptitude install nmap Чтобы удалить тот же пакет, нужно использовать команду: sudo aptitude remove nmap Смотрите в man-страницах дополнительные сведения об опциях командной строки Aptitude. 32 Управление пакетами 5. Автоматические обновления Пакет unattended-upgrades может использоваться для автоматической установки обновлённых пакетов и может быть сконфигурирован на обновление всех пакетов или установку только изменений для безопасности системы. Во-первых, установите пакет, введя в командной строке: sudo apt-get install unattended-upgrades Чтобы настроить unattended-upgrades, отредактируйте /etc/apt/ apt.conf.d/50unattended-upgrades изменив следующие строки так, как вам это необходимо: Unattended-Upgrade::Allowed-Origins { "Ubuntu precise-security"; // }; "Ubuntu precise-updates"; Некоторые пакеты могут быть указаны в "чёрном" списке что означает, что они не будут обновляться. Чтобы поместить пакет в "чёрный" список: Unattended-Upgrade::Package-Blacklist { // // // // }; "vim"; "libc6"; "libc6-dev"; "libc6-i686"; Двойная косая черта «//» означает комментарий, то есть всё, что находится после "//", не будет обрабатываться. Чтобы включить автоматические обновления, отредактируйте /etc/apt/ apt.conf.d/10periodic и задайте соответствующие конфигурационные параметры apt: APT::Periodic::Update-Package-Lists "1"; APT::Periodic::Download-Upgradeable-Packages "1"; APT::Periodic::AutocleanInterval "7"; APT::Periodic::Unattended-Upgrade "1"; Приведённая выше конфигурация обновляет список пакетов, скачивает и устанавливает доступные обновления каждый день. Локальный архив загрузок очищается каждую неделю. Вы можете почитать больше о настройках периодичности apt в заголовке сценария //etc/cron.daily/apt. 33 Управление пакетами Результаты unattended-upgrades будут занесены в /var/log/unattendedupgrades. 5.1. Уведомления Настройка Unattended-Upgrade::Mail в /etc/apt/apt.conf.d/50unattended-upgrades позволит unattended-upgrades сообщать администратору по электронной почте подробности о любых пакетах, нуждающихся в обновлении или имеющих проблемы. Ещё один полезный пакет — apticron. apticron настраивает задание cron для отправки электронны писем администратору с информацией о любых пакетах в системе, для которых доступны обновления, а также отчётом об изменениях в каждом пакете. Для установки пакета apticron в терминале введите: sudo apt-get install apticron После установки пакета отредактируйте /etc/apticron/apticron.conf, чтобы установить адрес электронной почты и другие опции: EMAIL="root@example.com" 34 Управление пакетами 6. Конфигурация Настройка системных репозиториев Advanced Packaging Tool (APT) сохраняется в файле /etc/apt/sources.list и каталоге /etc/apt/sources.list.d. Пример такого файла приведен здесь вместе с информацией по добавлению или удалению ссылок на репозитории в этом файле. Здесь вы можете найти простой пример типичного файла /etc/apt/ sources.list. Вы можете изменять файл для подключения и отключения репозиториев. Например, для отключения требования вставить диск Ubuntu во время выполнения операций с пакетами просто закомментируйте строки с соответствующим диском, которые находятся в начале файла: # no more prompting for CD-ROM please # deb cdrom:[Ubuntu 12.04 _Precise Pangolin_ - Release i386 (20111013.1)]/ precise main restricted 2 6.1. Дополнительные репозитории В дополнение к официально поддерживаемым репозиториям пакетов для Ubuntu существуют дополнительные, поддерживаемые сообществом, репозитории, которые обеспечивают возможность установки ещё нескольких тысяч пакетов. Два наиболее популярных — это репозитории Universe и Multiverse. Эти репозитории официально не поддерживаются Ubuntu, но, поскольку они поддерживаются сообществом, обычно можно без опасений использовать входящие в них пакеты на компьютере с Ubuntu. Пакеты в репозитории Multiverse часто имеют нюансы с лицензиями, которые не позволяют им распространяться вместе со свободной операционной системой, и их использование может быть незаконным там, где вы находитесь. Обращаем ваше внимание, что указанные репозитории, Universe и Multiverse, не содержат официально поддерживаемых пакетов. В частности, может не существовать необходимых обновлений безопасности для этих пакетов. Доступно большое количество других источников пакетов, иногда предоставляющих доступ лишь к одному пакету (например, в случае пакета с исходными кодами, предоставляемого разработчиком отдельного приложения). Вы должны быть очень осторожны и внимательны при 2 ../sample/sources.list 35 Управление пакетами использовании нестандартных источников пакетов. Внимательно изучите как источник, так и пакет перед установкой, так как некоторые источники, и пакеты, предоставляемые ими, могут вызвать нестабильную работу вашей системы или даже полную её неработоспособность. По умолчанию, репозитории Universe и Multiverse доступны, но если вы хотите отключить их, измените /etc/apt/sources.list и закомментируйте следующие строки: deb http://archive.ubuntu.com/ubuntu precise universe multiverse deb-src http://archive.ubuntu.com/ubuntu precise universe multiverse deb http://us.archive.ubuntu.com/ubuntu/ precise universe deb-src http://us.archive.ubuntu.com/ubuntu/ precise universe deb http://us.archive.ubuntu.com/ubuntu/ precise-updates universe deb-src http://us.archive.ubuntu.com/ubuntu/ precise-updates universe deb http://us.archive.ubuntu.com/ubuntu/ precise multiverse deb-src http://us.archive.ubuntu.com/ubuntu/ precise multiverse deb http://us.archive.ubuntu.com/ubuntu/ precise-updates multiverse deb-src http://us.archive.ubuntu.com/ubuntu/ precise-updates multiverse deb http://security.ubuntu.com/ubuntu precise-security universe deb-src http://security.ubuntu.com/ubuntu precise-security universe deb http://security.ubuntu.com/ubuntu precise-security multiverse deb-src http://security.ubuntu.com/ubuntu precise-security multiverse 36 Управление пакетами 7. Ссылки Большинство материалов, имеющихся в этой главе, также доступны в помощи man, многие из которых также доступны в интернете. • Wiki-страница установки Ubuntu содержит дополнительную информацию. • Для дополнительной информации по dpkg смотрите страницу 4 документации man по dpkg . • APT HOWTO и страница документации man по apt-get полезную информацию по использованию apt-get. 7 5 6 3 содержит • Смотрите страницу документации man по aptitude для информации о дополнительных опциях. • HOWTO по добавлению репозиториев (Ubuntu Wiki) содержат дополнительную информацию по добавлению репозиториев. 8 3 4 5 6 7 8 https://help.ubuntu.com/community/InstallingSoftware http://manpages.ubuntu.com/manpages/precise/en/man1/dpkg.1.html http://www.debian.org/doc/manuals/apt-howto/ http://manpages.ubuntu.com/manpages/precise/en/man8/apt-get.8.html http://manpages.ubuntu.com/manpages/precise/man8/aptitude.8.html https://help.ubuntu.com/community/Repositories/Ubuntu 37 Глава 4. Работа в сети Сети состоят из двух и более устройств, таких, как компьютерные системы, принтеры и сопутствующее оборудование, которые соединены при помощи физического кабеля или беспроводными каналами с той целью, чтобы делать общей информацию и распространять её между соединёнными устройствами. Этот раздел содержит общую и специфическую информацию относительно сетевого взаимодействия, включая обзор концепций сети и детальное обсуждение популярных сетевых протоколов. 38 Работа в сети 1. Настройка сети Ubuntu поставляется с несколькими графическими инструментами для настройки сетевых устройств. Этот документ рассчитан на продвинутых пользователей и фокусируется на управлении сетью с помощью командной строки. 1.1. Интерфейсы Ethernet Интерфейсы Ethernet обозначаются в системе как ethX, где X является числом. Первый интерфейс Ethernet обычно обозначается eth0, второй eth1, и так далее в порядке возрастания чисел. 1.1.1. Определение Ethernet интерфейсов Для быстрого определения всех доступных сетевых интерфейсов вы можете использовать команду ifconfig, как показано ниже. ifconfig -a | grep eth eth0 Link encap:Ethernet HWaddr 00:15:c5:4a:16:5a Другое приложение, которое может помочь идентифицировать все доступные вашей системе сетевые интерфейсы — это команда lshw . В приведённом ниже примере lshw показывает один Ethernet интерфейс с логическим именем eth0 вместе с информацией по шине, сведениями о драйвере и всеми поддерживаемыми возможностями. sudo lshw -class network *-network description: Ethernet interface product: BCM4401-B0 100Base-TX vendor: Broadcom Corporation physical id: 0 bus info: pci@0000:03:00.0 logical name: eth0 version: 02 serial: 00:15:c5:4a:16:5a size: 10MB/s capacity: 100MB/s width: 32 bits clock: 33MHz capabilities: (snipped for brevity) configuration: (snipped for brevity) resources: irq:17 memory:ef9fe000-ef9fffff 39 Работа в сети 1.1.2. Логические имена интерфейсов Ethernet Логические имена интерфейсов настраиваются в файле /etc/udev/rules.d/70persistent-net.rules. Если вы захотите определить, какой интерфейс получит определённое логическое имя, найдите строку, соответствующую физическому MAC-адресу интерфейса, и измените значение NAME=ethX на желаемое логическое имя. Перегрузите систему для применения изменений. 1.1.3. Настройки интерфейса Ethernet ethtool — это программа, которая показывает и изменяет настройки сетевых карт, такие как автосогласование (auto-negotiation), скорость порта, режим дуплекса и функция Wake-on-LAN (пробуждение системы через сеть). Эта программа не устанавливается по умолчанию, но доступна к установке из репозиториев. sudo apt-get install ethtool Ниже приведён пример того, как посмотреть возможности карты и настроить параметры интерфейса Ethernet. sudo ethtool eth0 Settings for eth0: Supported ports: [ TP ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Half 1000baseT/Full Supports auto-negotiation: Yes Advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Half 1000baseT/Full Advertised auto-negotiation: Yes Speed: 1000Mb/s Duplex: Full Port: Twisted Pair PHYAD: 1 Transceiver: internal Auto-negotiation: on Supports Wake-on: g Wake-on: d Current message level: 0x000000ff (255) Link detected: yes Изменения, сделанные с использованием команды ethtool, временные и будут утеряны после перезагрузки. Если вы хотите сохранить настройки, просто добавьте требуемую команду ethtool в строку pre-up в файле /etc/ network/interfaces. 40 Работа в сети Ниже приведен пример того, как интерфейс, определённый как eth0, может быть постоянно настроен на скорость порта 1000 Мб/с в режиме полного дуплекса. auto eth0 iface eth0 inet static pre-up /sbin/ethtool -s eth0 speed 1000 duplex full Несмотря на то, что пример выше показывает интерфейс, настроенный статично, это работает и с другими методами, такими как DHCP. Этот пример призван просто продемонстрировать правильное размещение строки pre-up по отношению к остальной части конфигурационного файла интерфейса. 1.2. Адресация IP Следующий раздел описывает процесс настройки IP-адреса вашего компьютера и шлюза по умолчанию, необходимых для подключения к локальной сети и интернету. 1.2.1. Временное назначение IP-адреса Для временной настройки сети вы можете использовать стандартные команды, такие как ip, ifconfig и route, которые присутствуют также и в других системах на базе GNU/Linux. Эти команды позволят изменить настройки, которые будут применены мгновенно, но они не будут постоянными и будут утеряны после перезагрузки. Для временной настройки IP-адреса вы можете использовать команду ifconfig следующим образом. Только замените IP-адрес и маску подсети на соответствующие требованиям вашей сети. sudo ifconfig eth0 10.0.0.100 netmask 255.255.255.0 Для проверки настройки IP-адреса eth0 вы можете использовать команду ifconfig таким образом: ifconfig eth0 eth0 Link encap:Ethernet inet addr:10.0.0.100 HWaddr 00:15:c5:4a:16:5a Bcast:10.0.0.255 MTU:1500 Mask:255.255.255.0 Metric:1 inet6 addr: fe80::215:c5ff:fe4a:165a/64 Scope:Link UP BROADCAST RUNNING MULTICAST RX packets:466475604 errors:0 dropped:0 overruns:0 frame:0 TX packets:403172654 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:2574778386 (2.5 GB) TX bytes:1618367329 (1.6 GB) 41 Работа в сети Interrupt:16 Для настройки шлюза по умолчанию вы можете использовать команду route следующим образом. Измените адрес шлюза по умолчанию на требуемый для вашей сети. sudo route add default gw 10.0.0.1 eth0 Для проверки настройки шлюза по умолчанию используйте команду route таким образом: route -n Kernel IP routing table Destination Gateway 10.0.0.0 0.0.0.0 0.0.0.0 10.0.0.1 Genmask 255.255.255.0 0.0.0.0 Flags Metric Ref U 1 0 UG 0 0 Use Iface 0 eth0 0 eth0 Если вам требуется DNS для временной настройки сети, вы можете добавить IP-адреса DNS-серверов в файл /etc/resolv.conf. Пример ниже показывает как указать два DNS-сервера в /etc/resolv.conf, которые могут быть заменены на сервера использующиеся в вашей сети. Более пространное описание настройки клиента DNS приведено в следующей секции. nameserver 8.8.8.8 nameserver 8.8.4.4 Если вам больше не требуется эта конфигурация и вы хотите отменить все IP настройки интерфейса, вы можете использовать команду ip с опцией flush как показано ниже: ip addr flush eth0 Сброс IP настроек с использованием команды ip не очистит содержимое /etc/resolv.conf. Вам придётся удалять или менять эти значения вручную. 1.2.2. Динамическое назначение IP-адреса (клиент DHCP) Чтобы настроить ваш сервера на использование DHCP для динамического присвоения адреса, добавьте dhcp метод в адресную секцию inet для соответствующего интерфейса в файле /etc/network/interfaces. Пример ниже предполагает, что вы настраиваете ваш первый интерфейс Ethernet, обозначенный как eth0. 42 Работа в сети auto eth0 iface eth0 inet dhcp Добавив настройку интерфейса как показано выше, вы можете вручную включить интерфейс командой ifup, которая активизирует процесс DHCP через dhclient. sudo ifup eth0 Для отключения интерфейса вручную вы можете воспользоваться командой ifdown, которая запустит процесс освобождения DHCP и остановки интерфейса. sudo ifdown eth0 1.2.3. Статическое назначение IP-адреса Для настройки вашей системы под использование статического присвоения IP-адреса добавьте метод static в секцию inet для соответствующего интерфейса в файле /etc/network/interfaces. Пример ниже предполагает, что вы настраиваете ваш первый интерфейс Ethernet, обозначенный как eth0. Измените значения адреса, маски сети, и шлюза для соответствия требованиям вашей сети. auto eth0 iface eth0 inet static address 10.0.0.100 netmask 255.255.255.0 gateway 10.0.0.1 Добавив настройку интерфейса как показано выше, вы можете вручную включить интерфейс командой ifup. sudo ifup eth0 Для отключения интерфейса вручную вы можете воспользоваться командой ifdown. sudo ifdown eth0 1.2.4. Интерфейс Loopback (обратной петли) Интерфейс loopback определяется системой как lo и по умолчанию задает адрес 127.0.0.1. Он может быть выведен командой ifconfig. ifconfig lo 43 Работа в сети lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:2718 errors:0 dropped:0 overruns:0 frame:0 TX packets:2718 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:183308 (183.3 KB) TX bytes:183308 (183.3 KB) По умолчанию в /etc/network/interfaces должны присутствовать две строки, отвечающих за автоматическую настройку интерфейса loopback. Рекомендуется оставить эти настройки по умолчанию, пока не возникнет специфической причины для их изменения. Пример этих двух строк приведён ниже. auto lo iface lo inet loopback 1.3. Разрешение имён Под разрешением имени по отношению к IP-сетям подразумевается процесс определения IP-адреса по имени хоста, упрощающий идентификацию ресурса в сети. В следующем разделе показано, как правильно настроить вашу систему для разрешения имён с помощью DNS и статических записей имен хостов. 1.3.1. Настройка клиента DNS Традиционно файл /etc/resolv.conf был статическим файлом настроек, который очень редко требовалось изменять или он менялся автоматически по запросам DHCP клиента. В настоящее время компьютер может переключаться с одной сети на другу слишком часто и структура resolvconf теперь используется для отслеживания этих изменений и автоматического обновления настроек разрешений. Это выглядит как промежуточный слой между программами, которые предоставляют информацию от серверов имён, и приложениями, которым она требуется. Resolvconf делает доступной информацию через подключение сценариев, связанных с настройкой сетевых интерфейсов. Наиболее значимое отличие для пользователя в том, что любые ручные изменения /etc/resolv.conf будут потеряны при перезаписи по каждому срабатыванию триггеров resolveconf. Вместо этого resolveconf использует ловушки клиента DHCP и /etc/network/ interfaces для генерации списка серверов имен и доменов, чтобы положить в /etc/resolv.conf, который теперь является символьной ссылкой: /etc/resolv.conf -> ../run/resolvconf/resolv.conf 44 Работа в сети Для настройки разрешений добавьте IP-адреса серверов имён, соответствующие вашей сети, в файл /etc/network/interfaces. Вы также можете добавить необязательный список подбора DNS суффиксов для получения доменных имен. Для каждой другой разрешенной опции настройки resolv.conf вы можете добавить внутри абзаца по отдельной строке с этой опцией с префиксом имени dns-. Результирующий файл может выглядеть так: iface eth0 inet static address 192.168.3.3 netmask 255.255.255.0 gateway 192.168.3.1 dns-search example.com dns-nameservers 192.168.3.45 192.168.8.10 В опции search можно также указать несколько доменных имён, в этом случае DNS-запросы будут добавляться в том порядке, в котором они введены. Например, в вашей сети может быть несколько поддоменов для поиска: родительский домен example.com и два поддомена, sales.example.com и dev.example.com. Если у вас несколько доменов, в которых должен выполняться поиск, ваша конфигурация может выглядеть так: iface eth0 inet static address 192.168.3.3 netmask 255.255.255.0 gateway 192.168.3.1 dns-search example.com sales.example.com dev.example.com dns-nameservers 192.168.3.45 192.168.8.10 Если вы попытаетесь проверить командой ping хост с именем server1, ваша система автоматически запросит DNS по их полным доменным именам (FQDN) в следующем порядке: 1. server1.example.com 2. server1.sales.example.com 3. server1.dev.example.com Если совпадений не будет, DNS сервер предоставит результат notfound и запрос DNS потерпит неудачу. 1.3.2. Статические имена хостов Статические имена хостов — это локально определённые соотношения «имя хоста - IP», находящиеся в файле /etc/hosts. Значения, определённые 45 Работа в сети в файле hosts, по умолчанию превалируют над DNS. Это означает, что если система пытается разрешить имя и находит его в /etc/hosts, она не будет пытаться смотреть записи в DNS. В некоторых конфигурациях, особенно когда доступ в интернет не требуется, сервера, соединённые с ограниченным количеством ресурсов, могут просто использовать статический список имён вместо DNS. Далее приведен пример файла hosts, где ряд локальных серверов определены обычными именами хостов, алиасами и их эквивалентами полных имен (FQDN). 127.0.0.1 127.0.1.1 10.0.0.11 10.0.0.12 localhost ubuntu-server server1 vpn server1.example.com server2 mail server2.example.com 10.0.0.13 server3 www server3.example.com 10.0.0.14 server4 file server4.example.com В примере выше обратите внимание, что каждый сервер имеет алиас вдобавок к их правильным коротким и полным именам. Server1 соотносится с именем vpn, server2 определен как mail, server3 как www, and server4 как file. 1.3.3. Настройка переключения сервиса имён Последовательность, в которой ваша система выбирает метод разрешения имен по IP адресам управляется конфигурационным файлом переключателя сервиса имён (NSS) /etc/nsswitch.conf. Как отмечено в предыдущей секции, обычно статические имена хостов, определенные в системном файле /etc/hosts, имеют приоритет перед разрешением имён через DNS. Далее следует пример строки, отвечающей за этот порядок перебора имён хостов в файле /etc/hosts. hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4 • files сперва пытается разрешить статическое имя хоста в /etc/hosts. • mdns4_minimal пытается разрешить имя с использованием параллельного (multicast) DNS. • [NOTFOUND=return] означает, что любой ответ notfound, предшествующий процессу mdns4_minimal должен считаться значимым (авторитетным), и что система не будет пытаться продолжать искать ответ. • dns представляет собой наследуемый последовательный (legacy unicast) DNS-запрос. 46 Работа в сети • mdns4 представляет параллельный (multicast) DNS-запрос. Для изменения последовательности вышеупомянутых методов разрешения имен вы можете просто заменить строку hosts: на значение по вашему выбору. Например, если вы предпочитаете использовать последовательный DNS до параллельного DNS, вы можете изменить строку в /etc/nsswitch.conf как показано ниже: hosts: files dns [NOTFOUND=return] mdns4_minimal mdns4 1.4. Использование моста Соединение нескольких интерфейсов — наиболее продвинутая настройка, но очень полезная во множестве сценариев. Один вариант — установка взаимодействия между несколькими сетевыми интерфейсами и затем использование защитного экрана (firewall) для фильтрования трафика между двумя сегментами сети. Другой сценарий — использование связывания на системе с одним интерфейсом для разрешения виртуальным машинам иметь прямой доступ во внешнюю сеть. Следующий пример раскрывает последний сценарий. Перед настойкой взаимодействия вам потребуется установить пакет bridgeutils. Для установки пакета введите в терминале: sudo apt-get install bridge-utils Далее настройте взаимодействие, отредактировав /etc/network/interfaces: auto lo iface lo inet loopback auto br0 iface br0 inet static address 192.168.0.10 network 192.168.0.0 netmask 255.255.255.0 broadcast 192.168.0.255 gateway 192.168.0.1 bridge_ports eth0 bridge_fd 9 bridge_hello 2 bridge_maxage 12 bridge_stp off Введите соответствующие значения для вашего физического интерфейса и сети. 47 Работа в сети Теперь перезапустите сеть для разрешения взаимодействия интерфейсов: sudo /etc/init.d/networking restart Теперь новый мост между интерфейсами поднят и работает. Утилита application>brctl 1.5. Ресурсы • Страница Ubuntu Wiki Network содержит ссылки на заметки по более продвинутым настройкам сети. • man-страница resolvconf содержит больше информации по resolvconf. • man-страница interfaces содержит подробности по дополнительным опциям для /etc/network/interfaces. • man-страница dhclient содержит подробности по большему количеству опций для настройки клиента DHCP. • Для дополнительной информации по настройке DNS-клиента смотрите 5 resolver man page . Глава 6 руководства O'Reilly Администрирования 6 сетей Linux также является хорошим источником по разрешению имён и настройке сервиса имён. • Для дополнительной информации по сетевому связыванию смотрите man7 8 страницу brctl и страницу Net:Bridge от Linux Foundation. 4 3 2 1 1 2 3 4 5 6 7 8 https://help.ubuntu.com/community/Network http://manpages.ubuntu.com/manpages/man8/resolvconf.8.html http://manpages.ubuntu.com/manpages/man5/interfaces.5.html http://manpages.ubuntu.com/manpages/man8/dhclient.8.html http://manpages.ubuntu.com/manpages/man5/resolver.5.html http://oreilly.com/catalog/linag2/book/ch06.html http://manpages.ubuntu.com/manpages/man8/brctl.8.html http://www.linuxfoundation.org/en/Net:Bridge 48 Работа в сети 2. TCP/IP Протокол управления передачей и межсетевой протокол (TCP/IP) — это стандартный набор протоколов, разработанных в конце 70-х годов управлением перспективного планирования оборонных научноисследовательских работ (DARPA) в качестве средства коммуникации между различными типами компьютеров и компьютерных сетей. Так как сеть Интернет построена на стеке протоколов TCP/IP, они представляют самый популярный набор сетевых протоколов на Земле. 2.1. Введение в TCP/IP Два компонента протокола TCP/IP представляют разные аспекты компьютерного взаимодействия. Межсетевой протокол "IP" в стеке TCP/IP — это протокол без установления соединения, который предоставляет только маршрутизацию пакетов, используя IP-пакет (датаграмму) как основной блок сетевой информации. IP-пакет содержит заголовок с последующим сообщением. Протокол управления передачей "TCP" в TCP/IP позволяет сетевым хостам устанавливать соединения, которые могут использоваться для передачи потоков данных. TCP также гарантирует, что данные между подключениями будут доставлены, и что они придут на сетевой хост в том же порядке, в каком они были посланы с другого. 2.2. Настройка TCP/IP Настройка протокола TCP/IP состоит из нескольких элементов, которые должны быть указаны в соответствующих файлах конфигураций, или получены с помощью дополнительных служб таких как сервер протокола динамической настройки хостов (Dynamic Host Configuration Protocol, DHCP), который, в свою очередь, может быть настроен для автоматического предоставления правильных настроек TCP/IP клиентам сети. Следующим параметрам настройки должны быть указаны правильные значения, чтобы обеспечить нормальную работу вашей системы Ubuntu в сети. Обычные элементы настроек TCP/IP и их назначение таковы: • IP адрес. IP адрес — это уникальная идентификационная строка, представленная в виде четырёх десятичных чисел в диапазоне от нуля (0) до двухсот пятидесяти пяти (255), разделённых точками; каждое из четырёх чисел представляет восемь (8) бит адреса, полная длина которого тридцать два (32) бита. Этот формат называют dotted quad notation (четырёхкомпонентная система обозначений адресов с точками). • Маска сети (Netmask). Маска подсети (или просто, netmask) — это локальная битовая маска, или наборы флагов, отделяющая часть IP49 Работа в сети адреса, значимую для сети, от битов, значимых для подсети (subnetwork). Например, в сети класса C, стандартная маска сети определена как 255.255.255.0, она маскирует первые три байта IP-адреса и позволяет последнему байту IP-адреса оставаться доступным для обозначения хостов в подсети. • Сетевой адрес (Номер сети). Сетевой адрес (номер сети) представляет собой набор байт, заключающий в себе сетевую часть IP-адреса. Например, хост 12.128.1.2 в сети класса A будет использовать 12.0.0.0 в качестве сетевого адреса, здесь число 12 представляет первый байт IP-адреса (сетевая часть), а нули (0) во всех оставшихся трех байтах представляют потенциальные значения для хоста. Хост в сети, использующий частный IP-адрес 192.168.1.100, будет, в свою очередь, использовать номер сети 192.168.1.0, который определяет первые три байта сети 192.168.1 класса C и ноль (0) для всех возможных хостов в сети. • Широковещательный адрес. Широковещательный адрес — это IPадрес, который позволяет отправлять данные одновременно всем хостам в данной подсети вместо конкретного хоста. Стандартный основной широковещательный адрес для всех IP-сетей — 255.255.255.255, но этот адрес не может использоваться для отправки широковещательного сообщения каждому хосту в Интернете, потому что его заблокируют маршрутизаторы. Более подходящий широковещательный адрес — это тот, который устанавливается для конкретной подсети. Например, в частной сети 192.168.1.0 класса C, широковещательным адресом является 192.168.1.255. Широковещательные сообщения обычно производятся сетевыми протоколами, такими как ARP (Address Resolution Protocol — протокол разрешения адресов) и RIP (Routing Information Protocol — протокол маршрутизационной информации). • Адрес шлюза (Gateway Address). Адрес шлюза — это IP-адрес, через который некоторая сеть, или хост в сети, могут быть доступны. Пусть один сетевой хост желает организовать соединение с другим сетевым хостом, но они расположены в разных сетях, в таких случаях должен использоваться шлюз (gateway). Во многих случаях адрес шлюза будет совпадать с адресом маршрутизатора той же сети, который, в свою очередь, будет перенаправлять трафик в другие сети или на другие хосты, такие как хосты Интернет. Адресу шлюза должно быть присвоено правильное значение, в противном случае ваша система не сможет связаться ни с одним хостом, находящимся за пределами вашей сети. • Адрес сервера имён. Адрес сервера имён — это IP-адрес сервера службы доменных имён (DNS), который разрешает сетевые имена хостов в IP-адреса. Существует три уровня адресов серверов имён, которые 50 Работа в сети могут быть определены в порядке старшинства: первичный сервер имён, вторичный сервер имён и третичный сервер имён. Чтобы у вашей системы была возможность разрешения сетевых имён хостов в соответствующие им IP-адреса, вы должны определить правильные адреса серверов имён, которые вам разрешено использовать в настройках TCP/IP вашей системы. В большинстве случаев эти адреса предоставляются вашим сетевым провайдером, но есть много свободных и публично доступных серверов имён, которые можно использовать — например, сервера Level3 (Verizon) с адресами от 4.2.2.1 до 4.2.2.6. IP-адрес, маска сети, адрес сети, широковещательный адрес и адрес шлюза обычно определяются с помощью подходящих инструкций в файле /etc/network/interfaces. Адреса серверов имен обычно задаются с помощью директивы nameserver в файле /etc/ resolv.conf. Для получения более полной информации смотрите страницы системного руководства для interfaces или resolv.conf, соответственно, введя следующие команды в терминале: Обратитесь к соответствующей странице системного руководства о interfaces с помощью комманды: man interfaces Обратитесь к соответствующей странице системного руководства о resolv.conf с помощью комманды: man resolv.conf 2.3. IP-маршрутизация Маршрутизация IP — это способ задания и определения маршрутов в сети TCP/IP, через которые могут передаваться данные. Маршрутизация использует набор таблиц маршрутизации для управления переадресацией сетевых пакетов с данными от их источника к месту назначения, часто через множество промежуточных сетевых узлов, называемых маршрутизаторами. Есть две основных разновидности IP-маршрутизации: статическая маршрутизация и динамическая маршрутизация. Статическая маршрутизация настраивается путём добавления вручную IP-маршрутов в системную таблицу маршрутизации. Обычно это делается с помощью команды route. Статическая маршрутизация имеет много преимуществ по сравнению с динамической маршрутизацией, таких как простота реализации на небольших сетях, предсказуемость (таблица 51 Работа в сети маршрутизации всегда просчитана заранее и, таким образом, маршруты строго постоянны при каждом использовании), меньшие накладные расходы по сравнению с протоколом динамической маршрутизации. Тем не менее, у статической маршрутизации также есть свои недостатки. Например, статическая маршрутизация ограничена малыми сетями и плохо масштабируема. Статическая маршрутизация также неустойчива к сбоям в работе сети или сбоям по пути маршрута, что связано с фиксированной природой её маршрутов. Динамическая маршрутизация меняется в зависимости от состояния больших сетей с множеством возможных IP-маршрутов от источника к приемнику. Она использует специальные протоколы маршрутизации, такие как RIP (Router Information Protocol — протокол маршрутизационной информации), которые осуществляют автоматическую корректировку маршрутизационных таблиц, делающую динамическую маршрутизацию возможной. Динамическая маршрутизация имеет ряд преимуществ перед статической. Например, лучшую масштабируемость и возможность адаптироваться к сбоям в маршрутах и выходам их из строя. Помимо этого, требуется меньше ручной настройки таблиц маршрутизации, так как маршрутизаторы узнают друг у друга про своё существование и доступные маршруты. Эта черта также сводит на нет возможность внесения некорректных записей в таблицы маршрутизации из-за простой человеческой ошибки. Динамическая маршрутизация, тем не менее, не идеальна, и имеет неудобства, такие как повышенная сложность и дополнительная нагрузка на сеть за счёт взаимодействия маршрутизаторов, которая не приносит мгновенной выгоды конечным пользователям, но при этом занимает сетевой трафик. 2.4. TCP и UDP TCP — протокол с установлением соединения, предоставляющий коррекцию ошибок и гарантированную доставку данных через так называемое управление передачей (flow control). Управление передачей определяет, когда поток данных необходимо остановить и заново отправить предыдущие пакеты данных вследствие таких проблем, как коллизии (collisions). TCP обычно используется при обмене важной информацией, такой как транзакции баз данных. Протокол пользовательских датаграмм (UDP — User Datagram Protocol), с другой стороны, является протоколом без установления соединения, который редко используется для передачи важных данных, поскольку в нём отсутствует управление передачей или другие способы гарантированной доставки данных. UDP обычно используется 52 Работа в сети в приложениях для передачи потокового аудио или видео, в которых он работает быстрее TCP из-за отсутствия коррекции ошибок и управления передачей, и где потеря нескольких пакетов не является катастрофичной. 2.5. ICMP Протокол управляющих сообщений сети Интернет (Internet Control Messaging Protocol, ICMP) — это расширение Интернет-протокола (IP), определённое в документе RFC#792 (Request For Comments), поддерживающее сетевые пакеты, содержащие управляющие и информационные сообщения, а также сообщения об ошибках. ICMP используется сетевыми приложениями, например, утилитой ping, с помощью которой можно определить доступность сетевого хоста или устройства. Например, сообщения об ошибках, возвращаемых ICMP, которые полезны как хостам в сети, так и устройствам типа маршрутизаторов, включают в себя «адресат недоступен» (Destination Unreachable) и «превышено время ожидания» (Time Exceeded). 2.6. Демоны Демоны — это специальные системные программы, которые, как правило, выполняются постоянно в фоновом режиме и ожидают запросов на функции, которые они предоставляют для других программ. Многие демоны направлены на работу с сетью; то есть, большое число демонов, выполняющихся в фоновом режиме в системе Ubuntu, могут предоставлять сетевую функциональность. В качестве примера таких сетевых демонов можно привести Hyper Text Transport Protocol Daemon (httpd), который предоставляет функции веб-сервера, Secure SHell Daemon (sshd), который предоставляет безопасный удалённый доступ к консоли и возможность передачи файлов и Internet Message Access Protocol Daemon (imapd), который предоставляет службы электронной почты. 2.7. Ресурсы • Существуют страницы руководств по TCP и IP , которые содержат больше полезной информации. • Также посмотрите TCP/IP Tutorial and Technical Overview книги» IBM. 11 9 10 из «красной • Ещё один ресурс — это книга издательства O'Reilly TCP/IP Network 12 Administration . 9 http://manpages.ubuntu.com/manpages/precise/en/man7/tcp.7.html http://manpages.ubuntu.com/manpages/precise/man7/ip.7.html 11 http://www.redbooks.ibm.com/abstracts/gg243376.html 12 http://oreilly.com/catalog/9780596002978/ 10 53 Работа в сети 3. Протокол динамической настройки хостов (Dynamic Host Configuration Protocol, DHCP) DHCP (протокол динамической конфигурации узла) — это сетевой сервис, позволяющий компьютерам автоматически получать настройки от сервера в отличие от ручной настройки каждого компьютера в сети. Компьютеры, настроенные в качестве DHCP клиентов, не контролируют параметры, которые они получают от DHCP сервера, а сама настройка прозрачна для пользователя компьютера. В самом общем случае, настройки, предоставляемые сервером DHCP его клиентам, включают в себя: • IP-адрес и маску подсети • IP-адрес серверов DNS • IP-адрес шлюза по умолчанию Кроме того, сервер DHCP может дополнительно предоставить такие параметры настроек, как: • Имя хоста • Имя домена • Сервер синхронизации времени • Сервер печати Преимущество использования DHCP-сервера в сети состоит в том, что изменения настроек сети, например, изменение адреса DNS-сервера, должны выполняться только на DHCP-сервере. Все остальные компьютеры в сети будут автоматически перенастроены DHCP-клиентами во время следующего опроса ими DHCP-сервера. Дополнительное преимущество состоит в том, что становится проще подключать в сеть новые компьютеры, так как отпадает необходимость проверять доступность IP-адреса. Также сокращается количество конфликтов при назначении IP-адресов. Сервер DHCP может предоставлять настройки, используя следующие методы: Выделение вручную (по MAC-адресу) Этот метод подразумевает использование DHCP для определения уникального аппаратного адреса каждой сетевой карты, подключенной к сети, и затем продолжительного предоставления неизменной конфигурации каждый раз, когда DHCP-клиент делает запрос на DHCP-сервер, используя это сетевое устройство. Это гарантирует, что определённый адрес будет автоматически присваиваться этой сетевой карте на основе её MAC-адреса. 54 Работа в сети Динамическое выделение (пул адресов) При этом методе сервер DHCP будет выделять IP-адрес из пула адресов (иногда называемым диапазоном или областью) на период времени (или в аренду), который настраивается на сервере, или пока клиент не проинформирует сервер, что он больше не нуждается в адресе. Таким образом, клиенты получают свои настройки динамически по принципу «первый пришёл — первый обслужился». Когда клиент DHCP отсутствует в сети определённое время, настройка считается просроченной и возвращается в пул адресов для использования другими DHCP-клиентами. Это означает, что адрес арендуется или выдаётся на определенный период времени. По истечении этого периода клиент должен повторно договариваться об использовании адреса с сервером. Автоматическое выделение Использую этот метод, DHCP автоматически присваивает устройству постоянный IP-адрес, выбранный из пула доступных адресов. Обычно DHCP используется для выдачи временного адреса, но сервер DHCP может использовать бесконечное время аренды. Два последних метода можно рассматривать как автоматические поскольку DHCP-сервер выдаёт адреса без дополнительного вмешательства. Единственная разница заключается в том, насколько арендуется адрес, другими словами, когда истечёт время использования адреса клиентом. Ubuntu поставляется вместе с DHCP-сервером и клиентом. Сервером является dhcpd (сервис протокола динамического выделения адресов). Клиент, поставляемый с Ubuntu — это dhclient, и он может быть установлен на все компьютеры, требующие автоматических настроек. Обе программы просты в установке и настройке и автоматически запускаются при загрузке системы. 3.1. Установка Для установки dhcpd введите следующую команду в терминале: sudo apt-get install isc-dhcp-server Возможно, вам потребуется изменить настройку по умолчанию редактированием /etc/dhcp/dhcpd.conf для удовлетворения вашим потребностям и специфическим настройкам. Вы также можете исправить /etc/default/isc-dhcp-server для определения интерфейсов, которые должен слушать dhcpd. ПРИМЕЧАНИЕ: сообщения демона dhcpd пересылаются в syslog. Обращайтесь туда для ознакомления с диагностическими сообщениями. 55 Работа в сети 3.2. Конфигурация Сообщение об ошибке, с которым заканчивается процесс установки, может быть немного непонятным, но приведённые ниже шаги помогут вам настроить службу: Наиболее вероятно, вы захотите установить случайную раздачу IP-адресов. Это может быть выполнено сдледующим образом: # minimal sample /etc/dhcp/dhcpd.conf default-lease-time 600; max-lease-time 7200; subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.150 192.168.1.200; option routers 192.168.1.254; option domain-name-servers 192.168.1.1, 192.168.1.2; option domain-name "mydomain.example"; } В результате DHCP-сервер будет выдавать клиентам IP-адреса из диапазона 192.168.1.150-192.168.1.200. IP-адрес будет выдаваться в аренду на 600 секунд, если клиент не запросит какой-то другой период времени. В любом случае максимальный (допустимый) срок аренды будет 7200 секунд. Кроме того, сервер будет «советовать» клиенту использовать 192.168.1.254 в качестве шлюза по умолчанию и 192.168.1.1 и 192.168.1.2 в качестве серверов DNS. После изменения конфигурационного файла необходимо перезапустить dhcpd: sudo /etc/init.d/isc-dhcp-server restart 3.3. Ссылки • dhcp3-server Ubuntu Wiki 13 содержит дополнительную информацию. • Для дополнительных опций /etc/dhcp/dhcpd.conf смотрите man-страницу 14 dhcpd.conf . • ISC dhcp-server 15 13 14 https://help.ubuntu.com/community/dhcp3-server http://manpages.ubuntu.com/manpages/precise/en/man5/dhcpd.conf.5.html 15 http://www.isc.org/software/dhcp 56 Работа в сети 4. Синхронизация времени с NTP NTP — это протокол TCP/IP для синхронизации времени через сеть. По существу, клиент запрашивает текущее время на сервере и использует результат для установки своего собственного времени. За этим простым описанием скрывается много сложностей — существуют уровни NTP-серверов, где первый уровень подключен к атомным часам, а второй и третий уровни серверов распределяют на себя нагрузку по актуальным запросам из интернета. Кроме того, клиентское приложение сложнее, чем вы можете подумать — оно компенсирует задержки соединения и регулирует время таким образом, чтобы не навредить другим процессам, запущенным на сервере. Но, к счастью, вся эта сложность скрыта от вас! Ubuntu использует ntpdate и ntpd.

 

Руководство по Ubuntu Server Ссылки. Оригинал руководства (англ.) Обсуждение руководства · Сайт · Об Ubuntu · Скачать Ubuntu · Семейство Ubuntu.

ubuntu server руководство pdf

Для того, чтобы осуществить вход на Ваш сервер, Вам необходимо знать публичный IP-адрес сервера и пароль учетной записи.

Руководство по Ubuntu Server

Ubuntu Manual (появится позже), руководство для новичков по Ubuntu. Ubuntu Server Guide ( PDF, ePub), руководство по серверным возможностям.

Добро пожаловать в Руководство Ubuntu Server! Оно содержит конкретные задачи руководство по конфигурации и модернизации вашей системы.

Комментарии (0)Просмотров (101)


Зарегистрированный
Анонимно