Александр Поляк-Брагинский Санкт-Петербург «БХВ-Петербург» 2010 УДК 681.3.06 ББК 32.973.26-018.2 П54 Поляк-Брагинский А. В. П54 Локальная сеть под Linux. — СПб.: БХВ-Петербург, 2010. — 240 с.: ил. — (Библиотека ГНУ/Линуксцентра) ISBN 978-5-9775-0171-2 В практическом руководстве по созданию локальной вычислительной сети под управлением Linux для дома или небольшого офиса рассмотрены вопросы маршрути-зации, удаленного администрирования и управления, настройки почтового сервера, совместного использования ресурсов. Описаны программы для удаленного управления и администрирования, веб-интерфейсов для локальной и удаленной настройки компь-ютеров сети. Даны практические приемы применения виртуальных технологий, позво-ляющих удешевить сеть, получить максимум функциональности при минимальных затратах, опробовать различные версии операционной системы Linux в сети и исполь-зовать выбранный вариант без затрат на оборудование. Для облегчения работы с кни-гой приведены описания команд, процедур установки и настройки на примерах раз-личных дистрибутивов Linux. Для опытных пользователей и начинающих системных администраторов УДК 681.3.06 ББК 32.973.26-018.2 Группа подготовки издания: Главный редактор Екатерина Кондукова Зам. главного редактора Евгений Рыбаков Зав. редакцией Григорий Добин Редактор Алексей Семенов Компьютерная верстка Натальи Караваевой Корректор Виктория Пиотровская Дизайн серии Инны Тачиной Оформление обложки Елены Беляевой Зав. производством Николай Тверских Лицензия ИД № 02429 от 24.07.00. Подписано в печать 26.10.09. Формат 70×1001/16. Печать офсетная. Усл. печ. л. 19,35. Тираж 2000 экз. Заказ № “БХВ-Петербург”, 190005, Санкт-Петербург, Измайловский пр., 29. Санитарно-эпидемиологическое заключение на продукцию № 77.99.60.953.Д.005770.05.09 от 26.05.2009 г. выдано Федеральной службой по надзору в сфере защиты прав потребителей и благополучия человека. Отпечатано с готовых диапозитивов в ГУП “Типография “Наука” 199034, Санкт-Петербург, 9 линия, 12 ISBN 978-5-9775-0171-2 © Поляк-Брагинский А. В., 2009 © Оформление, издательство “БХВ-Петербург”, 2009 Оглавление Глава 1. Сеть под Linux — с чего начать? ………………………………………………. 1 Схема компьютерной сети …………………………………………………………………………. 2 Сеть из двух компьютеров ……………………………………………………………………… 3 Добавляем маршрутизатор ……………………………………………………………………… 5 Добавляем коммутатор …………………………………………………………………………… 6 Сеть с сервером ……………………………………………………………………………………… 7 Интернет для сети через сервер ………………………………………………………………. 8 Объединение сетей …………………………………………………………………………………. 9 Идеология Linux ………………………………………………………………………………………. 11 Ядро и модули ……………………………………………………………………………………… 12 Загрузчик ……………………………………………………………………………………………… 12 Утилиты инициализации ………………………………………………………………………. 13 Программы управления устройствами …………………………………………………… 13 Оболочка ……………………………………………………………………………………………… 13 Общесистемная библиотека ………………………………………………………………….. 13 Какую версию Linux применить? ……………………………………………………………… 14 Linux для рабочей станции ……………………………………………………………………. 15 Mandriva ………………………………………………………………………………………………. 17 Debian ………………………………………………………………………………………………….. 20 OpenSUSE ……………………………………………………………………………………………. 22 Linux для сервера …………………………………………………………………………………….. 23 CentOS …………………………………………………………………………………………………. 23 SLES…………………………………………………………………………………………………….. 25 Глава 2. Установка и обновление Linux ………………………………………………… 29 Особенности установки Linux в зависимости от назначения системы ……….. 30 Установка Mandriva 2008 PowerPack …………………………………………………….. 31 Установка SLES 10 ……………………………………………………………………………….. 49 Обновления — всегда ли они необходимы? ……………………………………………… 51 Оглавление IV Глава 3. Рабочая станция ………………………………………………………………………. 53 Средства управления и администрирования ……………………………………………… 54 Настройка параметров экрана ……………………………………………………………….. 57 Управление учетными записями пользователей …………………………………….. 61 Настройка параметров сети и доступа в Интернет …………………………………. 63 Настройка доступа к ресурсам рабочей станции из сети ………………………… 68 Настройка доступа к ресурсам сети ………………………………………………………. 71 Webmin ………………………………………………………………………………………………… 73 Настройка печати …………………………………………………………………………………. 75 Установка и обновление программ ……………………………………………………….. 80 Программы для рабочей станции ……………………………………………………………… 82 Глава 4. Сервер ……………………………………………………………………………………… 85 Web-сервер ……………………………………………………………………………………………… 86 Сервер NFS ……………………………………………………………………………………………… 92 Файловый сервер …………………………………………………………………………………….. 94 Сервер DNS …………………………………………………………………………………………… 101 Как работает DNS-сервер ……………………………………………………………………. 102 Веб-интерфейс для управления сервером ……………………………………………….. 108 Сервер общего доступа в Интернет ………………………………………………………… 112 Мастер настройки ………………………………………………………………………………….. 112 Просмотр событий ……………………………………………………………………………… 113 Разрешение доступа ……………………………………………………………………………. 115 Другие возможности …………………………………………………………………………… 117 Linux — ретранслятор файлов ………………………………………………………………… 120 Удаленное подключение к Linux из Windows с помощью Xming и SSH …… 121 Глава 5. Еще о сервере …………………………………………………………………………. 129 Сервер виртуальных машин ……………………………………………………………………. 129 Что можно установить? ………………………………………………………………………….. 131 Установка Microsoft Virtual Server 2005 R2 …………………………………………….. 132 Используем VMware Player…………………………………………………………………….. 138 VMware Server ……………………………………………………………………………………….. 140 Замечания по установке VMware Server и VMware Player под Linux …….. 140 Соблюдаем лицензии ……………………………………………………………………………… 145 Virtual Appliances ……………………………………………………………………………….. 146 Виртуальные технологии в нашей сети …………………………………………………… 147 Два компьютера в одном …………………………………………………………………….. 148 Запуск виртуальной машины по сети …………………………………………………… 158 Задачи для виртуальной машины ……………………………………………………………. 163 VMware Server 2 …………………………………………………………………………………. 166 Оглавление V OpenVPN ……………………………………………………………………………………………….. 169 Cоздание туннеля point to point……………………………………………………………. 169 Установка OpenVPN …………………………………………………………………………… 171 Настройка OpenVPN …………………………………………………………………………… 177 О чем не сказано… ………………………………………………………………………………… 182 Глава 6. Средства администратора малой сети …………………………………… 183 Утилиты для контроля состояния рабочих станций и серверов ……………….. 183 Способы удаленного управления и администрирования ………………………. 184 Управление процессами ……………………………………………………………………… 188 Управление учетными записями ………………………………………………………….. 190 Работа с дисковой подсистемой…………………………………………………………… 193 Системный монитор ……………………………………………………………………………. 194 Утилиты для контроля состояния сети ……………………………………………………. 195 Контроль и изменение параметров сети ………………………………………………. 198 Контроль сетевой активности и соединений ………………………………………… 200 Заключение ………………………………………………………………………………………….. 203 Приложение………………………………………………………………………………………….. 205 Предметный указатель ………………………………………………………………………… 231 Глава 1 Сеть под Linux — с чего начать? Прежде всего, хорошо бы получить представление о принципах работы ком-пьютерных сетей. Автор надеется, что вы уже имели, пусть и небольшой, но опыт работы в сети под Windows. Сеть под управлением Linux использует те же протоколы и правила. Так же как в сети под Windows, каждый узел сети должен иметь свой IP-адрес, может иметь свое сетевое имя. Здесь мы не бу-дем подробно описывать принципы и правила применения IP-адресов. Эта тема описана во множестве источников, как печатных, так и на веб-страницах. При необходимости вы всегда можете обратиться к этим источ-никам для пополнения своих знаний. Один из самых универсальных источ-ников теоретических сведений — Википедия. На страницах этого сайта можно найти информацию обо всем. Статьи создаются всеми желающими и знаю-щими материал по теме. Об IP-адресах и протоколах можно прочитать, начав со страницы http://ru.wikipedia.org/wiki/IP. Страницы Википедии содержат множество ссылок для получения информации о применяемых терминах и ссылок на смежные по теме статьи. Далее мы не будем останавливаться на подробностях теории применяемых нами технологий. При необходимости будут приводиться ссылки на материалы в Интернете, в том числе и на мате-риалы в Википедии. Если уж вы решили использовать Linux в своей сети, то Интернет у вас должен быть. Также следует иметь представление о средах передачи данных в сети. Для нас важно знать о сетевых кабелях, представлять, как они подключаются к сетевым адаптерам. Хорошо, если вы сможете самостоятельно готовить кабель, обжимать коннекторы… Информацию о кабельной сети и работе с кабелем можно найти по следующим ссылкам: http://www.orionnsk.net/stat6.html http://overclockers.ru/articles/lan/ Глава 1 2 По второй ссылке можно найти много дополнительной информации, касаю-щейся организации сети. И последнее, о чем нам желательно иметь представление, — это о режимах работы операционной системы. Два компьютера, соединенные между собой кабелем, — это уже сеть. Если компьютеры оснащены операционными сис-темами, предназначенными для рабочей станции, то сеть обычно получается одноранговой. В этой сети ни один компьютер не имеет видимых преиму-ществ, и роль каждого компьютера может меняться в зависимости от ситуа-ции. Если один из компьютеров сети предоставляет для других какой-либо сервис, например доступ к файлам, которые находятся на его дисках или дос-туп к глобальной сети через свое подключение к Интернету, — он становится сервером. Но только до того момента, пока сам не начинает пользоваться сервисами, предоставляемыми другими компьютерами. В этом случае сервер превращается в клиента. Клиент-серверные отношения между машинами су-ществуют в любой сети. Если какой-либо компьютер специально предназна-чен для предоставления сервисов другим компьютерам сети, его называют выделенным сервером. На выделенных серверах обычно не работают как на рабочих станциях. Выделенных серверов может быть несколько, и каждый из них выполняет определенные для него задачи. В небольшой сети часто все серверные задачи выполняет одна машина. Но в последние годы получили широкое распространение технологии виртуализации компьютеров. Приме-няя такие технологии, можно даже в совсем небольшой сети иметь несколько специализированных серверов, каждый из которых выполняет свою задачу. При этом физически все они расположены на одной машине. Мы позднее рассмотрим примеры использования таких технологий, а пока каждый ком-пьютер сети, будь то реальный или виртуальный, мы будем рассматривать как самостоятельную машину. Схема компьютерной сети Если уж мы решили организовать сеть, следует рассмотреть для начала об-щую структуру сети и ее варианты, с которыми нам придется столкнуться. Эта галерея схем не претендует на полноту, сеть — дело творческое, и реше-ния могут быть разнообразными. Постепенно вникая в работу своей сети, сравнивая ее с другими известными вариантами, вы начнете чувствовать кра-соту правильной организации сети. Совсем не обязательно использовать до-рогостоящие программные продукты, когда можно найти простое и эффек-тивное решение задачи. В нашей галерее схем представлены несколько основных решений для небольших сетей. Встречающиеся на рисунках IP-адреса приведены только для большей наглядности, и не стоит их воспри- Сеть под Linux — с чего начать? 3 нимать как рекомендованные. В отдельных случаях, когда IP-адрес должен быть именно таким, как на рисунке, будет соответствующий комментарий. Во всех случаях будем считать, что сеть подключена к Интернету. Современ-ная сеть, даже совсем небольшая, должна иметь выход в глобальную сеть. Если окажется, что в вашем конкретном случае этого не требуется, то можно не рассматривать это подключение, как необходимую часть. Сеть будет рабо-тать и без выхода в Интернет. Но в какой-то момент вам придется столкнуться с такой необходимостью, и случится это быстрее, чем вы сейчас думаете. Сеть из двух компьютеров Это самый простой вариант сети (рис. 1.1). Всего два компьютера объединены в сеть. Выход в Интернет обеспечивается одним из компьютеров, который подключен к модему или выделенной линии. Вариантов подключения может быть несколько, и мы их рассмотрим применительно к разным вариантам сети. Для соединения компьютеров можно применить перекрестный кабель, но мы сразу предполагаем расширение сети в будущем. Это условие требует стан-дартного включения компьютеров в сеть через концентратор или коммутатор. Начиная с этой простейшей схемы, мы будем применять коммутаторы. АНАЛОГОВЫЙмодем ПринтерК телефонной розетке В домовую сеть или к ADSLмодему -коммутаторкомпьютер №1компьютер №2IP - 192.168.0.1IP - 192.168.0.2 Рис. 1.1. Простейшая сеть из двух компьютеров Глава 1 4 Несмотря на простоту, даже эта сеть требует некоторого внимания и первич-ной настройки. Как и в больших сетях, компьютеры этой сети должны иметь свои IP-адреса. Выбор адреса для компьютера, с которого вы начнете на-стройку сети, может быть в большой степени произвольным. Но существую-щих ограничений на применение IP-адресов в локальных сетях лучше при-держиваться сразу. Это избавит нас от необходимости делать глобальные изменения в адресной политике, когда сеть вырастет. В очень больших ло-кальных сетях часто используются адреса из зарезервированного диапазона для сетей класса A, начинающиеся на 10. Так называемые адреса самона-стройки, которые компьютеры себе назначают сами, когда недоступны дру-гие средства назначения адресов, находятся среди зарезервированных адре-сов в классе B. Эти адреса начинаются на 169.254. В том же классе есть еще один диапазон зарезервированных адресов, который может применяться в локальных сетях (172.16.0.0—172.31.255.255). В классе C также зарезер- вирован диапазон адресов для малых локальных сетей (192.168.0.0—192.168.255.255). Все перечисленные диапазоны адресов можно описать как 192.168.0.0/16, 172.16.0.0/12 и 10.0.0.0/8. И, наконец, диапазон зарезервиро-ванных адресов из класса A, начинающийся на 127, вообще не применяется в сетях, а используется для внутреннего локального адреса компьютера. По этим адресам можно установить связь компьютера с самим собой. Вы вправе выбрать любой из разрешенных в локальных сетях диапазон адре-сов. Если никогда не предполагается подключать сеть к Интернету, то и дру-гие диапазоны могут быть использованы без особых проблем. Тем не менее, работа в сети должна быть организована по правилам, и мы будем их соблю-дать с самого начала. Одинаковые компьютеры под управлением выбранной вами ОС, объединен-ные в сеть, образуют одноранговую сеть. У нас нет сервера, и все компьюте-ры в такой сети равны. Но тот факт, что один из компьютеров должен обес-печить выход в Интернет, уже нарушает равноправие. Компьютер становится шлюзом в Интернет для всей сети. Часто, но не обязательно, шлюзу присваи-вают адрес 192.168.0.1. Кроме компьютеров в нашей сети есть и другие уст-ройства: принтер, модем. Они используются всеми клиентами сети. Значи-тельно удобнее послать на печать подготовленный документ или веб-страницу по сети, чем переписывать ее на дискету и нести на другой компь-ютер. На рисунке показаны сразу два подключения к Интернету. Одно по-средством обычного аналогового модема, а другое через выделенную линию, или ADSL-модем. Так может быть и на самом деле. Во всяком случае, у меня дома именно так и сделано. Всякое может случиться: то профилактические работы у поставщика услуги подключения к Интернету, то забыли оплатить вовремя эти услуги. Если есть такая возможность, лучше подстраховаться, особенно когда подключение требуется постоянно. Сеть под Linux — с чего начать? 5 Добавляем маршрутизатор Возможны различные варианты построения сети из двух компьютеров. Посмотрите на рис. 1.2. На первый взгляд почти ничего не изменилось, но у компьютера №1 поменялся IP-адрес, исключен один сетевой адаптер, вме-сто коммутатора установлен маршрутизатор. Сейчас в продаже появилось достаточно много недорогого сетевого оборудования для домашних и офис-ных сетей. И этим можно воспользоваться, выбирая наиболее оптимальный вариант своей сети. Что нам дали такие изменения? Они позволили сделать все компьютеры рав-ноправными. Обязанности по предоставлению общего доступа к Интернету взял на себя маршрутизатор. Теперь он должен иметь “особенный” IP-адрес, но значение его может отличаться от того, которое указано на рисунке. Обычный модем остался подключенным к компьютеру, которому наиболее важно всегда быть на связи. АНАЛОГОВЫЙмодем ПринтерК телефонной розетке маршрутизаторкомпьютер №1компьютер №2IP - 192.168.0.1IP - 192.168.0.2В домовую сеть или к ADSLмодему -IP - 192.168.0.3 Рис. 1.2. Модифицированная сеть из двух компьютеров Глава 1 6 Добавляем коммутатор Можно пойти еще дальше. На рис. 1.3 показана схема сети, в которой есть и маршрутизатор и коммутатор. Зачем? Дело в том, что среди маршрутизато-ров есть такие, у которых только один Ethernet-порт. Для того чтобы под-ключить к ним несколько компьютеров, необходим и коммутатор. АНАЛОГОВЫЙмодем ПринтерК телефонной розетке маршрутизаторкомпьютер №1компьютер №2IP - 192.168.0.1IP - 192.168.0.2В домовую сеть или к ADSLмодему -IP - 192.168.0.3коммутатор Рис. 1.3. Сеть из двух компьютеров с маршрутизатором и коммутатором Если у коммутатора более четырех разъемов Ethernet для подключения ком-пьютеров, например восемь, то сеть может расширяться до семи компьюте-ров. Это уже сеть офиса приличных размеров. Большая часть настроек ком-пьютеров при этом будет очень похожа. Сеть под Linux — с чего начать? 7 Сеть с сервером Компьютерные сети не ограничиваются одноранговыми. Большинство ло-кальных сетей имеют не только рабочие станции, но и серверы. Серверов может быть один, два и более, в зависимости от задач, решаемых в сети. Да-вайте посмотрим на варианты построения простой сети с сервером (рис. 1.4). АНАЛОГОВЫЙмодем ПринтерК телефонной розетке маршрутизаторкомпьютер №1компьютер №2IP - 192.168.0.11IP - 192.168.0.21В домовую сеть или к ADSLмодему -IP - 192.168.0.3коммутаторСЕРВЕР IP - 192.168.0.20 Рис. 1.4. Сеть с сервером Глава 1 8 Обратите внимание на изменение IP-адресов у компьютеров. Это произошло не случайно. Если сеть имеет сервер и другие сетевые устройства, которые могут иметь свои IP-адреса, необходимо соблюдать некоторую систему их выделения. Это упростит задачи администрирования сети. Отдельные группы адресов могут быть выделены и группам компьютеров, обладающих какими-либо особенностями. Но обычно все компьютеры небольшой сети имеют ад-реса из одной отведенной для этого области. Это вызвано тем, что при на-стройке автоматического выделения адресов в сети удобнее настраивать предназначенный для этого DHCP-сервер. В данном случае слово сервер применено в отношении программы, а точнее службы, находящейся на сер-вере-компьютере. Сам сервер-компьютер при этом имеет фиксированный адрес, как и другие серверы, которые могут быть добавлены в сеть позднее. Для всех серверов сети также отведен некоторый диапазон адресов. Интернет для сети через сервер Возможен и вариант подключения сети к Интернету без применения мар-шрутизатора. Такой вариант показан на рис. 1.5. Принтеркомпьютер №1компьютер №2IP - 192.168.0.21В домовую сеть или к ADSLмодему -IP - 192.168.0.3коммутаторСЕРВЕР IP - 192.168.0.20 Рис. 1.5. Сеть с сервером, подключенным к Интернету Сеть под Linux — с чего начать? 9 В данном случае подключение к глобальной сети осуществляется через сер-вер сети. Но надо сказать, что это не лучшее решение, особенно когда сервер в сети единственный. Но если этот сервер специально предназначен для ра-боты служб Интернета, то это удобное решение. Не рекомендуется подключать к глобальной сети серверы, содержащие слу-жебные данные, выполняющие важные расчетные и другие задачи. Всегда есть вероятность проникновения в сеть вирусов или злоумышленников, пы-тающихся получить доступ к информации на сервере через Интернет. Тем не менее, такие сети существуют и нормально работают, только администрато-рам этих сетей приходится уделять повышенное внимание мерам защиты своей сети со стороны глобальной сети. Объединение сетей Иногда наступает необходимость установить связь между двумя локальными сетями. Причины, которыми вызвана такая необходимость, могут быть раз-ными. Это и доступ к данным удаленных сотрудников, и сетевые игры с со-седями по дому, и необходимость передачи информации от автоматизиро-ванных систем, и удаленное администрирование нескольких сетей… Да, не удивляйтесь. Начали мы рассмотрение вариантов построения сетей с двух компьютеров, но вполне возможно, что вам придется заняться организацией, пусть даже простых, но нескольких сетей. При этом администрирование этих сетей будет осложнено необходимостью вашего присутствия сразу в двух или более местах. Но это, как вы понимаете, невозможно. Поэтому рассмот-рим последний в этой главе пример, иллюстрирующий связь двух удаленных сетей. Таких вариантов, как и вариантов самих сетей, может быть множество. Один из них показан на рис. 1.6. Две локальных сети, имеющих выход в Ин-тернет, соединены защищенным каналом VPN (Virtual Private Network — виртуальная частная сеть). Установлена связь между компьютером админи-стратора, находящимся в сети №1, и сервером сети №2. Реально канал связи, конечно, проходит в Интернете, но для пользователей и компьютеров этот канал выглядит так, как будто проложен отдельный кабель. Никакой связи между данным каналом и Интернетом нет. Это значит, что канал защищен со стороны Интернета, а связь через него абсолютно безопасна. Пока нам не важно, как это достигается. Мы рассмотрели лишь основные примерные схе-мы локальных сетей, опираясь на которые, комбинируя, расширяя, можно строить свою сеть. Сама по себе сеть не связана с какой-либо определенной операционной сис-темой. Когда-то были распространены сети с серверами Novell NetWare, в которых могли работать рабочие станции под управлением DOS различных Глава 1 10 версий, а затем и Windows, теперь в этих сетях там, где они сохранились, могут работать и рабочие станции под управлением Linux. Там где это было воз-можно, администраторы переводили свои сети на работу с другими серверами. IP - 192.168.0.3СЕРВЕР Локальная сеть № 2 Канал VPN Канал VPNЛокальная сеть № 1Компьютер администратораIP - 192.168.10.13 Рис. 1.6. Связь двух сетей через Интернет Сеть под Linux — с чего начать? 11 Время идет, многие разработчики сетевых программ перестали поддерживать работу с сервером Novell NetWare. Все большее распространение получали серверные версии Windows. В локальных сетях серверы Windows 2000 Server, Windows Server 2003, Windows Server 2008 сейчас имеют очень широ-кое распространение. А мы с вами задались целью строить сеть на основе Linux и будем рассматривать возможности именно этих операционных сис-тем. Интересно, что и фирма Novell обратила свое внимание на Linux. Именно в дистрибутивах Linux, разработанных этой фирмой, есть встроенная под-держка технологий сетей NetWare. Разработаны фирмой и специализирован-ные серверные версии Linux, и версии для рабочих станций. Это коммерче-ские проекты. Получить такие дистрибутивы может каждый желающий, но получить поддержку и неограниченное время обновлений можно, заплатив некоторую сумму. Выпускаются и совершенно свободные версии дистрибу-тивов, такие как OpenSUSE. В этих дистрибутивах содержатся как компонен-ты для рабочей станции, так и для сервера. Обновления для них бесплатны. Если не ставить перед собой задачу поддержки технологий Novell в своей сети, то можно использовать и дистрибутивы других разработчиков. Идеология Linux Мы не будем обсуждать политическую или этическую сторону этого вопро-са. Нам необходимо всего лишь решить конкретную задачу построения сети на основе Linux. Но для понимания работы сети следует понять суть работы операционной системы, которая будет работать в сети. Именно об этом сей-час и поговорим. Операционная система Linux в состоянии работать с любым оборудованием для персональных компьютеров и с любыми файловыми системами. Напри-мер, вы всегда имеете возможность прочитать информацию с дисков, кото-рые были созданы операционной системой Windows, а в ряде случаев и запи-сать на них информацию. Linux поддерживает все известные сетевые протоколы. Отдельные проблемы при установке Linux могут возникнуть только на совершенно новом оборудовании, поддержку которого не могли включить в дистрибутив, имеющийся у вас. Достаточно взять новый дистри-бутив, и все проблемы будут решены. Изначально идея Linux состояла в том, чтобы каждый мог применить ее в своих конкретных условиях и настроить под эти условия оптимальным об-разом, получив удобный и надежный инструмент для выполнения своих за-дач. Универсальность системы настолько высока, что применяется она и для управления устройствами, выполняющими специальные задачи, например маршрутизаторами, и для обеспечения взаимодействия пользователя с ком-пактными мобильными устройствами, такими как сотовые телефоны, и для Глава 1 12 управления рабочими станциями и серверами, работающими в сетях любого масштаба. Обеспечила такую универсальность и гибкость системы изначаль-но заложенная в нее идеология. Система должна быть многозадачной, мно-гопользовательской, масштабируемой, платформонезависимой и свободной. Последнее позволило внести свой вклад в реализацию идеи тысячам талант-ливых программистов. В результате получилась ОС, состоящая из шести ба-зовых элементов. Независимо от того, какой конкретный дистрибутив систе-мы вы держите в руках, эти элементы в нем присутствуют. Ядро и модули Ядро системы представляет собой программу, которая может быть запущена под управлением BIOS компьютера, и выполняет следующие функции: распределение процессорного времени между различными одновременно работающими задачами; работа с памятью, как физической, то есть установленной в машине, так и ее образом на жестком диске — так называемым пространством своппин-га (swapping), которые в сумме составляют единую виртуальную память; обращение к носителям информации, таким как жесткие диски, CD/DVD, USB-накопители и др.; управление видеоподсистемой компьютера, звуковыми картами, принте-рами и сканерами, другим оборудованием; доступ к данным, организованным в виде различных файловых систем на дисках и дисковых разделах; поддержка сетевых устройств и сетевых протоколов; управление вводом и выводом данных — обменом информацией между всеми устройствами машины. Часть функций обеспечивается самим ядром, а часть доверяется подгружае-мым дополнительно модулям. Если на вашей машине никогда не появится диск с файловой системой NTFS, то зачем ядру поддерживать возможность работы с ним и при этом бесполезно занимать оперативную память компью-тера? Ядро всегда полностью загружено в оперативную память, а модули при необходимости могут быть загружены и выгружены из памяти. Загрузчик Загрузка ядра Linux возможна и без него. Но в целях рационального исполь-зования дискового пространства, возможности загрузки других операцион-ных систем, установленных на компьютере, разработаны специализирован- Сеть под Linux — с чего начать? 13 ные программы — загрузчики. Для персональных компьютеров сейчас при-меняют загрузчики Grub и Lilo. Первый, наверное, чаще, но оба обычно вхо-дят во все дистрибутивы Linux, и вы вправе использовать тот, который боль-ше понравится. Утилиты инициализации После загрузки ядра начинается процесс инициализации. Происходит монти-рование файловых систем, включение разделов своппинга, активизация вир-туальных терминалов и другие действия, участие пользователя в которых не требуется. Завершается инициализация приглашением пользователя к авто-ризации. Для осуществления этого процесса используются специальные про-граммные инструменты, запускаемые еще на стадии входа в систему. Программы управления устройствами Файловые системы, сетевые протоколы, виртуальные терминалы, принтеры, сканеры, клавиатура, мышь, другие устройства, кроме поддержки ядром, требуют внешнего инструментария для управления. Иначе пользователь так и не узнает, что ядро поддерживает работу с множеством устройств, и система будет для него бесполезной. Для взаимодействия пользователя с устройства-ми системы созданы специальные программы, к которым пользователь об-ращается посредством других прикладных программ или сценариев. Оболочка Это командный интерпретатор (когда-то с подобной программы для первого персонального компьютера начал Билл Гейтс). Синонимы этой программы в Linux — командная оболочка или просто шелл (shell — оболочка). Она вы-ступает в качестве интегратора вышеуказанных пользовательских утилит и прикладных программ пользователя. Без оболочки пользователю было бы непросто получить доступ к устройствам и программам. В Linux применяется несколько оболочек. Даже разные пользователи одной системы могут ис-пользовать оболочки, необходимые именно им. Общесистемная библиотека Можно встретить название главная общесистемная библиотека (libc). Ряд функций, которые используются прикладными и системными программами, требуется выполнять очень часто. Эти функции содержатся в виде участков программного кода в этой библиотеке. Нет смысла в код каждой программы Глава 1 14 включать одну и ту же функцию. Все программы используют стандартные функции из системной библиотеки. Такой подход к программированию со-кращает как затраты труда программиста, так и объем кода программ. Про-граммы, использующие графический интерфейс в Linux, — нередко только надстройки над программами оболочки, которые, в свою очередь, использу-ют функции из системных библиотек. Все элементы системы доступны в исходных кодах. Это значит, что при же-лании и достаточных знаниях вы можете на основе существующей системы создать собственную версию ядра, загрузчика, утилит и библиотек. Что и де-лают иногда продвинутые пользователи. Они включают в ядро только им необходимые функции, используют только им необходимые программы и утилиты, получая компактную и в высшей мере персонализированную сис-тему. Но это, конечно, для настоящих энтузиастов — настоящих хакеров. А мы приступим к знакомству с конкретными версиями дистрибутивов Linux. Вариантов множество, но какой из них выбрать? Какую версию Linux применить? На сегодняшний день существуют более 150 дистрибутивов Linux! Не пол-ный их перечень можно увидеть на сайте http://www.distromania.com. Ко-нечно, выбрать дистрибутив из такого списка не просто. Мы ограничимся рассмотрением лишь небольшой части из всего разнообразия дистрибутивов, с которыми пришлось иметь дело автору. Критерии выбора в нашем случае могут быть основаны на следующих требованиях: простота установки; поддержка нашего оборудования; наличие необходимых на рабочей станции программ; возможность работы в качестве сервера с необходимыми функциями; простота установки дополнительных программ и возможность найти эти программы в Интернете; удобство графического интерфейса; возможность запуска хотя бы некоторых Windows-программ; распространенность дистрибутива и возможность найти ответы на возни-кающие в процессе работы с ним вопросы в Интернете; возможность получить дистрибутив с минимальными финансовыми затратами. Сеть под Linux — с чего начать? 15 Создание сети предполагает, что в ней будут рабочие станции и серверы (по крайней мере, по одной машине). Поэтому рассмотрение дистрибутивов мы поведем в два этапа. На первом этапе рассмотрим дистрибутивы для рабочей станции, а на втором — для сервера. Деление, правда, довольно условно. Обычно в каждом дистрибутиве содержатся программы для сервера и для рабочей станции. Но иногда сделан уклон в ту или иную сторону. При жела-нии вы можете остановиться на каком-либо одном дистрибутиве и использо-вать его на всех ваших компьютерах. Обычно серверная установка отличает-ся от установки для рабочей станции некоторой аскетичностью. Зачем, например, серверу звуковая карта или особые эффекты рабочего стола? Кро-ме того, если сервер предназначен для выполнения важных внутрисетевых задач, ему не дают доступ в Интернет. Береженого Бог бережет. Чем тратить нервы и силы на защиту от проникновения внешних врагов системы, лучше просто закрыть границу, на которой отдельное устройство или компьютер стоит на страже безопасности сети. Причем применение виртуальных техно-логий позволяет выполнять это правило даже при отсутствии дополнитель- ного физического компьютера, чтобы организовать защищенный сервер. Но о виртуальных технологиях мы поговорим позднее, а сейчас рассмотрим несколько дистрибутивов Linux. Linux для рабочей станции Рабочая станция должна быть укомплектована пакетом программ, которые требуются для повседневной работы. Конечно, будь то работа или развлече-ние, стандарта здесь нет. Тем не менее, по опыту работы с Windows, можно сделать вывод, что на большинстве рабочих мест используется офисный па-кет, средства для работы с электронной почтой, средства для обмена мгно-венными сообщениями, веб-браузер, проигрыватель видео- и аудиофайлов, графический редактор. Далее может быть перечень специальных программ, связанных с конкретной деятельностью офиса или отдельного человека. Не все программы, к которым привыкли пользователи Windows, могут рабо-тать в ОС Linux. Часть таких программ может быть запущена под управлением эмуляторов Windows, а когда в среде Linux нет возможности использовать крайне необходимую Windows программу, на помощь может прийти виртуаль-ная машина или работа в терминальном режиме. Практически все дистрибути-вы Linux имеют в своем составе набор повседневно необходимых стандартных программ. Многие современные версии Linux имеют встроенные средства вир-туализации, что позволяет устанавливать другие операционные системы, используя их как дополнительные, причем без перезагрузки и выхода из ос-новной ОС. Возможность работы со специализированными программами и запуска игр следует рассматривать индивидуально в каждом случае. Глава 1 16 Большинство существующих дистрибутивов распространяются свободно. Если в составе дистрибутива применяются коммерческие драйверы, которые расширяют возможности аппаратуры, или коммерческие программы, то рас-пространение осуществляется на платной основе. Тем не менее, обычно не устанавливается ограничений на число установленных копий и на число компьютеров, где эти копии могут быть установлены. Некоторые версии ОС Linux распространяются только на платной основе. Например, Linux XP можно бесплатно использовать в течение испытательного периода, а затем необходи-мо приобрести ключ активации и активировать систему через Интернет. Про-читать о Linux XP можно на сайте разработчиков http://www.linux-xp.ru/. Есть версии Linux, разработчики которых пытаются привести файловую систему в Windows-подобный вид. Такая попытка сделана и в Linux XP, и в свободно распространяемом дистрибутиве GoboLinux http://www.gobolinux.org. Фай-ловая система GoboLinux устроена таким образом, что для просмотра уста-новленных программ не требуется менеджер пакетов, поскольку для каждой программы и даже ее версии определяется отдельная папка. Эта версия Linux распространяется в виде образа Live CD, с которого можно загрузить систе-му, не устанавливая на жесткий диск, а впоследствии при желании или необ-ходимости установить. GoboLinux не имеет русификации интерфейса и не содержит средств автоматизации подготовки жесткого дика. Рассматривае-мые далее версии Linux по мнению автора в наибольшей степени подходят для применения в малых сетях. При установке и настройке они требуют вни-мания, но даже начинающий пользователь Linux в состоянии справиться с этими процедурами. Несмотря на очень серьезный подход разработчиков к упрощению процедуры установки и настройки системы, не отчаивайтесь, если для достижения оптимального результата установки придется переуста-новить систему один-два раза. То, что для опытного пользователя Linux яв-ляется само собой разумеющимся, может вызвать трудности у начинающего, но опыт и терпение сделают свое дело. В Linux при установке можно выбрать вариант рабочего стола, который бу-дет использоваться по умолчанию. В отличие от Windows здесь есть доволь-но широкий выбор. С каждым вариантом рабочего стола может устанавли-ваться соответствующий набор программ и утилит. Иногда трудно сделать окончательный выбор, с каким рабочим столом эксплуатировать систему. Но есть возможность установить не один, а два и более варианта рабочего стола. Это позволит при необходимости использовать тот или иной вариант. Утилиты, поставляемые с каким-либо рабочим столом, могут быть использо-ваны и с другими рабочими столами, установленными в системе. Более под-робно об установке системы мы поговорим в следующей главе, а сейчас по-смотрим на примеры уже установленных версий Linux. Сеть под Linux — с чего начать? 17 Mandriva Одна из быстро развивающихся версий Linux — Mandriva (http://www.mandriva.com). Интерфейс системы в варианте по умолчанию рассчитан на обычного пользователя, не имеющего глубоких познаний в Linux. Уже с момента установки системы вы можете просто соглашаться с предложениями мастера установки. Пожалуй, единственное, что потребует-ся выбрать осознано — это язык системы. Если вы устанавливаете Linux впервые и хотите познакомиться с новой для вас системой, этот дистрибутив может быть хорошим выбором. Существуют свободные и коммерческие вер-сии дистрибутива. Для ознакомления с Mandriva свободный дистрибутив можно загрузить с сайта разработчиков. Для приобретения доступен вариант системы, уже установленной на флэш-накопитель. Если компьютер может быть загружен с USB-диска, то этот вариант может быть интересен для от-дельных пользователей. Дистрибутивы системы могут быть загружены с сайта http://fr.rpmfind.net/ linux/Mandrake-iso, а дополнительные пакеты можно найти на FTP-сервере ftp://ftp.free.fr/mirrors/ftp.mandriva.com. Здесь приведен пример установленной версии дистрибутива Mandriva 2009 Free. Интерфейсы новых версий операционных систем могут отличаться довольно существенно, поскольку могут отличаться настройки по умолчанию, приме-няемые разработчиками дистрибутива. Тем не менее, интерфейс пользовате-ля любой версии Linux может быть настроен под себя. В любом случае будут отличия экранов приветствия, если используется графический способ входа. На экране приветствия (рис. 1.7) вы можете выбрать вариант рабочего стола, наиболее подходящий вам по вашему вкусу и выполняемым задачам. В дан-ном примере доступ к меню выбора рабочего стола выполняется с помощью значка редактора меню в окне приветствия. Меню выбора рабочего стола может иметь другой вид, доступ к этому меню может быть в другом месте экрана, но оно всегда есть. Рабочий стол по умолчанию может быть выбран как во время установки системы, так и после установки. На рис. 1.8 приведен вид рабочего стола Xfce. Несмотря на то, что наиболее популярны рабочие столы KDE и GNOME, Xfce может быть очень хорошим выбором для ноутбуков, когда следует экономить ресурсы системы и сохра-нить большую часть удобств графического интерфейса. Да и на рабочей станции этот рабочий стол может показаться удобнее тем пользователям, ко-торые не любят излишеств в оформлении. Глава 1 18 Рис. 1.7. Экран приветствия в Mandriva 2009 Рис. 1.8. Рабочий стол Xfce с открытым окном файлового менеджера Сеть под Linux — с чего начать? 19 В верхней части рабочего стола находится панель задач с кнопками доступа к различным меню и программам. В данном случае на панели расположены следующие кнопки: Mandriva — аналог кнопки Пуск в Windows; Переход — кнопка выбора каталога для перехода; кнопка вызова окна терминала — важнейшего средства для выполнения процедур администрирования рабочей станции, а часто и очень удобного средства для работы с программами, выполнения часто встречающихся задач; кнопка вызова текстового редактора; кнопка вызова файлового менеджера; кнопка запуска браузера Firefox; кнопка вызова Центра управления (Mandriva Control Center) — аналог па-нели управления Windows; в центральной части панели появляются кнопки открытых окон. Далее в правой части панели находится системный лоток (Tray), в котором размещены значки для доступа к Сетевому центру, системе поиска, обновле-нию системы, часы и кнопка блокировки экрана. В нижней части экрана еще одна панель. На ней кнопка “Свернуть все окна” и переключатель рабочих столов… Нет, это не средство для переключения вида рабочего стола. В Linux без применения дополнительных программ можно использовать несколько рабочих мест. Окна, открытые на одном ра-бочем месте, не будут видны на других. Использование отдельных рабочих мест для выполнения различных задач позволяет более рационально распола-гать открытые окна и оперативно переходить с одного удобно организован-ного рабочего стола на другой. Сама эта возможность была перенесена в графический интерфейс Linux из терминального режима, когда основная работа происходит в командной строке. Даже в этом случае Linux позволяет открыть несколько консолей для выполнения отдельных задач и переклю-чаться между ними. Число рабочих мест можно изменять. Конечно, Xfce не позволяет применить различные эффекты, такие как объ-емный рабочий стол, прозрачные окна и другие. Этих эффектов для KDE и GNOME больше, чем для Windows, и вы сами можете поэкспериментиро-вать с ними, если позволяют возможности видеокарты. Есть еще более аскетичные варианты рабочего стола. IceWM, например, име-ет лишь несколько кнопок на панели задач и возможность вызова главного меню щелчком мыши на самом рабочем столе. На рабочем столе нет воз- Глава 1 20 можности создавать файлы или помещать значки запуска программ. Инте-ресно, что в последних версиях популярных интерфейсов разработчики снова обращаются к идее чистого поля рабочего стола, давая возможность отобра-зить на нем какую-либо папку, где могут находиться файлы и значки. Самый аскетичный интерфейс рабочего стола — Twm (может быть не вклю-чен для установки по умолчанию). На этом рабочем столе можно нажатием кнопки мыши вызвать меню, а затем показать место размещения окна вы-бранной программы. Кнопок нет никаких. Debian Эта операционная система не имеет коммерческих версий. Она абсолютно сво-бодно распространяется, и техническая поддержка возможна только на фору-мах. Дистрибутив системы можно получить на сайте http://www.debian.org. Экран приветствия (рис. 1.9) содержит дополнительные меню в нижней час-ти экрана. Рис. 1.9. Экран приветствия Debian Linux Рабочий стол GNOME, показанный на рис. 1.10, по функциональности напо-минает рассмотренный ранее Xfce. Но возможностей у него больше, больше дополнительных приложений и утилит. Сеть под Linux — с чего начать? 21 Рис. 1.10. Рабочий стол GNOME и открытое окно веб-браузера Epiphany ПРИМЕЧАНИЕ Обратите внимание, что дополнительные возможности связаны с применением рабочего стола GNOME, а не дистрибутива Debian. В большинстве случаев возможности дистрибутивов одинаковы, и в любом из них можно установить любой рабочий стол. Система Debian, как и другие, основанные на ней, имеет свой способ уп- равления программным обеспечением, отличающийся от используемого в Mandriva, например. Эта особенность не позволит применить в других вер-сиях Linux дистрибутивы, предназначенные для Debian, и наоборот. Для Debian существует множество официальных и неофициальных разработок. Применение только свободно распространяющихся программ с открытым кодом полностью исключает возможность лицензионных недоразумений при использовании этой версии Linux. Тем не менее, для Debian создаются и про-граммы с закрытым кодом, даже коммерческие. Их можно получить у разра-ботчиков этих программ. Например VMware Server, предназначенный для создания виртуальных машин, можно получить на сайте VMware, но он ни-когда не будет входить в состав дистрибутива Debian. Глава 1 22 OpenSUSE Это свободная разработка фирмы Novell. На бесплатно распространяемых версиях разработчики обкатывают новые идеи, совершенствуя таким образом коммерческие продукты. По адресу в Интернете http://ru.opensuse.org мож-но загрузить образ дистрибутивного диска с OpenSUSE. В состав системы входит большое число пакетов, предназначенных для реа-лизации весьма специальных задач. Например, есть возможность установить систему с ядром Xen. Это открытая система виртуализации, которая позволя-ет устанавливать в качестве виртуальных машин другие операционные сис-темы. Для обычного домашнего пользователя эта возможность тоже может пригодиться. Рис. 1.11. Рабочий стол KDE в OpenSUSE На рис. 1.11 рабочий стол KDE в OpenSUSE 11.1. Вид главного меню можно переключить на привычный вид, но можно использовать и новый вариант, показанный на рисунке. Вкладки и перелистываемые списки в них делают Сеть под Linux — с чего начать? 23 меню компактным, и вид его нравится многим пользователям. Рабочий стол KDE имеет те же элементы, что и рассмотренные ранее рабочие столы с раз-витой графикой. Но в отдельных случаях программное обеспечение разраба-тывается с учетом особенностей определенного рабочего стола. Например, в OpenSUSE есть возможность установки официальной версии клиента для сетей Novell NetWare. Корректная установка этой программы оказывается возможна только для рабочего стола KDE. В практике обычного пользовате-ля такие ситуации могут встречаться, но очень редко. Поэтому выбор рабоче-го стола может быть обусловлен вкусом пользователя и возможностями ком-пьютера. Рабочий стол KDE наиболее требователен к ресурсам компьютера, но вместе с ним устанавливается больше полезных и удобных программ. Linux для сервера В условиях малой сети деление версий Linux на серверные и для рабочих станций довольно условно. Любая версия Linux содержит северные компо-ненты. Дистрибутивы, рекомендуемые для организации серверов, в свою очередь, содержат компоненты, необходимые для рабочей станции. Все же даже в малой сети можно рекомендовать для сервера специализированные дистрибутивы. В эти дистрибутивы по умолчанию не включают такого раз-нообразия программ, их рабочие столы имеют достаточно скромные возмож-ности оформления. Чем меньше в системе компонентов, тем легче обеспе-чить высокую стабильность системы. Одна из таких систем — CentOS. CentOS Это свободно распространяемая версия Linux, основанная на исходных кодах Red Hat Linux. Это значит, что не используя специфические программы, соз-данные для CentOS, можно использовать пакеты для Red Hat и Fedora. CentOS вполне можно применить и на рабочей станции. Но программы для этой ОС придется искать по репозитариям других дистрибутивов (Red Hat, Fedora). Разработчики программ для Linux обычно принимают во вни- мание существование CentOS и публикуют версии программ для этой си- стемы. Дистрибутив CentOS можно получить на сайте разработчиков http://www.centos.org. На рис. 1.12 изображен рабочий стол KDE в CentOS 5.2. На компьютере, с экрана которого снят этот скриншот, установлены приложения, отсутст-вующие в стандартной поставке. Это VLC media player, транслирующий ви-део из Интернета, выше на рабочем столе можно увидеть значок Skype. Глава 1 24 Рис. 1.12. Рабочий стол KDE в CentOS 5.2 (рабочее место 1) Рис. 1.13. Рабочий стол KDE в CentOS 5.2 (рабочее место 2) Сеть под Linux — с чего начать? 25 Система, предназначенная для сервера, вполне может работать в качестве рабочей станции. Но все же для сервера важны другие приложения. Практи-чески все важные серверные приложения включены в дистрибутив, а некото-рые приложения, облегчающие настройку сервера, можно получить у их раз-работчиков. На рис. 1.13 приведен экран того же компьютера, но на втором рабочем месте. Здесь ожидают действий администратора веб-интерфейсы для управления сервером. В больших сетях не принято выполнять на сервере какие-либо дей-ствия, не связанные с работой самого сервера. Но если в вашей сети всего два-три компьютера, можно отступить от этого правила — компьютер дома требует отдельного места, стоит не очень дешево, да и потерь при решении проблем с сервером будет не много. Зато эффективность использования тако-го компьютера в маленькой сети может оказаться очень высокой. SLES Эту серверную операционную систему рассмотрим потому, что это коммер-ческая разработка, которая доступна для бесплатного использования при от-сутствии возможности обновлений и поддержки. Точнее, зарегистрировав-шись на сайте разработчика, можно получить возможность обновлений на один месяц бесплатно. Если поддержка или обновления потребуются в даль-нейшем, то придется заплатить. Во всяком случае, у вас есть возможность попробовать в действии коммерческую серверную версию Linux — SLES (SUSE Linux Enterprise Server). Этот дистрибутив разработан фирмой Novell, и дистрибутив можно получить по адресу http://www.novell.com. В состав дистрибутива входят пакеты, обеспечивающие возможность уста-новки на сервере средств для работы с промышленными приложениями и базами данных (SAP и Oracle), средства для кластеризации серверов. В до-машних условиях, конечно, такое вряд ли понадобится. Как и в OpenSUSE, в систему включены средства виртуализации. Для управления всеми функ-циями системы применяется Центр управления YaST2. На рис. 1.14 представлен рабочий стол GNOME в SLES 10.0. Как и в новых версиях KDE, главное меню выглядит нестандартно. Для каждой группы за-дач вызываются окна меню, подобные меню центру управления. Работа с та-ким интерфейсом удобна, все средства управления работают корректно. Если вы внимательно рассмотрели рисунок, то обратили внимание на отсутствие переключателя рабочих мест. Он в системе есть, как и во всех Linux, но по умолчанию в специализированной серверной системе его решили отключить. На сервере должно быть только одно рабочее место администратора. Глава 1 26 Рис. 1.14. Рабочий стол GNOME в SLES 10.0 На этом обзор вариантов Linux для рабочих станций и серверов можно оста-новить. Несмотря на различия в интерфейсах и средствах управления, в це-лом все системы Linux похожи. Главное средство работы с Linux — терми-нал, который в графическом режиме тоже может выглядеть по-разному, позволяет использовать команды, которые совершенно одинаково работают во всех версиях системы. Конечно, и здесь наблюдается прогресс. Некоторые команды со временем изменяются, добавляются новые, но изучив основной набор команд, вы в любой версии Linux будете чувствовать себя уверенно. Настройка системы сводится к правильному заполнению конфигурационных файлов и выполнению необходимых команд. Знать, какие конфигурационные файлы для какой подсистемы применяются — тоже неплохо. Иногда графи-ческий интерфейс системы позволяет выполнить только основные настройки программы, а тонкая настройка возможна через исправление конфигураци-онных файлов, выполнение команд с различными параметрами в командной строке. Поначалу это кажется сложным. Но надо отметить, что новейшая серверная OC Windows Server 2008 может быть установлена… совсем без графического интерфейса. Сеть под Linux — с чего начать? 27 Человек так устроен, что все непривычное воспринимает в штыки, если это ему не интересно. Первое знакомство с Linux как с заменой Windows может и не вызвать восторга. Это не замена. Это одна из существующих в мире опе-рационных систем, со своей идеологией, своими поклонниками, своими воз-можностями. Графический интерфейс сделал управление системой более на-глядным и доступным, но и Linux, и Windows имеют как преимущества, так и недостатки. Можно сравнить операционную систему с транспортным средст-вом. Для различных дорожных условий и требований пользователя должно быть свое средство. Квадроцикл, снегоход, мотоцикл, легковой автомобиль спортивного типа — все выполняют одну задачу, перевозят пару человек. И бывает, что один и тот же человек имеет в своем распоряжении все пере-численные средства. Linux в локальной сети, — одно из средств управления этой сетью и ее эксплуатации. И если это средство применяется, то надо его осваивать, находить его лучшие стороны. В следующей главе рассмотрим процедуры, связанные с установкой Linux с учетом предполагаемого назначения системы. Глава 2 Установка и обновление Linux Сама по себе установка Linux не сложна. Важно только не пропустить неко-торые моменты, чтобы потом не заниматься этой процедурой повторно. Но до установки необходимо правильно выбрать дистрибутив системы. Несмотря на то, что все рассматриваемые нами системы — Linux, и все базо-вые функции отличаются мало, удобство работы из графического интерфейса может отличаться сильно. Да и не только из графического. Разработчики ди-стрибутивов ставят перед собой различные цели. Одни делают ставку на вы-сокую стабильность системы, другие на наличие в системе средств украше-ния графического интерфейса, которые будут “круче”, чем в Vista, третьи обращают внимание на логическую завершенность интерфейса, удобство выполнения настроек, четвертые стараются включить в состав дистрибутива как можно больше программ различного назначения, чтобы пользователю дать возможность выбора. Кто-то ориентируется на пользователей, которые чувствуют себя в Linux как рыба в воде, и прекрасно может обойтись совсем (или почти совсем) без графического интерфейса, а кто-то из разработчиков понимает, что если уж есть графический интерфейс, то он должен работать корректно, быть понятным и удобным. Ведь и в Windows можно править ре-естр в текстовом редакторе, создавать подключения к сетевым ресурсам из ко-мандной строки… Но большинство обычных пользователей приходят к этому, освоив систему через графический интерфейс. Наверное, и в Linux можно пой-ти таким путем. Более того, если есть конкретная задача, которую требуется решить в кратчайшее время, хороший графический интерфейс может оказать неоценимую помощь. Более того, если графический интерфейс тщательно от-работан, то он станет поводырем на пути освоения и настройки системы. Дру-гое дело, когда первоначальная настройка выполнена, вы убедились, что все в общих чертах работает правильно, но хотите выполнить тонкие настройки, которые приблизят работу системы к некоторому идеалу, который вы себе представили. В этом случае правка конфигурационных файлов в текстовом редакторе, выполнение особенных команд в терминале неизбежны. Глава 2 30 К сожалению, не все версии Linux имеют графический интерфейс, который может выполнить функции поводыря. Нередко можно встретить графические средства, которые просто повторяют строки конфигурационного файла в неко-торой форме с полями, которые требуется заполнить. В таком случае придется читать руководства, обращаться к форумам в Интернете, экспериментировать, как и при отсутствии графики. Созданный таким путем конфигурационный файл пользователи обычно сохраняют, делают в нем подробные коммента-рии, чтобы в следующий раз не тратить уйму времени на подобные настрой-ки, а подкорректировать уже имеющийся файл для новой задачи. Тексты та-ких файлов можно встретить в Интернете, когда пользователи делятся своими достижениями с теми, кто только начал решать подобную задачу. Но иногда можно пойти другим путем. Даже когда необходимо выполнить настройки в системе, где графический интерфейс далек от совершенства, можно воспользоваться другой системой с развитым графическим интерфей-сом. Настроить эту систему, а получившиеся конфигурационные файлы ско-пировать. Возможно, что придется внести затем некоторые изменения и кор-ректировки, но большая часть настроек будет выполнена верно. Во всяком случае, ускорение работы будет налицо. Мастер установки Linux тоже мо-жет работать по-разному для разных дистрибутивов системы. Возможен вариант почти автоматической установки с минимальным участием пользо-вателя. Но мы рассмотрим процедуру установки достаточно подробно, что-бы обойти не очень правильные при решении конкретных задач автомати-зированные варианты. Несмотря на некоторые отличия в работе мастера установки в различных дистрибутивах, вы сможете самостоятельно опреде-лить момент для вмешательства в его работу, представляя себе все этапы установки Linux. Установка должна выполняться с учетом назначения бу-дущей системы. Это позволит сэкономить место на диске, если в этом есть необходимость, и снизить вероятность появления конфликтов между уста-новленными программами. Особенности установки Linux в зависимости от назначения системы Назначение устанавливаемой системы в малой сети может быть следующим: рабочая станция, с офисным пакетом и другими прикладными програм-мами; универсальный компьютер с функциями рабочей станции и некоторыми серверными функциями; сервер для малой сети. Установка и обновление Linux 31 Для каждого из этих случаев можно выбрать один хорошо освоенный вами дистрибутив. Но иногда есть смысл применить разные дистрибутивы Linux, разработчики которых уделили больше внимания выполнению тех или иных задач. Приведем примеры установки Linux из трех дистрибутивов. Для слу-чая рабочей станции применим Mandriva 2008 PowerPack, для универсальной установки CentOS 5.2, а для сервера SLES 10 SP1. Выбор дистрибутивов в большой степени условен, — грамотный пользова-тель Linux может любую систему настроить по своим требованиям. Но, во-первых, мы познакомимся сразу с тремя вариантами Linux, а во-вторых, эти системы действительно подходят для решения поставленной задачи. Кто-то может обратить внимание на “свежесть” рассматриваемых продуктов. Есть более новые версии Mandriva, в которые включены приложения для малого и среднего бизнеса. Подобные средства есть в дистрибутивах для сервера, которые мы еще будем рассматривать в книге. Есть более новые версии SLES (дистрибутив SLES 10 SP2 занимает два DVD). Процедура установки рас-сматриваемых дистрибутивов не изменилась с выходом новых версий. Установка Mandriva 2008 PowerPack Как и любой другой дистрибутив Linux, Mandriva 2008 PowerPack необходи-мо получить на DVD или CD-диске. Получить диски можно, купив дистрибу-тив в магазине или заказав его по почте. Дистрибутивы Linux можно загру-зить через Интернет в виде образов дисков. Образы имеют расширение iso, и их можно записывать на обычные CD-R DVD-R-диски. В Linux это делается очень просто. Файлы образов дисков можно записывать на физические носи-тели, копируя образ как физический диск штатными средствами Linux. Если вы устанавливаете Linux впервые, то создать диск с дистрибутивом можно и из Windows с помощью программ Nero или Roxio, которые могут прилагать-ся к новым компьютерам и даже входить в дистрибутивы, если Windows бы-ла предустановлена на ваш компьютер изготовителем. На рис. 2.1 показано окно программы Roxio, в котором выбрана команда Copy | Burn Image и вы-бран источник записи — загруженный из Интернета образ диска. Вы можете также обратиться к знакомым, у которых уже установлена Linux, и попросить их записать образ на болванку. Думаю, что они с удовольствием выполнят вашу просьбу, порадовавшись, что еще один пользователь ПК ре-шил войти в мир open source. Теперь, когда у вас есть установочный диск с дистрибутивом Linux, загрузи-те с него компьютер, на который хотите установить новую систему. Если на этом компьютере уже установлена Windows, но есть свободное место на дис-ках, Linux установится, сохранив возможность загрузки Windows. Но автор Глава 2 32 рекомендовал бы первую установку выполнять на отдельный винчестер, от-ключив винчестер с установленной Windows. Это необязательное требова-ние, но на отдельном винчестере вы можете чувствовать себя свободнее, проводя эксперименты с новой системой. А когда все будет установлено, и вы решите использовать Linux и Windows, можно подключить винчестер с Windows, а вариант загрузки выбирать с помощью клавиши на на-чальном этапе загрузки компьютера, выбирая винчестер с требуемой систе-мой. Вариантов установки системы может быть много, но мы рассмотрим обычную установку на отдельный винчестер. Для пояснения некоторых осо-бенностей установки системы к тестовому компьютеру подключен второй винчестер. Итак, загрузите компьютер с диска с дистрибутивом Linux. Рис. 2.1. Окно Roxio Creator Basic V9 После загрузки программы установки в память компьютера вы увидите экран установки системы на этапе выбора языка системы (рис. 2.2). На этом экране можно выбрать язык вашей системы, но при желании можно выбрать не один, а несколько языков, развернув меню Multi languages (над кнопкой Help), что позволит выбирать желаемый вариант при загрузке. Установка и обновление Linux 33 Рис. 2.2. Экран установки Linux Mandriva 2008 PowerPack. Выбор языка Рис. 2.3. Экран установки Linux Mandriva 2008 PowerPack. Лицензия Глава 2 34 Рис. 2.4. Экран установки Linux Mandriva 2008 PowerPack. Выбор раскладки клавиатуры Рис. 2.5. Экран установки Linux Mandriva 2008 PowerPack. Переключение раскладок Установка и обновление Linux 35 Рис. 2.6. Экран установки Linux Mandriva 2008 PowerPack. Выбор способа разметки диска Рис. 2.7. Экран установки Linux Mandriva 2008 PowerPack. Разметка диска Глава 2 36 С момента выбора языка программа установки системы будет использовать выбранный язык и предложит принять Лицензионное соглашение (рис. 2.3). Этот этап есть при установке как коммерческих, так и совершенно бесплат-ных версий системы. Прочитайте текст лицензии и отметьте переключатель Принять, если вы согласны с лицензией. Следующий этап — выбор раскладки клавиатуры (рис. 2.4). На этом экране можно выбрать раскладку из короткого списка, предложенного системой, или, раскрыв список Больше в нижней части экрана, выбрать какую-нибудь особенную раскладку. Но даже если вам и потребуется другая раскладка кроме русской, ее можно выбрать и после установки системы в качестве до-полнительной. Независимо от вашего выбора всегда будет использоваться латинская раскладка, как дополнительная. На следующем экране (рис. 2.5) вы можете выбрать способ переключения между раскладками клавиатуры. Среди возможных сочетаний следует обратить внимание на те, что не ис-пользуются в Linux, например клавиша Windows. Назначение этой клавиши для переключения раскладок оставит больше свободы для назначения горя-чих клавиш, которые в Linux широко применяются опытными пользователями. Выбранные параметры переключения раскладок начнут действовать только после перезагрузки по завершении инсталляции. А пока будет работать пра-вая клавиша . Об этом система предупредит вас соответствующим со-общением. После выбора параметров переключения раскладок система предложит вы-брать вариант разметки диска (рис. 2.6). Начинающие пользователи Linux на этом этапе не решаются выбрать ручную разметку и полагаются на мастера разметки диска, который может предложить вариант, пригодный для боль-шинства способов установки. Вы можете посмотреть вариант, предложенный мастером, а потом сделать по-своему, вернувшись к экрану выбора способа разметки. Выберем Ручная разметка диска и перейдем к следующему экра-ну (рис. 2.7). На этом экране показаны имеющиеся в системе жесткие диски и разделы на них. Поскольку мы выполняем установку на новый винчестер, разделов пока нет, и мы создадим их самостоятельно. В примере установка выполняется на виртуальные диски малого размера, поэтому размер создаваемых разделов тоже будет небольшим. В данном случае нам важно понять принцип выбора разделов, выбора их размеров и точек монтирования. Файловая система в Linux устроена иначе, чем в Windows. Дискам, как физическим, так и логическим, не присваиваются буквы. Системе не важно, сколько на дисках первичных или расширенных разделов, — загрузчик Linux прекрасно разбирается, где уста-новлено ядро системы. А если на дисках есть другая операционная система, Установка и обновление Linux 37 то он в состоянии предложить для загрузки и ее, выводя такую возможность в загрузочное меню. Устанавливая Linux на отдельный винчестер, мы пока не воспользуемся такими выдающимися способностями загрузчика. Рис. 2.8. Экран установки Linux Mandriva 2008 PowerPack. Переключение раскладок Воспользуемся подсказкой, которую видим на экране, и щелкнем мышью на поле диска hdd. При этом вместо подсказки появится кнопка Создать (рис. 2.8). Нажав эту кнопку, мы увидим экран (рис. 2.9) с полями, где можно выбрать из ниспадающих списков файловую систему и точку монтирования для нового раздела. Самой распространенной в Linux файловой системой на сегодняшний день является журналируемая файловая система ext3. Она по-зволяет надежно хранить данные, а за счет отслеживания транзакций восста-навливать файлы до состояния, предшествующего сбою. Вы можете увидеть в списке и другие файловые системы. Каждая из них может применяться для достижения тех или иных качеств системы, но нас практически во всех слу-чаях устроит ext3. Ее и будем выбирать при создании каждого раздела. ПРИМЕЧАНИЕ Следует сразу пояснить, почему диски обозначены на экране по-разному. Дис-ки с интерфейсами SCSI и SATA в начале своего обозначения имеют букву “s”, обозначение IDE дисков начинается на “h”. Глава 2 38 Рис. 2.9. Экран установки Linux Mandriva 2008 PowerPack. Создание раздела Рис. 2.10. Экран установки Linux Mandriva 2008 PowerPack. Созданные разделы Установка и обновление Linux 39 Программа установки Mandriva Linux не показывает нам, какой раздел созда-ется — первичный или расширенный. Это для нас не имеет значения, и про-грамма установки создает тот или иной вариант раздела по мере их создания автоматически. Точка монтирования первого создаваемого нами раздела — /boot. Это раздел, который в процессе работы системы практически не изменяется, если только мы не будем добавлять дополнительные варианты загрузки системы. Одним из таких вариантов может быть загрузка с ядром Xen. Это ядро виртуальной машины, в которую можно устанавливать другие операционные системы. В этой книге средства виртуализации будут рассматриваться, но другие. С Xen вы можете ознакомиться самостоятельно в Интернете или в справке для систем, с которыми это ядро поставляется (SUSE, CentOS и др.). Практи-чески для всех вариантов установки Linux достаточно 150 Мб для загрузоч-ного раздела. Современные винчестеры имеют такой значительный объем, что изображение загрузочного раздела может быть почти незаметным, когда будут добавлены остальные разделы системы (рис. 2.10). Все последующие действия похожи на описанное как две капли воды. Меняем только размер раздела и точку монтирования. Точка монтирования в уже установленной системе выглядит, как папка с файлами, но ее размер не может превысить заранее выбранный нами при соз-дании раздела. Поэтому следует позаботиться о достаточном размере для разделов, в которые может добавляться значительное число файлов при уста-новке самой системы и программ при дальнейшей ее работе. Один из необя-зательных, но влияющих на производительность системы раздел — /swap. Этот раздел имеет одноименную файловую систему и должен иметь размер не менее половины размера оперативной памяти. Его назначение подобно файлу подкачки Windows. Как и файл подкачки, этот раздел может быть за-менен файлами, создаваемыми после установки системы, но это в случае, ко-гда не рассчитали при установке. Корневой раздел (/) может иметь размер 50—70 Мбайт, разделы /usr, /var могут интенсивно пополняться при установ-ке дополнительных программ. Им можно выделить также по несколько де-сятков мегабайт. Раздел /tmp можно не выделять отдельно. Этот каталог мо-жет просто находиться внутри корневого раздела. Но при недостатке дискового пространства временные файлы могут занять все свободное место. При этом работа системы может быть нарушена. Если для временных файлов выделен отдельный раздел, то они не смогут занять места больше, чем им отведено. Значительное место может потребоваться разделу /home, где нахо-дятся папки и файлы пользователей. Если вы предполагаете сохранять доку-менты пользователей таким образом, чтобы они не были потеряны при уста- Глава 2 40 новке другой версии Linux, можно создать раздел, которого нет в списке. В примере (рис. 2.11) раздел /home/doc создан на втором винчестере. В сис-теме он будет виден как папка, вложенная в /home, но физически он находит-ся на отдельном диске. Это позволит в будущем при переустановке системы не форматировать этот раздел, а просто подключить его к какой-либо точке монтирования. Причем совершенно не обязательно помещать его внутрь раз-дела /home, но в этом разделе файлы могут быть по умолчанию доступны пользователям — не администраторам. Впрочем, установить любые необхо-димые вам права можно для файлов, находящихся в любом разделе. Рис. 2.11. Экран установки Linux Mandriva 2008 PowerPack. Раздел на втором винчестере После создания разделов программой установки по нашим указаниям можно выбирать программное обеспечение, которое будет установлено в системе (рис. 2.12). Можно выбрать стандартный комплект программ, которые будут установлены с выбранным по умолчанию рабочим столом KDE или GNOME, но можно выбрать все самостоятельно, отметив Custom install на экране вы-бора группы пакетов (рис. 2.12). При этом откроется экран с более подроб-ным перечнем групп пакетов (рис. 2.13). Установка и обновление Linux 41 Рис. 2.12. Экран установки Linux Mandriva 2008 PowerPack. Выбор группы пакетов Рис. 2.13. Экран установки Linux Mandriva 2008 PowerPack. Выбор группы пакетов (подробно) Глава 2 42 Рис. 2.14. Экран установки Linux Mandriva 2008 PowerPack. Выполняются автоматические операции Рис. 2.15. Экран установки Linux Mandriva 2008 PowerPack. Управление пользователями Установка и обновление Linux 43 Рис. 2.16. Экран установки Linux Mandriva 2008 PowerPack. Параметры загрузчика Рис. 2.17. Экран установки Linux Mandriva 2008 PowerPack. Параметры монитора Глава 2 44 Рис. 2.18. Экран установки Linux Mandriva 2008 PowerPack. Сводка Рис. 2.19. Экран установки Linux Mandriva 2008 PowerPack. Настройка сети, выбор соединения Установка и обновление Linux 45 Рис. 2.20. Экран установки Linux Mandriva 2008 PowerPack. Настройка сети, выбор способа настройки Рис. 2.21. Экран установки Linux Mandriva 2008 PowerPack. Настройка сети, параметры соединения Глава 2 46 Рис. 2.22. Экран установки Linux Mandriva 2008 PowerPack. Настройка сети, параметры управления Рис. 2.23. Экран установки Linux Mandriva 2008 PowerPack. Финал Установка и обновление Linux 47 Рис. 2.24. Первый запуск Linux Mandriva 2008 PowerPack. Текстовый режим Рис. 2.25. Первый запуск Linux Mandriva 2008 PowerPack. Графический режим Глава 2 48 Здесь можно указать необходимые группы программ. Мы устанавливаем систему для рабочей станции, и нас могут интересовать программы для рабо-чей стации. При необходимости можно отметить опцию Выбор отдельных пакетов, и из отмеченных групп выбрать только необходимые пакты. Выбор Графической среды (рабочего стола) — дело вкуса. По умолчанию предла-гается рабочий стол KDE. Если ваш компьютер не имеет достаточного объе-ма оперативной памяти и ограничено место на жестких дисках, можно огра-ничиться рабочим столом IceWM. В этой тестовой установке будет выбран именно этот рабочий стол. Закончив с выбором программного обеспечения, дадим системе поработать самостоятельно. По нашему предварительному выбору она выполнит все необходимые действия (рис. 2.14), сообщая об ос-тавшемся до завершения операций времени. Установка системы близка к завершению. Следующий экран (рис. 2.15) предлагает установить пароль для администратора системы и ввести имя пользователя и пароль для первого обычного пользователя системы. Допол-нительные параметры можно не указывать, и система их установит автома-тически. На рис. 2.16 показан экран установки параметров загрузчика. Можно оста-вить все параметры по умолчанию. Стоит обратить внимание на опцию Очищать /tmp при каждой загрузке. Она может помочь ограничить захват дискового пространства временными файлами, но при условии регулярной перезагрузки системы. А Linux, как известно, может работать продолжитель-ное время совсем без перезагрузок. Установив параметры загрузчика, переходим к параметрам монитора (рис. 2.17). Здесь можно выбрать драйвер монитора по производителю или указать разрешение экрана, при котором будет работать ваш монитор. Наконец, выполнены все основные действия по выбору параметров установ-ки. Программа установки выводит на экран сводку с указанием параметров системы (рис. 2.18). Но часть этих параметров либо настроена автоматиче-ски, либо не настроена совсем. Если есть такая необходимость, мы можем уточнить настройки системы, выбрав кнопку Настройка напротив требуемо-го параметра. Обычно требует уточнения настройка сети. Для начала следует выбрать вариант нашего сетевого соединения (рис. 2.19). Выбрав Ethernet, перейдем к экрану выбора способа настройки соединения (рис. 2.20). Система предлагает два варианта — автоматический и ручную настройку. Так же как в Windows, есть возможность оставить заботы по на-стройке сети самой системе. Выбрав ручную настройку (рис. 2.21), достаточно указать обычные парамет-ры для ваших сетевых адаптеров, которые вы указывали при настройке сети в Windows. Установка и обновление Linux 49 В качестве последнего штриха перед завершением установки система предлагает указать параметры управления сетевым соединением (рис. 2.22). При желании можете поменять их по своему усмотрению. Но можно оставить как есть. Вот мы и подошли к финишу. Система, завершив все операции по настройке сети, вывела экран с поздравлением (рис. 2.23). Остается перезагрузить ком-пьютер и увидеть приглашение системы. Выбирая графическую среду для нашей рабочей станции, мы указали IceWM. Если при установке KDE или GNOME загрузка системы завершается запуском графического режима рабо-ты, то в данном случае она остановилась на текстовом режиме (рис. 2.24). Что ж, нас это не пугает. Вводим имя и пароль пользователя, учетную запись которого мы уже создали. После удачной авторизации вводим команду startx. Загрузится рабочий стол, выбранный при установке системы (рис. 2.25). Несмотря на очень скромный вид, IceWM позволяет запускать необходимые программы и работать с ними. Установка SLES 10 Установка любой современной версии Linux выполняется практически одно-типно. Программы — установщики Linux проведут вас по всем этапам уста-новки системы и с помощью наводящих вопросов помогут установить имен-но тот вариант системы, который вам необходим. На рис. 2.26 показан один из завершающих моментов установки SLES 10 SP1 — настройка оборудова-ния. Сравните его с рис. 2.18. Не правда ли, очень похоже? Некоторые отли-чия в процедурах установки не существенны, поэтому подробно описывать процесс установки не имеет смысла. На рис. 2.27 показан экран входа в систему SLES 10. Подобный экран входа будет появляться при загрузке любой версии Linux, если при установке будет выбран рабочий стол KDE или GNOME. При желании вы можете отключить автоматическую загрузку графического режима для экономии ресурсов, на-пример. Это может иметь смысл для сервера, на котором никто не будет вы-полнять обычную работу, как на рабочей станции. Особенности установки системы в качестве сервера заключаются в выборе несколько иной разбивки дискового пространства и выборе программного обеспечения. На диске могут быть созданы специализированные разделы для выполнения определенных функций. Например, если предполагается исполь-зовать сервер в качестве сервера виртуальных машин, то есть смысл под эти виртуальные машины (файлы виртуальных машин) выделить отдельный раз-дел. Еще лучше поместить этот радел на отдельном диске, что улучшит бы-стродействие виртуальных машин. Глава 2 50 Рис. 2.26. Экран установки SLES 10. Настройка оборудования Рис. 2.27. Первый запуск SLES 10. Графический режим При выборе программного обеспечения следует ориентироваться на зада- чи сервера. Он может выполнять функции файлового сервера (Samba), веб-сервера (Apache), сервера авторизации (LDAP), маршрутизатора, сервера Установка и обновление Linux 51 печати (CUPS) и др. Для работы в качестве маршрутизатора дополнительных пакетов потребуется дополнительная настройка сетевых служб. Все эти вари-анты будут рассмотрены в книге подробно. Обновления — всегда ли они необходимы? Работая с Windows вы, наверное, привыкли к тому, что необходимо систему поддерживать в актуальном состоянии. Значительная часть обновлений свя-зана с безопасностью, исключением возможности отрицательного воздейст-вия на систему вирусов и вредоносных программ. Ситуация усугублялась тем, что вы практически всегда работали от имени администратора системы, чтобы не ограничивать себя в возможностях установки и удаления программ, и в других действиях, требующих административных привилегий. В Linux такой стиль работы не только не приветствуется, но даже сама сис-тема вас очень красноречиво предупреждает, когда вы начинаете работать от имени суперпользователя. Это не принято. У вас всегда есть простые средст-ва для выполнения каких-либо действий с повышенными полномочиями. А вирусов для Linux слишком мало, чтобы их всерьез опасаться. Никто и ни-какая неизвестная вам программа не может получить доступ к системе с дос-таточными для выполнения деструктивных действий правами. Поэтому к об-новлениям в Linux отношение может быт другим. Есть такое мнение, что обновления в Linux нужны только в случаях, когда они устраняют ошибку, с которой вы столкнулись, или добавляют необходи-мую вам функциональность. И в самом деле, если у вас уже настроена систе-ма и прекрасно работает, зачем выполнять ее обновление? Особенно верно это для закрытых внутри сети серверов. С другой стороны, если вы знаете, что обновление не принесет с собой про-блем по перенастройке компьютера, канал в Интернет у вас хороший, то можно получать все обновления, чтобы осознавать, что вы обладаете самой последней стабильной версией всех компонентов системы. Осторожно следует относиться к обновлениям ядра системы. Существуют программы, которые настраиваются при установке на работу с тем ядром, которое установлено в этот момент в системе. Сама процедура такой на-стройки не сложна, но если ваш сервер получает обновления автоматически, а вы в этот момент находитесь не рядом с ним, работа каких-то компонентов системы может быть нарушена. В качестве примера можно привести VMware Server для Linux. Если обновить ядро, виртуальные машины перестанут за-пускаться до повторного запуска скрипта конфигурации виртуальной маши-ны. При этом на все вопросы, которые задаст скрипт конфигурации, доста-точно дать утвердительные ответы, подтвердив ранее выбранные параметры. Глава 3 Рабочая станция В этой главе мы рассмотрим рядовую рабочую станцию под управлением Linux. Рабочая станция — это обычный компьютер, входящий в локальную сеть. На ней выполняются пользовательские приложения, через нее осуществляет-ся выход в Интернет, выполняется печать на локальный или сетевой принтер, подключение к ресурсам локальной сети. Работая с рабочей станцией под управлением Windows, тоже можно использовать ресурсы сети под Linux. Для обеспечения возможности взаимодействия рабочих станций Windows и Linux есть все необходимые средства. Для файлового обмена в сети Linux реализуется работа по протоколу Samba, любой сетевой принтер может быть подключен как к Windows, так и к Linux рабочей станции. Работа с програм-мами и программными пакетами, имеющими графический интерфейс, в Linux мало отличается от аналогичной работы в Windows, но сами про-граммы могут отличаться как по функциональности, так и по своему интер-фейсу. Но это дело привычки. Даже в Windows переход от офисного пакета Microsoft Office 2003 к Microsoft Office 2007 сопряжен с достаточно продол-жительным процессом привыкания. Освоив программные средства рабочей станции под управлением Linux, вы, вполне вероятно, посчитаете возможным полностью отказаться от Windows, если только нет требований полной со-вместимости форматов ваших данных с какими-нибудь другими системами. Например, многие издательства работают исключительно с форматами доку-ментов Windows. Но и в этом случае можно не отказываться от самой опера-ционной системы. Есть средства, которые обеспечат полную совместимость форматов ваших файлов с требованиями внешних организаций. В отличие от Windows, Linux обычно содержит в своем составе несколько программных средств для выполнения определенной задачи. Это позволяет выбрать наиболее удобные в данный момент или наиболее доступные поль-зователю. Обзор рабочей станции под управлением Linux начнем со средств управления и администрирования. Глава 3 54 Средства управления и администрирования Рабочая станция Linux обязательно должна иметь своего администратора. Им может быть и единственный пользователь компьютера, если это ваша личная машина. Но учетная запись администратора используется только в случае крайней необходимости. Текущая работа под учетной записью root запрещена. Имя учетной записи суперпользователя всегда одинаково, а воз-можности обычной работы под этой учетной записью разработчики дистри-бутивов стараются ограничить. Root имеет неограниченные права в системе, поэтому и сам пользователь, и злоумышленник может нарушить ее работу. При работе от имени обычного пользователя система надежно защищена и не подвержена деструктивным действиям злоумышленников. При необходимо-сти выполнения процедур администрирования обычный пользователь имеет возможность временно получить права администратора, введя пароль супер-пользователя по запросу системы. Есть также возможность запуска приложе-ний от имени администратора. Вход под учетной записью суперпользователя при загрузке системы имеет смысл только в одном случае. Если вы во время инсталляции системы не ука-зали ни одной учетной записи обычного пользователя, то войдя в систему под именем root, вы сможете создать дополнительные учетные записи. Далее сле-дует завершить сеанс администратора и войти от имени рядового пользователя. ПРИМЕЧАНИЕ Ограничения на работу от имени root распространяются не только на графиче-ские сеансы работы, но и на сеансы консольные. Графика в Linux только до-полняет систему наглядными и удобными средствами. Средства администри-рования системы всегда в своей основе имеют консольные приложения, которые не требуют наличия графики. Первое средство администрирования — это возможность открыть консоль-ный сеанс от имени root. Для этого нет необходимости выходить из текущего сеанса работы. Можно нажатием сочетания клавиш + перейти в консольный сеанс номер n. Всего таких сеансов может быть шесть. На эк-ране вы увидите приглашение ввести логин, а затем пароль. Если вы намере-ны только выполнить какие-либо действия от имени root, а затем выйти из сеанса, то можно зарегистрироваться суперпользователем, а по завершении административных действий выйти из сеанса с помощью команды Exit. Вер-нуться в окно графического сеанса можно с помощью сочетания клавиш +. Если вам удобно использовать текстовую консоль, часто пере-ключаясь в нее, то регистрироваться лучше обычным пользователем, а при-вилегии получать командой su или su -. После ввода этих команд требуется ввод пароля суперпользователя. Вторая команда кроме повышенных прав Рабочая станция 55 включает переменные окружения пользователя root, подключая и его домаш-ний каталог по умолчанию. Обычно для вызова многих программ в таком случае не требуется указывать полный путь к ним. Возможность открыть консольный сеанс есть и прямо в графическом режиме работы. Для этого служит программа terminal или x-terminal, меню вызова которых в различных дистрибутивах Linux может иметь некоторые отличия. В CentOS с установленным менеджером окон KDE путь вызова консоли — Главное меню | Система | Терминал. Еще один способ вызвать окно консо-ли — Главное меню | Выполнить программу и в единственное поле от-крывшегося окна ввести имя файла программы (иногда требуется полный путь). Имя файла программы может отличаться от названия программы, и для вызова окна терминала необходимо ввести команду console (рис. 3.1) и нажать кнопку Выполнить. Рис. 3.1. Окно Выполнить команду Окно Выполнить программу может быть развернуто с помощью кнопки Параметры. При этом появится возможность указать дополнительные пара-метры запуска, например пользователя и пароль, от имени которого будет запущена программа. На рис. 3.2 показано вызванное окно консоли, в кото-ром выполнены команды перехода от рядового пользователя к пользователю root в двух описанных выше вариантах. Окно терминала в графическом режиме может иметь несколько вкладок, в каждой из которых может быть открыт отдельный консольный сеанс. Таким образом, в вашем распоряжении несколько способов открыть сеанс суперпользователя, и не один. Это позволяет одновременно выполнять не-сколько программ и наблюдать за результатом их выполнения. Некоторые команды приводят к выводу на экран динамической информации, и пока идет выполнение такой команды, вы не можете выполнить другую в том же сеан-се. Например, если выполнить команду top, будет выводиться перечень про-цессов, которые отсортированы по используемым ими ресурсам (рис. 3.3). Глава 3 56 Рис. 3.2. Окно Konsole Рис. 3.3. Окно Konsole с выполняемой командой top Рабочая станция 57 Также до остановки пользователем может выполняться команда ping и мно-гие другие. Остановить выполнение таких команд можно сочетанием клавиш +. Пользуясь окном терминала, вы можете выполнять практически все дейст-вия, необходимые администратору компьютера. Создавать и удалять учетные записи пользователей, назначая им права в системе, создавать и удалять группы пользователей, создавать и удалять каталоги и файлы, назначая права доступа к ним, управлять сетевыми подключениями, организовать защиту рабочей станции по сети… Невозможно перечислить все задачи администра-тора рабочей станции, которые можно выполнить в окне терминала. Окно терминала позволяет выполнять все задачи администратора. Тем не менее, часто хотелось бы более наглядных средств администрирования рабочей станции. И такие средства в Linux есть. От версии к версии они могут до-вольно существенно отличаться, но логика их работы всегда одна и та же. Рассмотрим некоторые возможности администрирования и управления рабо-чей станцией Linux с использованием графических средств. Наиболее рас-пространенные операции по управлению и администрированию рабочих станций заключаются в следующем. Настройка параметров экрана Управление учетными записями пользователей Настройка параметров сети, включая брандмауэр или firewall, доступ в Интернет и настройка общего доступа к подключению Интернета Настройка доступа к ресурсам рабочей станции из сети Настройка доступа к ресурсам сети Настройка печати Конечно, это не все возможные процедуры управления и администрирования рабочей станции. С другими процедурами вы сможете ознакомиться и спра-виться самостоятельно по аналогии с описанными ниже. Настройка параметров экрана Рассмотрим эту процедуру в Mandriva Linux с установленным менеджером экрана KDE. Для доступа к настройкам параметров экрана перейдите по сле-дующему пути Меню | Утилиты | Системные | Центр управления. Здесь можно выбрать темы оформления и собственно параметры экрана. Для изменения темы оформления (вид окон и меню) выберите в левой части от-крывшегося окна Центр управления (рис. 3.4) раздел Внешний вид и темы. Развернув меню этого раздела, вы увидите несколько полезных пунктов ме-ню, первый из которых — Декорации окон. Глава 3 58 Рис. 3.4. Окно Декорации окон — Центр управления Здесь можно абсолютно безопасно экспериментировать и выбирать наиболее подходящий вам вариант настроек внешнего вида окон и самого рабочего стола. Перейдя к разделу Периферия и выбрав пункт Дисплей (рис. 3.5), можно настроить параметры дисплея, переходя по вкладкам и выбирая необходимые значения параметров. На рисунке показана вкладка Питание, где можно на-строить режим энергосбережения или выключить его. На вкладке Размер и ориентация есть возможность подкорректировать параметры дисплея. Выполненные вами изменения сохраняются только для текущего пользовате-ля. Но, как и в других версиях Linux, более глубокие настройки дисплея, включая выбор и изменение драйвера, возможны в другом окне. Перейдите к Центру управления Mandriva Linux по пути Меню | Утилиты | Систем-ные | Настройка компьютера. Скорее всего, система попросит вас автори-зоваться в качестве администратора компьютера (ввести пароль пользователя root). В открывшемся после авторизации окне Центр управления Mandriva Linux (рис. 3.6) выберите раздел Оборудование. Для настройки параметров дисплея в правой части окна найдите значок Настройка графического сервера и щелчком мыши по нему откройте соот-ветствующее окно (рис. 3.7). Рабочая станция 59 Рис. 3.5. Окно Дисплей — Центр управления Рис. 3.6. Окно Центр управления Mandriva Linux Глава 3 60 Рис. 3.7. Раздел Настройка графического сервера центра управления Mandriva Linux Здесь вы можете изменить разрешение экрана и драйвер монитора и видео-карты. После внесенных изменений есть возможность проверить работоспо-собность видеосистемы с данным сочетанием параметров. Если после нажа-тия кнопки Проверить вы увидите изображение экрана, то настройки можно сохранить. Если будет выведено сообщение об ошибке, то выбранное соче-тание параметров не поддерживается системой. В некоторых версиях Linux выбор несовместимого сочетания параметров может быть сохранен… В этом случае ситуацию может спасти только обращение к терминальному режиму. Набрав в окне терминального сеанса команду xvidtune, вы увидите тексто-вое окно программы xvidtune (рис. 3.8), в котором можно изменить настрой-ки графического сервера. Программу следует запускать от имени суперпользователя. Кнопка Test слу-жит для проверки корректности настроек, а кнопка Show — для их сохране-ния в конфигурационный файл. Конфигурационные файлы видеосервера в разных версиях Linux могут иметь отличающиеся имена. При желании вы можете познакомиться с возможностями настройки с помощью редакти-рования конфигурационных файлов в статьях по адресам в Интернете http://zero.kanet.ru/site/index.php?page=12 и http://noteslinux.blogspot.com/ Рабочая станция 61 2008/07/xorgconf.html. Для первого знакомства с конфигурационными фай-лами видеосервера этих статей достаточно, а мы продолжим рассмотрение графических средств настройки рабочей станции. Рис. 3.8. Окно настройки графического сервера в терминальном режиме Управление учетными записями пользователей Первая учетная запись обычного пользователя создается еще во время ин-сталляции системы. Но в процессе работы с компьютером может потребо-ваться создание других учетных записей. Для управления учетными записями в Mandriva Linux откройте центр управления Mandriva Linux (Меню | Ути-литы | Системные | Настройка компьютера) и перейдите в раздел Система (рис. 3.9). Найдите в нем значок Управление пользователями и щелкните по нему мышью. В открывшемся окне Пользователи и группы (рис. 3.10) вы увидите список уже существующих пользователей. Скорее всего, вы увидите только одну учетную запись. Для того чтобы увидеть всех системных пользователей, надо в меню Действия снять отметку напротив пункта Отфильтровать систем-ных пользователей. Идентификаторы обычных пользователей как правило начинаются с 500. Меньшие идентификаторы соответствуют системным пользователям. Редактировать системных пользователей обычно не требует-ся, но некоторые программы при установке создают учетные записи пользо-вателей, которые необходимы для верного распределения прав. Глава 3 62 Рис. 3.9. Раздел Система центра управления Mandriva Linux Рис. 3.10. Раздел Пользователи и группы центра управления Mandriva Linux Рабочая станция 63 Рис. 3.11. Окно Редактировать Группы / Пользователей Например, такого пользователя создает для себя сервер баз данных MySQL. Создать новую учетную запись просто — достаточно выбрать в меню Дейст-вия пункт Добавить пользователя. После этого необходимо внести некото-рый минимум сведений об учетной записи, которые потребует система. Впоследствии, воспользовавшись меню Действия | Редактировать, вы мо-жете изменить свойства выделенной учетной записи в окне Редактировать Группы / Пользователей (рис. 3.11). Исследуйте самостоятельно средства работы с учетными записями пользова-телей Linux. Вы увидите много сходства с возможностями управления учет-ными записями пользователей в Windows, но обнаружите и отличия. Так, на-пример, в Linux есть возможность выбора оболочки входа пользователя. По умолчанию используется оболочка bash, но существуют и другие, узнать о которых можно из статьи по адресу http://www.opennet.ru/base/dev/ linux_shells.txt.html. Настройка параметров сети и доступа в Интернет Это одна из важнейших функций администрирования рабочей станции. Без локальной сети и без Интернета опытный пользователь компьютера чувству-ет себя крайне не уютно. Но работая в локальной сети и подключившись к Интернету, нельзя забывать о защите информации. Если вирусов для Linux практически нет, любителей порыться в чужих файлах всегда хватает, поэто-му предусмотреть хотя бы самые простые средства защиты необходимо. На этот раз рассмотрим пример настройки параметров сети в операционной системе CentOS с установленной графической оболочкой KDE. В Mandriva Linux вы без труда сможете найти соответствующие инструменты настройки Глава 3 64 после рассмотрения данного примера. В CentOS нет такого удобного центра управления, как в Mandriva Linux. Тем не менее, настроить сеть для рабочей станции не сложно. Переходим по пути Меню | Администрирование | Сеть, затем вводим пароль су-перпользователя и получаем окно Настройка сети на экране монитора (рис. 3.12). Рис. 3.12. Окно Настройка сети. Вкладка Устройства В Linux все устройства имеют специальные обозначения. Сетевые адаптеры не исключение и обозначаются как ethN, где N — номер. Отсчет номеров устройств начинается с нуля. Первый сетевой адаптер обозначается как eth0, второй — eth1 и так далее. На вкладке Оборудование (рис. 3.13) можно уви-деть, какие именно сетевые карты соответствуют нашим устройствам. На этой вкладке можно назначить имя устройству, соответствующему опреде-ленному экземпляру оборудования. Настройки можно выполнять только для устройства. Выделив необходимую строку на вкладке Устройства и нажав кнопку Изменить (с изображением гаечного ключа), можно открыть окно Устройство Ethernet для выбранного адаптера. Два адаптера на рассматриваемой рабочей станции выполняют ка-ждый свою задачу. Так eth0 обеспечивает связь с внутренней локальной се-тью 10.20.1.1/24 (рис. 3.14), а eth1 — с внешней сетью 192.168.1.0/24 с выхо-дом в Интернет через шлюз 192.168.1.1 (рис. 3.15). Рабочая станция 65 Рис. 3.13. Окно Настройка сети. Вкладка Оборудование Рис. 3.14. Окно Устройство Ethernet (eth0) Глава 3 66 Рис. 3.15. Окно Устройство Ethernet (eth1) Такая конфигурация сети позволяет использовать эту рабочую станцию в ка-честве шлюза в Интернет для сети 10.20.1.1/24. Для этого достаточно в окне терминала от имени root выполнить три команды, которые для удобства можно включить в исполняемый файл. Команды нужны следующие: modprobe iptable_nat — для активации модуля ядра, который отвечает за преобразование сетевых адресов; iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE — указание на то, что на интерфейсе eth1 должно осуществляться преобразование адре-сов и перенаправление пакетов; echo “1” > /proc/sys/net/ipv4/ip_forward — разрешение маршрутиза-ции пакетов между сетевыми интерфейсами рабочей станции. Теперь, когда внутренняя сеть получила возможность выхода в Интернет, стоит подумать о защите. Условно будем считать внутреннюю сеть безопас-ной и защищаться будем от возможных проникновений из внешней сети 192.168.1.0/24 и Интернета. Рабочая станция 67 Рис. 3.16. Окно Настройка уровня безопасности Защитить рабочую станцию можно, настроив межсетевой экран. Для этого пройдите по пути Меню | Администрирование | Уровень безопасности и сетевой экран и установите необходимые опции в окне Настройка уровня безопасности (рис. 3.16), разрешив доступ к рабочей станции для отдельных портов, служб и сервисов. К сожалению, и здесь не обойтись без использования консоли (терминала), если необходимо установить различный уровень защиты по разным сетевым интерфейсам. Внутреннюю сеть мы считаем безопасной и не стремимся за-щититься от нее, а если для нее необходимо обеспечить свободный доступ для какой-либо службы, то автоматически доступ будет открыт и для внеш-ней сети. Чтобы избежать этого, придется прописывать правила для firewall. Пример настройки с использованием подготовленного заранее исполняемого файла можно посмотреть в разделе “Настройка брандмауэра” в статье по ад-ресу в Интернете http://sys-adm.org.ua/www/squid-transparent.php. В ис-полняемый файл записывается набор команд iptables, необходимых для создания правил брандмауэра. После выполнения всех команд брандмауэр будет настроен. Если ваша рабочая станция имеет только один сетевой адап-тер, то возможностей графического интерфейса для настройки брандмауэра вполне достаточно. В некоторых версиях Linux, например OpenSUSE или SLES, графиче- ский интерфейс предоставляет более широкие возможности для настроек брандмауэра. Глава 3 68 Настройка доступа к ресурсам рабочей станции из сети Если брандмауэр разрешает доступ к рабочей станции по протоколу Samba, это не значит, что сам доступ к файлам и принтерам возможен. Необходимо настроить службу Samba на рабочей станции. ПРИМЕЧАНИЕ Есть и другие протоколы и службы для предоставления доступа к файлам. Но здесь мы рассматриваем только те протоколы и службы, которые совмес-тимы с сетями под управлением Windows. Еще в процессе установки системы можно было выбрать сервер и клиент Samba. Эти компоненты обязательно присутствуют в любом дистрибутиве Linux и их установка не должна вызывать никаких проблем. Графические средства настройки сервера Samba в различных версиях Linux могут отли-чаться числом настраиваемых функций. Могут быть включены настройки доступа к принтерам, к каталогу имен LDAP, но суть процедуры настройки все-гда одинакова. Окно настройки сервера Samba в CentOS показано на рис. 3.17. Графические средства настройки Samba в CentOS содержат необходимый минимум возможностей файлового сервера небольшой сети. Меню | Адми-нистрирование | Настройка сервера | Samba — по этому пути можно вы-звать показанное на рисунке окно. Рис. 3.17. Окно Настройка сервера Samba Рабочая станция 69 Выбрав в меню окна Настройка | Параметры сервера и в открывшемся ок-не (рис. 3.18) вкладку Основной, можно указать имя рабочей группы, в кото-рой работают компьютеры вашей сети, и описание сервера. По умолчанию указана рабочая группа mygroup, а в описании сервера — его текущая версия. На вкладке Безопасность этого окна (рис. 3.19) следует указать режим аутентификации. Для небольшой сети вполне может подойти режим Ресурс. В этом режиме доступ к папкам и принтерам определяется разрешениями, которые установлены в системе. Шифрование паролей повышает безопас-ность в сети, поэтому можно указать Да, согласившись с этой возможностью. Для доступа к ресурсам пользователей, которые не имеют учетных записей на вашей рабочей станции, должна быть указана учетная запись, права кото-рой будут получать гости. Можно создать отдельную учетную запись и да-вать ей права на все открываемые для доступа ресурсы. Рис. 3.18. Окно Параметры сервера Рис. 3.19. Окно Параметры сервера. Вкладка Безопасность Глава 3 70 По пути Настройка | Пользователи Samba можно вызвать окно Пользова-тели Samba (рис. 3.20). В этом окне показан список уже существующих пользователей, а также есть возможность управления учетными записями. Для каждой учетной записи пользователей Samba необходимо указать пароль доступа к ресурсам сервера (рис. 3.21). Этот пароль не обязательно совпадает с паролем учетной записи в системе. Более того, для учетной записи может не быть разрешения входа в систему, но доступ к ресурсам Samba может быть открыт. Рис. 3.20. Окно Пользователи Samba Рис. 3.21. Окно Добавить нового пользователя Samba Нажав кнопку Добавить ресурс в окне Настройка сервера Samba (рис. 3.17), можно вызвать окно Создать ресурс Samba (рис. 3.22), в котором с помо-щью кнопки Обзор следует выбрать каталог, к которому предполагается открыть доступ, указать название ресурса, под которым он будет виден в се-ти, ввести описание ресурса. Описание также будет показано сетевым поль-зователям. Рабочая станция 71 Рис. 3.22. Окно Создать ресурс Samba В этом же окне можно указать разрешение записи в каталог и возможность видеть его в средствах просмотра сети. Вполне вероятно, что вы не хотите предоставлять пользователям возможность видеть каталог, но при точном знании его сетевого имени они могут войти в него. На вкладке Доступ можно выбрать пользователей, для которых разрешен доступ, или предоставить его всем пользователям. Как видим, возможностей много. Конкретный вариант настроек зависит от ваших потребностей. Настройка доступа к ресурсам сети Эта процедура очень похожа во всех версиях Linux. Встречаются некоторые особенности, присущие определенным дистрибутивам, но в общем случае доступ обеспечивается обозревателями сети, а также простым вводом адреса ресурса в адресную строку файлового менеджера. На рис. 3.23 приведено окно Браузер Konqueror в Mandriva Linux, в адресной строке которого введен адрес ресурса Samba на компьютере с CentOS. Как обычно, адрес начинается с указания протокола (smb), а перед IP-адресом компьютера или его именем указывается имя учетной записи пользователя и знак @. Если для доступа требуется пароль, то система его запросит. Пользователи Windows в вашей сети тоже могут получить доступ к ресур-сам Samba. На рисунке рис. 3.24 приведено окно обозревателя файлов Win-dows Vista, в адресной строке которого указано имя компьютера и имя ре-сурса Samba. Имя компьютера может быть заменено на его IP-адрес. Обратите внимание, что слеши в адресе обратные, это одно из отличий Windows от Linux. Глава 3 72 Рис. 3.23. Браузер Konqueror в Mandriva Linux Рис. 3.24. Windows Explorer Рабочая станция 73 Webmin Для объединения всех средств администрирования компьютера в одно разра-ботан программный комплекс Webmin (http://webmin.com), который позво-ляет администрировать UNIX-подобную операционную систему, не притра-гиваясь к командной строке и не помня ни одной команды. Все управление сервером происходит через веб-интерфейс. Webmin состоит из веб-сервера и небольшого количества скриптов, которые собственно и осуществляют связь между приказаниями владельца компьютера через веб-интерфейс и их исполнением на уровне операционной системы и прикладных программ. Webmin написан полностью на языке Perl и не использует никаких дополни-тельных нестандартных модулей. Простота, легкость и быстрота выполнения команд — одно из самых больших преимуществ данной панели управления. Webmin бесплатно распространяется для коммерческого и некоммерческого использования. Именно благодаря этому вокруг Webmin сложился мощный пласт сторонних добровольных помощников-программистов, которые допи-сывают данную программу, исправляют неудачные места, пишут дополни-тельные модули, производят перевод на другие языки. Благодаря этому Webmin оброс большой функциональностью, огромным количеством под-ключаемых модулей и переведен практически на все европейские языки, включая русский. Уже рассмотренные выше настройки, выполненные с помощью графических средств Linux, могли быть выполнены и через веб-интерфейс. Мы не будем подробно рассматривать все возможности Webmin. Это средство обычно не включено в дистрибутивы по умолчанию, но может быть установлено допол-нительно. Программный комплекс может быть установлен из окна терминала путем ввода следующих команд: # cd /usr/local/src # wget http://prdownloads.sourceforge.net/webadmin/ webmin-1.400-1.noarch.rpm # rpm -U webmin-1.400-1.noarch.rpm По первой команде изменяем текущую директорию на папку, в которую со-храним установочный пакет. Вторая команда — запуск программы wget. Это прекрасное средство для за-грузки файлов из Интернета. Оно не требует графического интерфейса, по-скольку очень просто в использовании. Версию пакета для загрузки проверь-те на сайте http://webmin.com и укажите актуальную на данный момент. Третьей командой выполним установку Webmin. Версию пакета укажите ак-туальную. По окончании процедуры установки достаточно в браузере ввести адрес http://localhost:1000, и вы увидите страницу авторизации Webmin (рис. 3.25). Глава 3 74 Рис. 3.25. Окно браузера со страницей авторизации Webmin Рис. 3.26. Окно браузера. Средства настройки системы программного комплекса Webmin Рабочая станция 75 После авторизации в качестве суперпользователя вы получите все права для настройки системы и сможете воспользоваться для этого средствами Webmin (рис. 3.26). На рисунке показана страница настройки сервера Samba, который мы только что настроили. Как видите, здесь возможностей существенно больше. Скорее всего, вы проведете не один час в изучении возможностей Webmin. Если ка-кого-либо модуля системы, который вас заинтересовал, нет на вашем компь-ютере, то программа при попытке перейти к его настройке предложит уста-новить его. Веб-интерфейсы очень удобны для проведения настроек программ и управ-ления ими. В Linux есть такие интерфейсы, которые входят в дистрибутивы по умолчанию. Один из таких стандартных интерфейсов — средство на-стройки системы печати. Настройка печати Для работы с принтерами в Linux наибольшее распространение получила сис-тема печати CUPS — Common UNIX Printing System (http://www.cups.org). Создавать принтеры и очереди печати, управлять ими очень удобно, восполь-зовавшись веб-интерфейсом CUPS. Для этого достаточно ввести в адресной строке браузера https://localhost:631 (рис. 3.27). К сожалению, веб-интерфейс CUPS не имеет пока перевода на русский язык, но по адресу http://wiki.archlinux.org/index.php/CUPS можно прочитать руководство на английском, русском, польском и китайском языке. Здесь мы рассмотрим только процедуру установки принтера, как самую необходимую для обеспе-чения возможности выполнять печать документов. Перейдя на вкладку Administration (администрирование), найдите кнопку веб- (добавить принтер) и нажмите ее (рис. 3.28). В полях ввода на открыв-шейся странице Add New Printer (рис. 3.29) введите информацию об уста-навливаемом принтере. Здесь можно вписать все, что вам заблагорассудится. На дальнейшую работу принтера записи не повлияют, но в системе принтер будет описан с именем, расположением и описанием, которые вы внесли. После нажатия кнопки Continue откроется страница Device URL for (рис. 3.30). Следует выбрать вариант связи с принте- ром. Один из наиболее распространенных способов установки принтеров в малых сетях — это принтеры с принтсервером, которые позволяют печа-тать на них с любого компьютера сети. В таком случае вводим socket://:9100. 9100 — это порт связи с принт-сервером по умолчанию. Глава 3 76 Рис. 3.27. Окно браузера с открытой главной страницей CUPS Рис. 3.28. Вкладка Administration страницы CUPS Рабочая станция 77 Рис. 3.29. Раздел Add New Printer страницы CUPS Рис. 3.30. Пункт Device URL for myprinter раздела Add Printer Глава 3 78 Рис. 3.31. Пункт Model/Driver for myprinter раздела Add Printer Рис. 3.32. Раздел Set Printer Options Рабочая станция 79 На следующей странице Model/Driver for (рис. 3.31) не-обходимо выбрать драйвер принтера из предложенного системой списка или указать место расположения файла драйвера. На этом этапе потребуется ав-торизация в качестве суперпользователя. На этом установка принтера прак-тически завершена. На следующей странице (рис. 3.32) Set Printer Options можно установить необходимые параметры печати, которые будут использоваться по умолча-нию. На вкладке Printers (рис. 3.33) можно увидеть все установленные прин-теры, выполнить тестовую печать, управлять очередями печати, удалять и модифицировать принтеры. Рис. 3.33. Вкладка Printers Как видим, установка принтера с помощью веб-интерфейса сервера печати CUPS не сложна. Можно в Linux найти и другие графические средства для управления принтерами, но это — самое универсальное, которое работает во всех версиях Linux одинаково. Глава 3 80 Установка и обновление программ Процедур установки и удаления программ в Linux несколько. В приложении можно найти команды для установки пакетов наиболее распространенных видов: RPM, YUM и DEB. Но в графический интерфейс разработчики совре-менных дистрибутивов стараются включить удобные средства для установки и обновления программ. Рис. 3.34. Окно Управление программами в Mandriva Linux На рис. 3.34 и 3.35 приведены изображения окон средств установки и об-новления программ в Mandriva Linux и в CentOS соответственно. Несмотря на некоторые внешние отличия, суть работы с этими средствами одна и та же. Разработчики стремятся приблизить их функциональность к функцио-нальности апплетов установки и удаления программ в Windows, но с уче-том особенностей Linux. Программы для этой операционной системы могут использовать различные библиотеки функций, подобно библиотекам DLL в Windows. Разные программы могут использовать одни и те же библио- Рабочая станция 81 теки. Разработчики программ для Linux пишут их для всех существующих разновидностей операционной системы, учитывая особенности каждой. Программа установки пакетов должна проверять сами пакеты и библио- теки на совместимость с теми, что уже установлены. Если обнаружена несовместимость (неудовлетворенные зависимости), система выведет пред- упреждение, а в ряде случаев и рекомендации о вариантах дальнейших действий. Рис. 3.35. Окно Менеджер пакетов в CentOS В большинстве случаев графические средства управления программами вы-полняют свои функции вполне удовлетворительно, но иногда консольные средства оказываются более гибкими. Глава 3 82 Программы для рабочей станции Linux у вас или Windows, кроме самой операционной системы неплохо иметь еще и полезные программы, например офисный пакет. Для Windows существует Microsoft Office, Microsoft Works, а также OpenOffice.org и другие менее распро-страненные пакеты. Для Linux наиболее распространены StarOffice, KOffice, OpenOffice.org. Как видим, применяя OpenOffice.org, можно быть уверенным, что документы, созданные в Linux и Windows, будут совершенно совместимы. Про-граммы OpenOffice.org осваиваются очень быстро теми, кто имел дело с другими офисными пакетами. На рис. 3.36 приведено окно программы OpenOffice.org Writer, предназначенной для создания текстовых документов со сложным фор-матированием. Последние версии пакета OpenOffice.org в состоянии читать и редактировать не только свои форматы файлов, но и файлы других офис- ных пакетов, включая Microsoft Office 2007. Учитывая бесплатность пакета OpenOffice.org, вы можете свободно использовать его в своей сети, распростра-нять его среди новых пользователей, не нарушая никаких лицензий. Рис. 3.36. Окно OpenOffice.org Writer Рабочая станция 83 Нередко вместе с офисными программами используют средства для пла- нирования проектов, таких как Microsoft Project. Если пользователям ва- шей сети необходима такая программа, то предложите OpenProj, которую можно загрузить со страницы разработчиков http://openproj.org. Как и OpenOffice.org, OpenProj имеет русскоязычный интерфейс и существует, вер-сиях для Windows и Linux. В качестве мультимедийного проигрывателя можно рекомендовать VLC media player (рис. 3.37), который тоже существует в версиях для Windows, Linux и других ОС. Можно загрузить эту программу со страницы разработ-чиков http://www.videolan.org/vlc. Этот плеер воспроизводит множество форматов аудио- и видеофайлов, а кроме того, может применяться для транс-ляции мультимедиа по локальной сети. Рис. 3.37. Окно VLC media player Многие пользователи Windows привыкли к программе Skype. И для Linux выпус-кается версия этой программы (рис. 3.38). Если вам не понравятся другие клиенты IP-телефонии для Linux или вы просто не захотите отказываться от привычного средства общения, то можете продолжать использовать Skype, перейдя на Linux. Иногда случается, что не удается найти замену Windows-программы под Li-nux. В этом случае можно воспользоваться входящим во многие дистрибути-вы Linux эмулятором Wine (рис. 3.39). Существуют как бесплатные, так и коммерческие версии этого эмуля- тора. Коммерческие версии позволяют устанавливать такие программы, как 1С:Предприятие, многие игры, даже Microsoft Office. Но и бесплатная версия Wine поможет работать с множеством Windows-программ в Linux. На рис. 3.40 приведено окно текстового редактора LeoPad, написанного для Windows, но установленного в среде Linux. Для Linux создается все больше и больше программ, функционально похо-жих на привычные программы для Windows или даже превосходящих Win-dows-аналоги по ряду параметров. В большинстве случаев работа на совре-менной рабочей станции Linux не менее комфортна, чем под Windows. Учитывая открытость, безопасность и бесплатность Linux, многие учрежде-ния переводят свои офисы на эту операционную систему. Глава 3 84 Рис. 3.38. Окно Skype Рис. 3.39. Окно Настройка Wine Рис. 3.40. Окно LeoPad Глава 4 Сервер Принимая решение о конфигурации сервера вашей сети, следует обратить внимание на возможности Linux. Правда, пока функциональность Linux-сервера, настраиваемого начинающим пользователем Linux, не может полно-стью повторить функциональность Windows-сервера. Особенно это касается возможностей Active Directory (AD). Настройка AD на системе Windows 2000 Server с помощью мастеров, встроенных в систему, даже для начинающих администраторов задача вполне посильная. Другое дело в Linux (пока). Тем не менее, если ваша сеть небольшая, установка AD не планируется, то на-строить файловый, веб-, почтовый серверы, а также DHCP, DNS и шлюз в Интернет вполне по силам даже начинающему. Было бы желание. А жела-ние здесь может быть подкреплено низкой ценой системы, применяемой для сервера, надежностью системы, практической неподверженностью вирус- ному заражению, умеренной требовательностью к ресурсам и отсутствием необходимости приобретать лицензии для пользователей сервера. В стан-дартной поставке Windows Server 2003, например, всего пять таких лицензий, а для обеспечения удаленного доступа пользователей к серверу также требу-ются отдельные лицензии. Таким образом, если вы хотите сэкономить на лицензиях, на цене ОС для Windows-сервера, у вас есть желание самостоятельно без технической под-держки разобраться с установкой и настройкой Linux-сервера, то можете смело брать какой-либо из свободно распространяемых дистрибутивов Linux и устанавливать сервер. Выбор дистрибутива — задача не всегда простая. На форумах в Интернете иногда разыгрываются целые баталии между сторонниками различных вер-сий Linux. Существуют специализированные дистрибутивы с предварительно сконфигурированной серверной ОС Linux, например, Mandriva CS, ASPLinux Server ConfPoint Edition, ALT Linux 4.0 Server и другие. Все они не бесплат-ны, но приобретение подобных дистрибутивов предполагает техническую Глава 4 86 поддержку в течение более или менее продолжительного периода. В то же время существуют бесплатные версии Linux, в которых есть возможность настроить серверные функции системы и достаточно успешно. Свободные дистрибутивы, такие как Debian (http://www.debian.org/index.ru.html), под-держка которого осуществляется интернет-сообществом, CentOS, тоже по-зволяют настроить операционную систему в качестве сервера. Для первого знакомства с возможностями Linux-сервера можно выбрать дистрибутив AS-PLinux 11 или 12. В стандартной поставке — только свободные компоненты, и вы можете абсолютно легально установить систему с дистрибутива, скопи-рованного у знакомых. Сеть желательно настроить сразу по ходу установки, и компьютеру назна-чить статический IP-адрес. В процессе установки системы есть возможность выбора назначения буду-щей системы. Один из предлагаемых вариантов — сервер. Выберите его и установите тот состав компонентов, который предложит система. После установки обновите ядро системы и компоненты, используемые сервером. Это можно выполнить, выбрав в главном меню Приложения | Система | Обновление системы и сняв отметки с пакетов, которые вы обновлять не будете. Или используйте программу Yum Extender, которая устанавливается с ASPLinux по умолчанию. В данном случае при обновлении пакетов нужно не снимать, а устанавливать отметки против обновляемых пакетов. Не стремитесь устанавливать дополнительные приложения. Офисный пакет, про-граммы для работы со звуком и изображениями должны быть установлены на рабочей станции. На сервере обычно не предполагается выполнять какие-либо работы. Если все же у вас появилась необходимость в установке программ, не связанных с функциями сервера, то после каждой установки проверяйте его ра-ботоспособность. Некоторые программы могут нарушить работу сервера. Теперь можно приступить к настройке сервера. Все доступные функции сервера можно настроить с помощью инструментов, доступных через меню Система | Администрирование | Настройка серве-ра | . Далее при описании настроек мы будем указывать толь-ко пункт подменю Настройка сервера. Web-сервер В большинстве дистрибутивов Linux содержится сервер Apache, который по-лучил широкое распространение не только в малых сетях, но и на серьезных серверах в Итернете. ASPLinux также содержит этот сервер, и его настройку мы рассмотрим далее. Сервер 87 Выберите пункт подменю HTTP. После щелчка мышью по этому пункту от-кроется окно HTTP Server Configuration — настройка HTTP-сервера (рис. 4.1). Рис. 4.1. Окно HTTP Server Configuration, вкладка Основное На вкладке Основное этого окна можно указать: Название сервера — это необходимо, если предполагается делать пере-направление с одного сервера на другой (если у вас их несколько), в про-тивном случае указывать имя сервера не обязательно; Электронный адрес вебмастера — это тоже не влияет на работоспособ-ность сервера и при знакомстве с ним указывать не обязательно; Available Addresses — допустимые адреса. В этом поле можно указать один или несколько адресов, с которых будет возможно подключение к серверу. Эти адреса имеет смысл указывать, если вы хотите ограничить доступ к серверу из сети. На вкладке Виртуальные узлы (рис. 4.2) для первого опыта можно не изме-нять ничего, если вы не хотите добавить новый виртуальный узел или изме-нить параметры существующего. Но, даже не изменяя параметры узла, есть смысл заглянуть в окно Свойства виртуального узла (рис. 4.3), где вы сможете узнать или изменить, если та-кое желание возникнет, название виртуального узла, его корневой каталог Глава 4 88 и другие параметры. Название узла необходимо локальному администратору для идентификации узлов, когда их несколько, а в корневом каталоге должны располагаться все файлы узла, которые будут использоваться веб-сайтом. Рис. 4.2. Окно HTTP Server Configuration, вкладка Виртуальные узлы Рис. 4.3. Окно Свойства виртуального узла, вкладка Общие установки Сервер 89 Рис. 4.4. Окно Свойства виртуального узла, вкладка Настройки страницы На вкладке Настройки страницы рассматриваемого окна (рис. 4.4) можно определить, какие форматы файлов будут опознаваться нашим сервером в качестве главных веб-страниц. По умолчанию уже определено четыре фор-мата, которые наиболее часто используются на серверах Apache. Имена таких файлов обычно устанавливаются как index, но вы можете использовать лю-бые другие, внеся изменения в разделе Directory Page Search List. Страницы ошибок (Error Pages) оставьте как есть. Впоследствии, осваивая практику создания веб-сайтов, вы сможете создавать свои страницы ошибок или изме-нять существующие по своему усмотрению. Для тех, кто не знает, сообщим только, что эти страницы необходимы для информирования посетителей сай-та о проблемах, связанных с его функционированием и использованием. На вкладке SSL окна Свойства виртуального узла можно включить под-держку SSL — защищенных соединений с узлами Интернета (рис. 4.5). Под-держка SSL требуется для защиты конфиденциальных данных при передаче через Интернет. Подробное рассмотрение этой технологии не входит в задачу книги, поэтому пока можно не включать или не настраивать SSL. Для обыч-ных веб-страниц поддержка защищенных соединений не требуется. На вкладке Ведение журнала (рис. 4.6) можно изменить параметры журна-лов Transfer Log и Error Log, в которых фиксируются подключения к сер-веру и ошибки сервера. Эти журналы требуются администратору для анализа работы сервера. Для обоих журналов доступно три варианта сохранения дан- Глава 4 90 ных: записывать в файл, передать ведение журнала указанной программе или использовать системный журнал. Первый вариант установлен по умолчанию, и изменять его без необходимости не надо. Рис. 4.5. Окно Свойства виртуального узла, вкладка SSL Рис. 4.6. Окно Свойства виртуального узла, вкладка Ведение журнала Сервер 91 Перед запуском сервера вы можете поместить в его корневой каталог, зара-нее созданную стартовую страницу. Если у вас еще нет такой страницы, сер-вер содержит тестовую страницу, которую вы сможете увидеть и убедиться, что сервер работает. Но для того чтобы подключение к серверу стало воз-можным, необходимо запустить службу httpd. Для ее запуска через пункт ме-ню Службы откройте окно Настройка служб (рис. 4.7) и отметьте httpd в списке служб. После этой операции httpd будет запускаться при старте сис-темы. Рис. 4.7. Окно Настройка служб Теперь, когда вы ознакомились с настройками сервера, а может быть и изме-нили какие-либо из них, можно подключиться к серверу для проверки его работоспособности. Это можно сделать как с другого компьютера сети по сетевому имени или IP-адресу, так и прямо через браузер вашего сервера, на-брав в строке адреса http://localhost/. Браузер отобразит тестовую страницу (рис. 4.8). Повторите подключение с другого компьютера и убедитесь, что сервер дос-тупен для компьютеров сети. Если все эксперименты оказались успешны, можно загружать на сервер файлы вашего сайта и организовывать доступ к нему. Глава 4 92 Рис. 4.8. Окно ASPLinux Test Page Сервер NFS Пункт меню NFS позволяет получить доступ к настройкам сервера сетевой файловой системы (Network File System, NFS). Эта файловая система приме-няется преимущественно в сетях, где работают компьютеры под управлением Linux или UNIX. Особенность сетевой файловой системы заключается в том, что для приложений, которые могут работать только с локальными файлами, доступны и файлы из NFS. Сервер может предоставлять доступ к файлам, расположенным как на любых носителях, работающих на самом сервере, так и на других компьютерах сети или даже в Интернете. Щелкнув пункт меню NFS, вы откроете окно Настройка сервера NFS (рис. 4.9). В показанном на рисунке окне уже есть строка с указанием доступного по NFS ресурса, про-цедуру добавления которого мы и рассмотрим. Для добавления нового ре-сурса следует выбрать в оконном меню кнопку Добавить. Сервер 93 Рис. 4.9. Окно Настройка сервера NFS Рис. 4.10. Окно Добавить ресурс NFS, вкладка Основные Откроется окно Добавить ресурс NFS (рис. 4.10), где в соответствующих полях следует указать каталог, к которому открывается доступ, и узлы, кото-рым этот доступ предоставляется. Можно указать IP-адрес отдельного узла или указать адрес сети и маску подсети, например 192.48.1.0/24, или ука-зать имя узла или рабочей группы в виде @ или @.. Звездочка вместо имени обозначает все доступные имена. В этом же окне можно указать основные права доступа. Еще несколько параметров нового ресурса можно настроить на вкладках Общие параметры (рис. 4.11) и Доступ пользователей (рис. 4.12). Смысл параметров, настраиваемых в этих вкладках, понятен из их формули-ровок. При первых экспериментах их можно не изменять. Глава 4 94 Рис. 4.11. Окно Добавить ресурс NFS, вкладка Общие параметры Рис. 4.12. Окно Добавить ресурс NFS, вкладка Доступ пользователей Поэкспериментировав, поиграв с этими параметрами, вы сможете выбрать необходимые для вашей сети настройки. Файловый сервер Настройки этого сервера скрываются за пунктом меню Samba. В отличие от NFS доступ к ресурсам этого сервера может быть осуществлен с Windows-машин стандартными для них средствами. Linux-машины с установленным клиентом Samba также без проблем могут получить доступ к этому серверу. Сервер 95 Решив установить файловый сервер, вы должны определиться с местом хра-нения общедоступных файлов. Каталоги, к которым предполагается дать об-щий доступ, могут уже существовать, можно создать их перед установкой сервера, а можно создать в процессе настройки сервера средствами програм-мы его настройки. В последнем случае локальные права на эти каталоги бу-дут определены для доступа администратора компьютера. В примере выбе-рем второй вариант — создадим новый каталог общего доступа share в папке текущего пользователя (рис. 4.13). Рис. 4.13. Окно домашнего каталога пользователя Конечно, общедоступный каталог можно создать в любом месте файловой системы, но в данном случае мы создали его в домашней директории текуще-го пользователя с тем расчетом, что этот пользователь будет иметь все права на каталог и вложенные в него папки и файлы. Теперь откроем окно утилиты Настройка сервера Samba через пункт меню Samba (рис. 4.14) и настроим параметры сервера, выбрав в оконном меню Настройка | Параметры сервера. В открывшемся окне Параметры сервера на вкладке Основной (рис. 4.15) следует указать имя рабочей группы и про-извольное описание сервера. На вкладке Безопасность того же окна (рис. 4.16) укажите режим аутенти-фикации, выбрав его из ниспадающего списка. Режим Пользователь пред-полагает аутентификацию по имени пользователя, зарегистрированном на данном сервере, и паролю. Шифрование пароля предотвращает возможность пе-рехвата пароля злоумышленником при прослушивании сети. Правда, в неболь-шой домашней сети вряд ли найдется такой злоумышленник. Глава 4 96 Рис. 4.14. Окно Настройка сервера Samba Рис. 4.15. Окно Параметры сервера, вкладка Основной Рис. 4.16. Окно Параметры сервера, вкладка Безопасность Сервер 97 Выбрав в оконном меню Настройка | Пользователи Samba, необходимо добавить пользователей сервера в открывшемся окне Пользователи Samba (рис. 4.17). Кнопкой Добавить пользователя откройте окно Добавить но-вого пользователя (рис. 4.18), где в ниспадающем списке Имя пользовате-ля Unix выберите имя пользователя уже зарегистрированного на этом ком-пьютере. Укажите имя пользователя Windows для этой учетной записи, которое может совпадать с именем пользователя UNIX. Укажите также па-роль нового пользователя Samba. Пароль может отличаться от того, что тре-буется для входа в систему. Рис. 4.17. Окно Пользователи Samba Рис. 4.18. Окно Добавить нового пользователя Теперь пришла очередь сделать доступным по сети созданный ранее каталог share. В окне Настройка сервера Samba (рис. 4.14) нажмите кнопку Добавить ре-сурс. В открывшемся окне Создать ресурс Samba (рис. 4.19) с помощью кнопки Обзор и открывшегося при ее нажатии окна Каталог (рис. 4.20) най-дите в файловой системе каталог share и щелкните по его имени. При этом, если внутри выбранного каталога нет других папок, окно Каталог не будет содержать каких-либо имен ресурсов в поле Папки (рис. 4.21). По-сле нажатия кнопки ОK в окне Создать ресурс Samba на вкладке Основной в поле Каталог появится строка, указывающая полный путь к выбранному каталогу (рис. 4.22). Остается указать название ресурса, которое будет видно в сети, и его описание. Глава 4 98 Рис. 4.19. Окно Создать ресурс Samba Рис. 4.20. Окно Каталог Рис. 4.21. Окно Каталог (ресурс выбран) Сервер 99 Рис. 4.22. Окно Создать ресурс Samba (каталог выбран) Рис. 4.23. Окно Создать ресурс Samba, вкладка Доступ Перейдя на вкладку Доступ окна Создать ресурс Samba (рис. 4.23), вы уви-дите имя добавленного ранее пользователя сервера Samba. При выборе опции Предоставить доступ только определенным пользователям следует поме-тить имена учетных записей пользователей, которым предоставляется доступ (в данном случае у нас только один пользователь), и нажать кнопку OK. Теперь в окне Настройка сервера Samba появится информация о добавлен-ном ресурсе (рис. 4.24). Выделив его и нажав кнопку Свойства, можно уста-новить или снять видимость ресурса в сети и возможность записи в него. При наличии доступных по сети ресурсов, к ним можно будет обращаться с любых компьютеров сети. Сам сервер будет виден в сетевом окружении других компьютеров, в том числе, работающих под управлением Windows. На рис. 4.25 показано окно Сеть, открытое на компьютере под управлением Windows Vista, в котором можно увидеть и наш сервер Samba как компьютер ASPLIN. Глава 4 100 Рис. 4.24. Окно Настройка сервера Samba (с информацией о добавленном ресурсе) Рис. 4.25. Окно Сеть проводника Windows Сервер 101 Сервер DNS Щелкнув пункт меню Система доменных имен (DNS), можно открыть ути-литу настройки DNS-сервера. При небольшом числе компьютеров, конечно, не сложно внести все их имена и IP-адреса в файл hosts, имеющийся на каж-дой машине Linux и Windows. Но если компьютеров становится много, то искать друг друга в сети им легче с помощью DNS-сервера. При первом запуске утилиты настройки DNS-сервера (рис. 4.26), она преду-предит об отсутствии конфигурации BIND (Berkeley Internet Name Domain). ПРИМЕЧАНИЕ BIND или Berkeley Internet Name Domain — это пакет программного обеспече-ния для поддержки DNS, реализованный в университете Беркли. Он широко применяется при работе в Интернете. Основная масса серверов DNS — это серверы различных версий BIND. Нам ничего не остается, как нажать кнопку OK. Рис. 4.26. Окно BIND configuration GUI (первый запуск) Автоматически будет выполнена начальная конфигурация DNS-сервера с ис-пользованием локального имени компьютера и его локального IP-адреса (рис. 4.27). Далее необходимо вручную создать необходимые зоны и записи. Есть возможность импортировать записи объектов сети из файла hosts кноп- Глава 4 102 кой Import, если в нем уже есть информация о компьютерах вашей сети. При этом все необходимые записи будут созданы автоматически. Рис. 4.27. Окно BIND configuration GUI (начальная конфигурация) Описывать подробно настройку DNS-сервера мы не будем. Для начала рабо-ты с ним в локальной сети достаточно импортировать заранее подготовлен-ный файл hosts. Но в дальнейшем у вас может появиться необходимость в настройке этого сервера. Поскольку настройка полноценного DNS-сервера — достаточно сложный процесс, требующий определенных знаний, вам потребуется время для их освоения. Приведем здесь две ссылки на ресурсы в Интернете, которые по-зволят вам получить необходимую информацию. По ссылке http://www.opennet.ru/docs/RUS/dns2/ находится обширное руко-водство по настройке BIND. По ссылке http://hostinfo.ru/articles/57 находится описание принципов рабо-ты DNS-сервера и определяются все основные понятия и термины. Далее приведено несколько сокращенное изложение этой статьи. Как работает DNS-сервер Основной задачей DNS-сервера является трансляция доменных имен в IP-адреса и обратно. Сервер 103 Эту задачу позволяют решить и файлы hosts, если их заполнять на каждом компьютере, но с ростом сети эта работа может стать непосильной — ведь эти файлы надо еще и синхронизировать, не говоря уж об их размере… По-мочь может только DNS-сервер. DNS — иерархическая структура имен. Существует “корень дерева” с име-нем “.” (точка). Так как корень един для всех доменов, то точка в конце име-ни обычно не ставится (но она используется в описаниях DNS — тут надо быть очень внимательным!). Ниже корня лежат домены первого уровня. Их немного: com, net, edu, org, mil, int, biz, info, gov (есть еще несколько) и доме-ны государств, например, ru. Еще ниже находятся домены второго уровня, например, listsoft.ru. Еще ниже — третьего и т. д. В локальной сети могут существовать и мнимые домены первого уровня, например dom. Их нет в Ин-тернете, и DNS-сервер не будет искать в нем имена компьютеров сети. Каждому DNS-серверу известны адреса корневых DNS-серверов, после их опроса запрос на трансляцию имени узла в IP-адрес начинает спускаться вниз — корневой сервер пересылает запрос серверу первого уровня, тот — серверу второго уровня и т. д. Таким образом, каждый DNS-сервер работает как хороший компьютерщик: он всегда либо знает ответ, либо знает, у кого спросить… Помимо “вертикальных связей”, у серверов есть еще и “горизонтальные” от-ношения “первичный — вторичный”. Действительно, если предположить, что сервер, обслуживающий какой-то домен и работающий “без страховки”, вдруг перестанет быть доступным, то все машины, расположенные в этом домене, окажутся недоступны! Именно поэтому при регистрации домена второго уровня выдвигается требование указать минимум два сервера DNS, которые будут этот домен обслуживать. В небольшой локальной сети это не настолько существенно и может применяться единственный DNS-сервер. DNS-серверы бывают рекурсивные и нерекурсивные. Первые всегда возвра-щают клиенту ответ — они самостоятельно отслеживают отсылки к другим DNS-серверам и опрашивают их. Нерекурсивные серверы возвращают кли-енту эти отсылки, так что клиент должен самостоятельно опрашивать ука-занный сервер. Рекурсивные серверы удобно использовать на низких уров-нях, в частности, в локальных сетях. Дело в том, что они кэшируют все промежуточные ответы, и при последующих запросах ответы будут возвра-щаться намного быстрее. Нерекурсивные серверы обычно стоят на верхних ступенях иерархии — поскольку они получают очень много запросов, то для кэширования ответов никаких ресурсов не хватит. Полезным свойством DNS является умение использовать “пересыльщиков” (forwarders). “Честный” DNS-сервер самостоятельно опрашивает другие сер- Глава 4 104 веры и находит нужный ответ, но если ваша сеть подключена к Интернету по медленной (например, dial-up) линии, то этот процесс может занимать до-вольно много времени. Вместо этого можно перенаправлять все запросы, скажем, на сервер провайдера, а затем принимать его ответ. Использование “пересыльщиков” может оказаться интересным и для больших компаний с несколькими сетями: в каждой сети можно поставить относительно слабый DNS-сервер, указав в качестве “пересыльщика” более мощную машину, под-ключенную по быстрой линии. При этом все ответы будут кэшироваться на этом мощном сервере, что ускорит разрешение имен для целой сети. Для каждого домена администратор ведет базу данных DNS. Эта база данных представляет собой набор простых текстовых файлов, расположенных на ос-новном (первичном) сервере DNS (вторичные серверы периодически копи-руют к себе эти файлы). В файлах конфигурации сервера указывается, в ка-ком именно файле содержатся описания каких зон и является ли сервер первичным или вторичным для этой зоны. Элементы базы DNS часто называют RR (сокращение от Resource Record). Базовый формат записи выглядит так: [имя] [время] [класс] тип данные Имя может быть относительным или абсолютным (FQDN — Fully Qualified Domain Name). Если имя относительное (не заканчивается точкой — помните про корневой домен?), то к нему автоматически добавляется имя текущего домена. Например, если в домене listsoft.ru я опишу имя “www”, то полное имя будет интерпретироваться как “www.listsoft.ru.”. Если же это имя указать как “www.listsoft.ru” (без последней точки), то оно будет считаться относи-тельным и будет интерпретировано как “www.listsoft.ru.listsoft.ru.”. Время задает интервал времени в секундах, в течение которого данные могут сохраняться в кэше сервера. Класс определяет класс сети. Практически всегда это будет IN, обозначающее INternet. Интересно, что и в локальных сетях используется этот класс. Тип может быть одним из следующих: SOA — определяет DNS-зону; NS — сервер имен для зоны; A — преобразование имени в IP-адрес; PTR — преобразование IP-адреса в имя; MX — почтовая станция; CNAME — имена машины; Сервер 105 HINFO — описание “железа” компьютера; TXT — комментарии или какая-то другая информация. Есть также некоторые другие типы, но они намного менее распространены. В записях можно использовать символы # и ; для комментариев, @ для обо-значения текущего домена, () — скобки — для написания данных на не-скольких строках. Кроме того, можно использовать метасимвол * в имени. Порядок записей не имеет значения за одним исключением: запись SOA должна идти первой. Дальнейшие записи считаются относящимися к той же зоне, пока не встретится новая запись SOA. Как правило, после записи зоны указывают записи DNS-серверов, а остальные записи располагают по алфа-виту, но это не обязательно. SOA — описание зоны Теперь попробуем рассмотреть записи. Первой описываем зону: mycompany.ru. IN SOA ns.mycompany.ru. admin.mycompany.ru. (1001 ; serial 2400 ; Refresh — 6 часов 1800 ; Retry — 30 мин 1209600 ; Expire — 2 недели 432000) ; Minimum — 5 дней Сначала идет имя домена: mycompany.ru. (обратите внимание на точку в кон-це имени). Вместо имени можно было (и чаще всего так и делают) поставить знак @. ns.mycompany.ru. — основной сервер имен. admin.mycompany.ru. — почтовый адрес администратора в формате имя(точка)машина. Затем в круглых скобках идут поля, необходимые для правильного “воспри-ятия” вашей зоны другими серверами. Первое число — serial — является “версией” файла зоны. При внесении изменений это число надо увеличить — если вторичный сервер увидит, что его версия зоны меньше, чем у первично-го сервера, то он перечитает данные. Типичной ошибкой является обновле-ние зоны без обновления этого числа. Очень удобно в качестве serial исполь-зовать текущую дату, например, 2003040401 — 4 апреля 2003 года, первое обновление. Refresh говорит вторичным серверам, как часто они должны проверять зна-чение serial. Retry говорит о том, как часто вторичный сервер должен пытаться прочитать данные, если первичный сервер не отвечает. Глава 4 106 Expire говорит вторичным серверам, в течение какого времени они должны обслуживать домен, если первичный сервер не отвечает. По истечении этого времени вторичные серверы будут считать свои данные устаревшими. Minimum задает время жизни записей по умолчанию для данной зоны. NS описывает серверы имен Теперь опишем серверы имен, обслуживающие наш домен: mycompany.ru. IN NS ns.mycompany.ru. mycompany.ru. IN NS ns.provider.ru. Здесь ничего сложного нет. Так как имя зоны совпадает с указанным в поле именем записи SOA, то его можно оставить пустым. A описывает хосты Дальше идут записи A, описывающие ваши компьютеры и позволяющие пре-образовать имена в IP-адреса. major IN A 192.48.0.1 colonel IN A 192.48.0.2 IN HINFO “2xPIV-1.7 Win2K” general.mycompany.ru. IN A 192.48.0.3 Здесь сложного тоже ничего нет — имена могут быть относительные или “абсолютные”, можно добавить записи о конфигурации машины (пропущен-ное имя в записи HINFO говорит о том, что имеется в виду предыдущее имя). Не забудьте добавить записи: localhost. IN A 127.0.0.1 localhost IN CNAME localhost. mycompany.ru. IN A 192.48.0.1 Первая отдает адрес 127.0.0.1 любой машине, запросившей имя localhost, вторая — localhost.mycompany.ru, а третья говорит, куда послать клиента, который хочет попасть на mycompany.ru. CNAME — короткие имена серверов Записи CNAME позволяют дать машинам удобные или значащие имена. Например: ftp IN CNAME general говорит, что ftp.mycompany.ru живет по адресу 192.48.0.3. CNAME удобно использовать, если вы меняете имя машины, но хо-тите оставить доступ для клиентов, которые помнят старое имя. Удобный трюк с использованием CNAME заключается в назначении коротких имен часто используемым адресам. Например, прописав ls IN CNAME www.listsoft.ru., вы сможете заходить на ListSoft, просто набирая ls в качестве адреса. Сервер 107 MX описывает пересылку почты Записи MX нужны для того, чтобы указать, куда пересылать почту. В этих записях добавляется приоритет — чем он меньше, тем выше приоритет ма-шины. Приоритеты нужны для того, чтобы можно было задать несколько за-писей и перенаправить почту на альтернативный сервер, если основной не работает. Запись MX должна быть указана для домена в целом и, возможно, для каждой машины в отдельности. Сложного тут тоже ничего нет за одним исключением: очень часто встречается неправильное использование мета-символа “”. Запись .mycompany.ru. означает не “любая машина домена mycompany.ru”, а “любая машина, которая еще не была описана”. Причем даже если использовалась не MX-, а, например, A-запись, то звездочка все равно не будет работать для этой машины. В принципе, метасимволы нужны только для того, чтобы принимать почту для сети, находящейся за брандмау-эром, и чтобы пересылать почту в сéти, не подключенные к Интернету (на-пример, работающие через UUCP). Так как записи DNS меняются довольно редко, то имеет смысл прописать MX-записи для всех машин, описанных записями A. mycompany.ru. IN MX 10 relay mycompany.ru. IN MX 20 mycompany.ru. mycompany.ru. IN MX 30 mail.provider.ru. general.mycompany.ru. IN A 192.48.0.3 IN MX 10 mycompany.ru. Реверсная зона На этом создание файла зоны можно считать законченным. Но остается бо-лее увлекательное занятие: описание реверсной зоны. Если предыдущий файл позволяет определить IP-адрес по имени, то теперь надо сделать так, чтобы по IP-адресу можно было “вычислить” имя. Отсутствие реверсной зо-ны является довольно типичной ошибкой и может приводить к самым раз-ным ошибкам — начиная от сбоев FTP-серверов и заканчивая классификаци-ей отправленных писем как спама. PTR преобразовывает адрес в имя Для обратного преобразования используются записи PTR. Но не торопитесь их вписывать — тут есть одна хитрость: они пишутся в отдельном специальном до-мене верхнего уровня, с названием IN-ADDR.ARPA. Домен этот был создан для того, чтобы и для прямого, и для обратного преобразований можно было исполь-зовать одни и те же программные модули. Дело в том, что “мнемонические” име-на пишутся слева направо: www.listsoft.ru означает, что www находится в listsoft, а listsoft — в ru. IP-адреса пишутся наоборот: 195.242.9.4 означает, что машина 4 Глава 4 108 находится в подсети 9, которая является частью 195.242. И для сохранения “единого стиля” адресов для обратного преобразования используются имена вида 4.9.242.195.IN-ADDR.ARPA (обратите внимание, что IP-адрес записан в обратном порядке). Итак, мы создаем еще один файл зоны (для зоны, например, 0.48.192.IN-ADDR.ARPA), копируем в него запись SOA (а заодно и NS), после чего начинаем писать: 1 IN PTR major.mycompany.ru. 2 IN PTR colonel.mycompany.ru. … Можно задавать не только относительные, но и абсолютные имена: 3.0.48.192.IN-ADDR.ARPA. IN PTR general.mycompany.ru. Не забудьте еще задать обратное преобразование для 127.0.0.1. Обратите внимание на то, что право на ведение “прямого” домена не зависит от провайдера — его выдает организация, ведающая распределением имен в нужном вам домене. А вот пул IP-адресов находится в ведении провайдера, и именно провайдер делегирует (или не делегирует) вам права на ведение ре-версной зоны. В связи с тем, что зачастую клиентам выдается не целая сеть клас-са “C”, а ее часть, то и реверсная зона находится на сервере провайдера. Так что вам придется наладить с ним взаимодействие в области обновления данных. Настройте трансфер зоны Напоследок — одно маленькое замечание. Исследование DNS является од-ним из первых этапов “изучения сети” при подготовке ее взлома. Чаще всего используется перенос зоны, при котором все записи зоны передаются на компьютер “исследователя”, где он их может изучать в спокойной обстанов-ке. Поэтому имеет смысл (помимо всего прочего) настроить брандмауэр на запрет TCP-соединений по 53 порту с несанкционированных адресов (в за-просах на определение имен используется UDP, а для переноса зоны — TCP). Для того чтобы посмотреть, что записано в DNS, используется команда nslookup (она есть и в UNIX, и в Windows). Веб-интерфейс для управления сервером Для серверов на базе Linux, как и для Windows-серверов, разработаны сред-ства для удаленного управления. В том числе есть средства для управления через Интернет, так называемые веб-интерфейсы. Заслуживает внимания тот факт, что эти средства могут применяться и локально. Причем в некоторых случаях веб-интерфейс оказывается удобнее локального, позволяет увидеть множество параметров сервера, доступ к которым стандартными средствами Сервер 109 не так прост. Один из самых распространенных веб-интерфейсов для управле-ния Linux-сервером — Webmin. Вы можете посетить сайт www.webmin.com, где можно ознакомиться с этой замечательной системой, что называется, из первых рук. Webmin может использоваться в нескольких десятках версий Linux. Клиентская часть работает из любого браузера с любого компьютера, где есть браузер и доступ в сеть. Простое перечисление функций Webmin займет не одну страницу, поэтому подробно рассмотреть работу с этим интерфейсом в этой книге не представ-ляется возможным. Тем не менее, приведем здесь небольшой пример работы через Webmin с уже знакомым нам сервером Samba. Для того чтобы можно было использовать Webmin, как и для веб-сервера, должна быть запущена служба httpd. Открыв браузер, введите в адресной строке IP-адрес компьютера или его имя в сети и укажите порт 10000. Для локального подключения это http://localhost:10000, а для удаленного, на-пример, — http://192.48.1.200:10000. При подключении откроется страница авторизации, где следует указать имя пользователя и пароль. До определения пользователей Webmin по умолчанию может быть пользователь root с пус-тым паролем. После авторизации откроется окно Webmin, в его меню выбе-рем Службы. Страница, которую вы увидите, показана на рис. 4.28. Среди значков, расположенных на этой странице, выберите Файл-сервер Samba. При этом откроется окно Менеджер ресурсов Samba (рис. 4.29). Выбрав под таблицей ресурсов сервера ссылку Просмотр всех соединений, вы увидите страницу Текущие пользователи с таблицей (рис. 4.30), где по-казаны все текущие подключения к серверу. В столбце Открытые файлы описаны все открытые каталоги и файлы. На этой странице вы имеете воз-можность отключить пользователей от сервера. Если в окне Менеджер ресурсов Samba (рис. 4.29) выбрать значок Настройка автоматической синхронизации пользователей Unix и Samba, то в открыв-шемся окне Синхронизация пользователей (рис. 4.31) можно указать серверу автоматически добавлять пользователей компьютера в число пользователей сервера Samba. Эта возможность доступна только через Webmin. Рассмотрите внимательно страницы Webmin, вы увидите еще много удобств, которые система предоставляет администратору. ПРИМЕЧАНИЕ В некоторых версиях Linux Webmin по умолчанию устанавливается с примене-нием протокола SSL, обеспечивающего безопасный доступ к компьютеру через локальную сеть и Интернет. В этом случае доступ к Webmin с локальной маши-ны возможен по адресу https://localhost:10000. Также для входа в Webmin от имени пользователя по умолчанию (root) может понадобиться и его пароль. Глава 4 110 Рис. 4.28. Окно Webmin, страница Службы Рис. 4.29. Окно Менеджер ресурсов Samba Сервер 111 Рис. 4.30. Окно Текущие пользователи Рис. 4.31. Окно Синхронизация пользователей Глава 4 112 Сервер общего доступа в Интернет Компьютер на базе ОС Linux с успехом можно применить для обеспечения подключением к Интернету рабочих станций локальной сети, — создания шлюза в Интернет. Здесь возможностей нисколько не меньше, чем в Win-dows. Важно только обеспечить сервер двумя сетевыми интерфейсами. Один должен смотреть в сторону Интернета, а другой — в локальную сеть. Каким образом шлюз будет подключен к глобальной сети, значения не имеет. Это может быть модем для коммутируемых линий, выделенная линия, ADSL-модем и другие варианты. Возможно, что компьютер подключен к Интернету через другую локальную сеть, — и в этом случае он может быть шлюзом в Интернет для вашей локальной сети. В данном примере сервер небольшой локальной сети во внешней ЛВС играет роль рядового компьютера. Такой вариант работы вашего сервера возможен, если доступ в Интернет осуществ-ляется через районную или городскую сеть, а у вас задача — обеспечить под-ключением к Интернету все домашние компьютеры и гостевые ноутбуки. Настройка доступа возможна штатными средствами системы через графиче-ские утилиты или путем редактирования конфигурационных файлов. Но для пользователей Windows удобнее производить настройки средствами утилиты Firestarter, предоставляющей графический интерфейс к настройкам маршру-тизации и сетевого экрана (iptables). Утилита доступна на сайте http://www.fs-security.com/, где представлены версии для нескольких версий Linux. Для ASPLinux 11 следует выбирать установочные файлы для Red Hat Enterprise Linux 4. На момент написания этих строк файл для скачивания имел имя firestarter-1.0.3-1.i386.rpm. Устанавливается утилита стандартными средствами системы. Если вы используете более поздние выпуски ASPLinux, для установки можно выполнить команду # yum install firestarter. На сайте программы сказано, что Firestarter может использоваться для на-стройки шлюза или выделенного межсетевого экрана (firewall). В Firestarter есть мастер настройки, монитор событий реального времени, настройка об-щего доступа к Интернету, настройка DHCP-сервера и настройка внешних и внутренних политик. Эти дополнения делают программу весьма удобным инструментом для настройки сервера общего доступа к Интернету для не-большой сети. Мастер настройки После завершения установки выберите в меню Программы | Firestarter (в других версиях Linux возможно другое расположение этого пункта меню). При первом запуске Firestarter запустится мастер настройки. Так как межсе- Сервер 113 тевой экран (firewall) должен запускаться от имени администратора, т. е. root, мастер потребует ввести пароль суперпользователя. Мастер настройки про-ведет вас через простой процесс базовой настройки системы. После привет-ствия программы, нажмите кнопку Forward (Вперед). Появится диалоговое окно Network Device Setup, где будет приведен список найденных сетевых устройств, а также два флажка. Первый флажок означает, запускать ли fire-wall при дозвоне (если используется модем). Установка второго флажка оз-начает, что IP-адрес будет получен динамически: либо от DHCP-сервера ин-тернет-провайдера, либо от DHCP-сервера вашей сети. Выберите из списка сетевое устройство, которое расположено на стороне Интернета, и нажмите Forward. Мастер настройки запускается сам при первом запуске, а также его можно запустить из Страницы статуса Firestarter, меню Firewall | Run wizard. Вы всегда можете его использовать для корректировки основных на-строек программы. Диалоговое окно Internet Connection Sharing позволяет настроить общий доступ к Интернету, используя систему в качестве шлюза. Для второго сете-вого адаптера следует указать, что это устройство обращено к внутренней сети. Единственный флажок здесь позволяет включить или выключить DHCP-сервер в локальной сети. Последнее диалоговое окно Ready to start your firewall (Ваш firewall готов к запуску) позволяет сохранить указанные настройки с помощью кнопки Save (Сохранить) и запустить firewall, после чего появляется окно Firestarter, где можно включить настройку Minimize to tray on windows close (Минимизировать в лоток при закрытии окна). После этого нажатие на кнопке закрытия окна будет приводить не к завер-шению программы, а к минимизации ее в лоток. В лотке появится значок, отображающий статус межсетевого экрана: запущен, остановлен или за-перт. Запирание firewall приводит к запрещению всех входящих и исходя-щих соединений. Чтобы включить функцию минимизации, выберите Edit | Preferences либо нажмите кнопку Preferences (рис. 4.34). Затем в разделе Interface включите Minimize to tray on windows close и нажмите Accept (Принять). Просмотр событий Одна из наиболее полезных функций Firestarter — это способность в реаль-ном времени отображать происходящие сетевые события. Для просмотра со-бытий выберите вкладку Events на странице статуса (рис. 4.32). По умолча-нию показаны пять (время, порт, источник, протокол и сервис) из 11 столбцов. Столбцы могут быть настроены в разделе Show Column пункта Глава 4 114 меню Events. События раскрашены в разные цвета в зависимости от серьез-ности события: серые события безобидны (например, широковещательные пакеты); черные события — постоянные попытки подключения к случайному порту; красные события — возможные попытки обращения к закрытым службам. Рис. 4.32. Окно Firestarter, вкладка Events Количество отображаемых событий может быть уменьшено с помощью на-строек Skipping redundant entries (Пропускать повторяющиеся события) и Skip entries where the destination is not the firewall (Пропускать записи, приемником которых является не файрволл). На рисунке видны события об-ращения компьютера малой сети с IP-адресом 192.48.2.200 к серверу по пор-там 80 (подключение к веб-серверу), 137 и 138 (обращение к файловым Сервер 115 ресурсам сервера). Красных строк нет, поскольку все эти события описывают разрешенные обращения. Разрешение доступа Разрешить доступ в оснащенной файрволлом системе возможно двумя путя-ми: либо посредством страницы Policy (Политики), либо Events (События). Чтобы разрешить HTTP-соединения с определенного компьютера, щелкните правой кнопкой мыши на компьютере-источнике и выберите Allow inbound service for source (Разрешить эту службу для источника). Это приведет к созданию политики разрешения HTTP-соединения только с выбранного компьютера; можете проверить это, посмотрев вкладку Policy (Политики) (рис. 4.33). Рис. 4.33. Окно Firestarter, вкладка Policy Глава 4 116 Так как SMB (служба обмена файлами в Windows) использует несколько портов, легче разрешить доступ, создав соответствующее правило на странице политик. Выберите вкладку Policy, затем выберите раздел Allow service (Разрешить служ-бу) и нажмите кнопку Add Rule (Добавить правило). В диалоговом окне Add new inbound rule выберите Samba (SMB) из выпадающего меню и оставьте зна-чение по умолчанию Anyone (Доступно всем). Наконец, нажмите кнопку Add для добавления правила и закрытия окна. Нажатие кнопки Apply Policy (Приме-нить политику) включает действие только что добавленного правила. Страница политик также позволяет включить полный доступ с определенных ком-пьютеров или подсетей. Хотя более безопасно открывать лишь службы, которые нужны отдельным машинам, вместо открытия полного доступа группе машин. На вкладке Status (рис. 4.34) всегда можно увидеть общую информацию о работе Firewall, информацию о принятых и переданных пакетах по сетевым ин-терфейсам, а также информацию об активных подключениях (Active connections). Рис. 4.34. Окно Firestarter, вкладка Status Сервер 117 В рассматриваемом примере активны подключения к сервису в Интернете по порту 2041 (Mail.ru агент), подключение к веб-сайту по адресу 77.242.193.129 и по порту 445, который используется службой lanman (клиент для сетей Microsoft). Другие возможности Настроив шлюз в Интернет, можно настроить еще одну полезную функцию на вкладке политик в разделе Forward Service (Служба переадресации) (на рис. 4.33 нижний раздел). Все компьютеры в локальной сети разделяют один IP-адрес посредством трансляции сетевого адреса (Network Address Translation, NAT). NAT позволяет направить пакеты отдельных служб из внешних сетей к определенным компьютерам локальной сети. Это может быть установленный на одном из компьютеров сети веб-сервер или почтовый сервер или любой другой сервис, который вы решите предоставить для поль-зователей внешних сетей, включая Интернет. Таким образом, возможности сервера на базе ОС Linux во многих случаях совпадают с возможностями Windows-сервера. И только от вашего решения зависит — Linux или Windows будут управлять вашей сетью. Иногда на ре-шение может повлиять случайно обнаруженный факт, подробность из опыта других пользователей. Известно, что настройка почтового сервера Sendmail в Linux — задача весьма трудоемкая, в то же время под Windows существует несколько популярных почтовых серверов, включая встроенный в Windows Server 2003. Но и для Linux существуют другие решения, например почтовый сервер Qmail, который считается более безопасным, чем Sandmail. Также распространен сервер Postfix, который обычно устанавливается в небольших сетях и даже просто на рабочих станциях, вполне может работать и на серве-рах в Интернете. Это полноценная почтовая система, предназначенная для замены сервера Sendmail. Postfix, в отличие от Sendmail, разработанного как монолитная программа, состоит из нескольких небольших программ, каждая из которых выполняет свою задачу. В этом сходство Postfix с Qmail, но по сравнению с ним он более экономно распоряжается ресурсами системы. Подробно о Postfix можно почитать на официальном сайте разработчиков программы по ссылке http://www.postfix.org. Кроме того, есть форум на http://www.postfix.ru. Очень хорошая статья “Настраиваем почтовый сервер на Debian” находится по адресу в Интернете: http://www.drivermania.ru/ articles/nastraivaem-pochtovij-server-na-debian.html. В этой статье описы-вается настройка полноценного почтового сервера на базе Debian Linux. В зависимости от потребностей сети Postfix может быть установлен в раз-личных вариантах, каждый из которых требует для реализации своего набора Глава 4 118 модулей. В одних случаях процесс настройки сервера может быть длительным, в других можно уложиться за 10 минут. По адресу http://www.linuxrsp.ru/ artic/postfix.html находится еще одна полезная статья Колисниченко Дени-са — “Postfix за 10 минут”, которую и приведем здесь. Postfix за 10 минут Postfix является агентом доставки почты (Mail Transfer Agent, MTA), кото-рый используется по умолчанию во многих дистрибутивах, например, дист-рибутиве ALT Linux. Мы знаем, что кроме Postfix существует другой MTA — Sendmail, который является стандартом де-факто на почтовые аген-ты. Если Sendmail в основном используется на крупных почтовых серверах (в основном из-за традиции, поскольку Postfix при надлежащей настройке будет выполнять большинство функций Sendmail), то Postfix в основном ус-танавливается на рабочих станциях для выхода в Internet. В этой статье мы не будем рассматривать настройку Postfix для сервера, а займемся решением простой практической задачи, с которой может столк-нуться любой домашний пользователь Linux. Если на предприятии настройка сервера возложена на плечи администратора, то дома “сам себе root”, поэто-му если сам не настроишь, никто за тебя не настроит. Предположим, что у нас есть два локальных пользователя: ivanov и petrov. У Иванова есть два почтовых ящика — один на сервере провайдера (ivanov@isp.ru) и один на Mail.Ru (ivanov2004@mail.ru). У Петрова только один почтовый ящик — на сервере провайдера (petrov@isp.ru). Нужно на-строить почтовую подсистему так, чтобы письма Иванова получал локаль-ный пользователь ivanov, а письма Петрова — пользователь petrov. Также нужно обеспечить отправку писем, а именно чтобы письма отправлялись, когда установлено соединение с Интернетом. Другими словами, Иванов и Петров могут в любое время написать письмо, но оно будет отправлено только, если установлено соединение. Почему мы будем использовать Postfix, а не Sendmail? Во-первых, Postfix, скорее всего, уже установлен, поскольку сейчас он устанавливается в боль-шинстве дистрибутивов по умолчанию, и нам не нужно тратить время на его установку. Во-вторых, Postfix очень прост в настройке, в чем вы сейчас убе-дитесь. Начнем с настройки Postfix, который будет отвечать за доставку писем. Откройте файл /etc/postfix/mail.cf и измените параметры (если их там нет, добавьте): defer_transport=smtp relayhost = smtp.isp.ru Сервер 119 Эти две строчки говорят Postfix, что для отправки писем будет использован протокол SMTP (Simple Mail Transfer Protocol) и письма будут отправляться через почтовый сервер провайдера — smtp.isp.ru. Теперь приступим к настройке программы fetchmail, которая будет получать письма Иванова и Петрова и раскладывать их “по полочкам”. Если у вас не установлена программа fetchmail, самое время ее установить. После установ-ки в домашнем каталоге пользователя root создайте файл .fetchmailrc: set postmaster “postmaster” set bouncemail set no spambounce poll pop.isp.ru with proto POP3 user ‘ivanov’ there with password ‘passwd77’ is ivanov here poll pop.mail.ru with proto POP3 user ‘ivanov2004’ there with password ‘mailru-passwd’ is iva-nov here poll pop.isp.ru with proto POP3 user ‘petrov’ there with password ‘my_pAsWd’ is petrov here Теперь осталось установить алиас для пользователя root: чтобы почту root’a читал пользователь ivanov. Для этого в файл /etc/postfix/aliases добавьте строку: root: ivanov Перезапустите postfix: service postfix restart. Все, настройка завершена. После установления соединения с Интернетом, зарегистрировавшись как ivanov, введите команду (в терминале) su -c fetchmail. Затем нужно ввести пароль пользователя root, и программа fet-chmail получит письма Иванова и Петрова. В это же время Postfix автомати-чески отправит исходящие сообщения, если таковые имеются. Вывод про-граммы fetchmail выглядит так: 1 message for ivanov at pop.isp.ru (6050 octets). reading message 1 of 1 (6050 octets) …… flushed 1 message for ivanov at pop.mail.ru (2077 octets). reading message 1 of 1 (2077 octets) .. flushed fetchmail: No mail for petrov at pop.isp.ru Как видите, в данном случае не используется графический интерфейс. Все настройки выполняются в окне терминала или консоли. Это может пона-чалу отпугнуть пользователей Windows, но, освоившись в Linux, вы увидите, что это не самый сложный способ общения с компьютером. Более того, Глава 4 120 в программах, имеющих множество параметров для настройки, с множест-вом предусмотренных разработчиками режимов работы, пожалуй, командная строка и конфигурационные файлы окажутся более удобным инструментом, чем GUI. Ранее в этой главе мы упоминали о графическом веб-интерфейсе Webmin. Если вы установили его, то рассмотрите его возможности по на-стройке Postfix. Огромное число параметров, где необходимо установить их значение или указать вариант применения. Все равно потребуется чтение до-полнительной литературы, нужно будет вникать в описания конфигурацион-ных файлов… Проще, возможно, настроить систему, установив необходимые компоненты и отредактировав конфигурационные файлы. Впрочем, “Каждо-му фрукту — свой овощ”. Linux — ретранслятор файлов В Windows и Linux файловые системы имеют существенные отличия. Осо-бенности файловой системы Linux позволяют иногда простым путем решать задачи, которые в Windows не имеют таких простых решений. Конечно, файловые ресурсы всех компьютеров, работающих в сети, могут иметь общий доступ. Но, если каталоги общего доступа с разных машин должны быть постоянно доступны любому пользователю сети, есть возмож-ность упростить для них эту задачу, создав видимость расположения всех ресурсов на одном файловом сервере. Это позволит не только упорядочить доступ к файлам и каталогам, но и упростить настройку доступа к ним. Все компьютеры сети настраиваются для доступа к каталогам сервера, к которым монтируются новые сетевые ресурсы. При этом пользователь сети может не знать истинного расположения ресурсов, да ему это и не очень надо. Важно, что, однажды настроив компьютеры пользователей, администратору не при-дется повторно выполнять эту работу, если появятся новые файлы для обще-го доступа на новых компьютерах. Кроме того, можно на сервере монтиро-вать каталоги FTP-серверов, различные диски и т. п. Общие каталоги будут одинаково доступны пользователям с любыми опера-ционными системами. Файловый сервер становится ретранслятором ресурсов сети. Возможно, что кого-то заинтересует, что адреса ретранслируемых ре-сурсов скрыты от конечного пользователя. В рассматриваемом примере участвуют три компьютера: BeardM — компьютер под управлением Mandriva Linux, выполняющий роль файлового сервера; Beard-NB — компьютер под управлением Windows Vista, файлы которого необходимо предоставить в общий доступ через сервер; Сервер 121 BeardMM — компьютер под управлением Linux, получающий доступ к общим ресурсам. Процедура настройки ретранслятора состоит в следующем. 1. На компьютере Beard-NB создан каталог общего доступа с сетевым име-нем share. 2. На компьютере BeardM в домашнем каталоге текущего пользователя соз-дан каталог //home/beard/shrvista/, для него определен общий доступ. 3. От имени пользователя root в окне терминала или в консоли введена команда mount -t cifs //BEARD-NB/share –o us-er=username,pass=password,domain=DOMAIN //home/beard/shrvista с помощью которой монтируется сетевой ресурс. 4. Через Центр управления Mandriva Linux | Сетевые службы | Настрой-ка SAMBA смотрим сетевое имя каталога //home/beard/shrvista/. 5. Теперь по этому имени он будет виден при подключении к компьютеру BeardM по сети с любого другого компьютера, в том числе и с BeardMM. Если потребуется прекратить доступ к файлам компьютера Beard-NB, доста-точно в терминале на BeardM ввести команду umount -t cifs //BEARD-NB/share. Удаленное подключение к Linux из Windows с помощью Xming и SSH Нет, это не вариант VNC. И подключаться будем не к рабочему столу, а сразу запускать требуемые приложения. Эта технология основана на том, что в Linux графическая оболочка не является частью ядра системы. Оконная система для Linux — X Window System берет на себя отрисовку графических элементов и взаимодействие с устройствами ввода/вывода. Эта система име-ет клиент-серверную архитектуру. Оконная система выполняет роль сервера, а графические приложения — роль клиентов, которые подключаются к сер-веру и взаимодействуют с ним, получая рисунки своих окон и события мыши и клавиатуры. Раз уж сервер и клиент, то и работать они могут на разных машинах, общаясь через сеть. Значит, должна быть возможность запускать приложение на уда-ленном компьютере, получая его окна на локальном. Или запускать про-грамму на одном удаленном компьютере, а интерфейс программ показать на другом удаленном компьютере. Глава 4 122 Для реализации этой возможности требуется совсем не много. На удаленном компьютере необходимо установить SSH-сервер, который вы найдете в про-грамме установки и удаления по имени openssh-server. На локальном компь-ютере следует установить SSH-клиент и X-сервер для Windows. Теперь можем переходить к подготовке компьютера Windows. Здесь нужно установить две программы. SSH-клиент PuTTY, который можно найти на странице http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html. Программа не требует инсталляции, просто поместите ее в каталог, из ко-торого будете ее запускать. X Server для Windows Xming, загрузив его со страницы http://www.straightrunning.com/XmingNotes/. Для работы X-сервера необходимо загрузить и установить два файла — Xming и Xming-portable-PuTTY. Теперь можно установить соединение с удаленным компьютером по SSH. Для этого запустите PuTTY и введите IP-адрес компьютера Linux в поле Host Name (or IP addres) в разделе Session (рис. 4.35). Рис. 4.35. Окно PuTTY Configuration Сервер 123 Рис. 4.36. Окно PuTTY Configuration, раздел Window | Translation Рис. 4.37. Окно PuTTY Configuration, раздел Connection | SSH | X11 Глава 4 124 Для корректного отображения кириллицы, желательно в разделе Window | Translation установить кодировку, которая применяется на удаленной маши-не (рис. 4.36). В разделе Connection | SSH | X11 включаем перенаправление графического интерфейса. В качестве расположения X-сервера вводим IP-адрес компьюте-ра Windows, за которым сейчас сидим (рис. 4.37). Возвращаемся в раздел Session, сохраняем настройки и подключаемся к ком-пьютеру Linux. В случае успешного подключения мы вводим логин и пароль и видим текстовую консоль, в которой можем удаленно запустить консоль-ные программы, например, MC, как на рис. 4.38. Рис. 4.38. Окно текстовой консоли с программой MC Для графических приложений с графическим интерфейсом необходим X-сервер. Настроим Xming. Запустите программу XLaunch — мастер настроек. На первом шаге указыва-ем способ интеграции в графическое окружение Windows. Выберем вариант Multiple windows, когда каждая запущенная программа отображается в сво-ем окне (рис. 4.39). На втором шаге (рис. 4.40) нам предлагается автоматически запускать какое-нибудь приложение вместе с X-сервером. Пока отказываемся от этого пред-ложения. Сервер 125 Рис. 4.39. Окно Display settings программы XLaunch Рис. 4.40. Окно Session type Глава 4 126 На третьем шаге требуется указать параметры запуска Xming (рис. 4.41). Оп-ция Clipboard позволяет интегрировать буфер обмена. Для обеспечения комфортной работы в удаленном режиме в поле Additional parameters for Xming введите через пробелы следующие параметры: -dpi 96 — чтобы поправить размер шрифтов; -xkblayout us,ru — для работы с двумя раскладками клавиатуры; -xkbvariant basic,winkeys — вид клавиатуры; -xkboptions grp:caps_toggle — переключение раскладки клавишей . Рис. 4.41. Окно Additional parameters И, наконец, на следующем шаге в окне Finish configuration (рис. 4.42) сохра-няем настройки кнопкой Save configuration и запускаем X-сервер кнопкой Готово. В системном лотке появится иконка Xming. В дальнейшем запустить сервер с теми же настройками можно просто путем открытия сохраненного файла. Изменить настройки можно через контекстное меню файла. X-сервер запущен. Возвращаемся в консоль, предоставленную соединением SSH. Попробуйте набрать команду запуска оконного приложения, например kwrite &, gedit & или firefox & (рис. 4.43). Одна из этих программ навер- Сервер 127 няка есть на вашем удаленном компьютере. Амперсанд в конце команды ука-зывает, что программу запускаем в фоновом режиме, чтобы во время ее рабо-ты консоль была доступна для других действий. Рис. 4.42. Окно Finish configuration Рис. 4.43. Окно консоли SSH — команда запуска приложения Глава 4 128 Рис. 4.44. Рабочий стол Windows Vista и окно Управление программами Mandriva Linux Если получилось, пробуйте запустить и другие приложения. Вполне возмож-но получить доступ к графическим средствам управления системой. Так на рис. 4.44 показано окно Управление программами Mandriva Linux на рабо-чем столе Windows Vista. Эту программу можно вызвать командой /usr/bin/rpmdrake, введя ее в окне консоли SSH и нажав . Описанный способ удаленной работы с Linux-приложениями из Windows расширяет возможности Linux-сервера. Его теперь можно использовать и как сервер приложений. Каждый зарегистрированный на сервере пользователь может получить доступ к своим каталогам и приложениям в соответствии с назначенными ему правами. Глава 5 Еще о сервере В небольшой сети может быть достаточно функций сервера, описанных в главе 4. Тем не менее, вам могут потребоваться другие серверы. Например, сервер виртуальных машин, где могут работать в виртуальном виде несколь-ко компьютеров с какими-либо особенными настройками, или сервер автори-зации с единой для всей сети базой данных пользователей. Эти серверы мо-гут быть созданы, если установлены соответствующие компоненты или программы. Сервер виртуальных машин Пожалуй, наиболее подходящим для малой сети можно считать VMware Server 2. Это хотя и не открытый, но бесплатный продукт, который можно загрузить с сайта http://www.vmware.com, бесплатно зарегистрировавшись на нем. Доступны дистрибутивы как для Windows, так и для Linux. Процеду-ра установки из RPM-пакета в операционной системе CentOS наиболее про-ста по сравнению с другими бесплатными версиями Linux. В Windows уста-новка сервера совсем не вызывает проблем. Существуют и другие программы для организации виртуального сервера, например Virtual Box, которая очень хорошо работает под управлением Linux Debian, Linux Ubuntu, Linux Mint 7. Устанавливая виртуальный сервер под ОС Windows, можно испытать несколько версий Linux, не переустанавливая систему на базовой машине. И наоборот, установив его под Linux, можно при необходимости использо-вать виртуальный компьютер Windows. Зачем столько внимания какой-то виртуальной системе? — спросите вы. На самом деле, что, кроме возможности проводить эксперименты с различ-ными ОС, может дать виртуальная машина серверу? Глава 5 130 А дать она может много, и даже очень много. Попробуем перечислить пре-имущества, которые можно получить, используя виртуальную машину для сервера. Возможность моментального восстановления сервера в рабочее состояние после вирусной атаки, атаки хакеров или другой причины, приведшей к серьезным проблемам на сервере. Эта возможность достигается всего лишь копированием рабочего файла диска виртуальной машины и заме-ной испорченного на исправленную копию, при необходимости. Возможность размещения на одном физическом сервере более одного виртуального сервера. Это могут быть веб-сервер и пара серверов, при-надлежащих разным подсетям. Серверы, несмотря на размещение на од-ной машине, совершенно независимы друг от друга. Единственное огра-ничение — число виртуальных серверов. Это ограничение обусловлено ресурсами хост-машины. Реальный компьютер должен обладать ресурса-ми, достаточными для обеспечения одновременной работы виртуальных машин. Одновременно на одной базовой машине можно запускать не бо-лее четырех виртуальных машин на ядро процессора. Возможность быстрой замены сервера на другую версию. Это может быть полезно при обучении пользователей, когда в течение одного занятия не-обходимо рассмотреть работу и настройки двух-трех вариантов сервера. При этом учащиеся могут совершенно безбоязненно самостоятельно про-водить настройки сервера. Даже самые грубые ошибки не приведут к серьезным проблемам, ведь заменить сервер очень просто! Упрощение настроек базового физического сервера (хост-машины), что, в свою очередь, ускоряет и упрощает восстановление работоспособности сервера при серьезной аварии. Повышение надежности базового сервера. Вызывающие нестабильность в работе системы установки и переустанов-ки программ выполняются только на виртуальных машинах. Возможность дистанционного восстановления работоспособности серверов. Достаточно иметь удаленный доступ к базовой машине. К счастью, в наше время вариантов такого доступа может быть несколько, а один из весьма надежных — терминальный доступ — возможен средствами Windows. Возможность размещения на одной физической машине одновременно работающих серверов под принципиально различными операционными системами — Windows и Linux могут работать на одном компьютере од-новременно. Возможность совершенно без риска для работы сервера испытывать раз-личные программы, пригодность которых для ваших условий точно не ус- Еще о сервере 131 тановлена. Если в результате опыта выяснилась непригодность програм-мы, то замена файла сервера позволяет полностью уничтожить следы ус-тановки программы, сохранив систему в максимально чистом виде. Достаточно. Надо и вам дать возможность найти свои доводы в пользу вир-туального сервера. Если кому-то покажется, что уже все сказано, то это мо-жет значить только то, что вы еще не вошли во вкус, еще не опробовали ра-боту с виртуальным сервером в полной мере. Если вы — системный администратор или собираетесь им стать, то сможете найти еще с десяток плюсов у виртуального сервера. В каждой конкретной ситуации эти плюсы могут быть разными, но они есть всегда. Понимание полезности виртуального сервера есть. Остается понять, как же установить этот сервер? Для этого существуют специальные программы. Среди них наиболее известны программы от Microsoft и VMware. Что можно установить? Для кого-то покажется удивительным, но Microsoft предлагает нам виртуаль-ный сервер Microsoft Virtual Server совершенно бесплатно! Требуется только регистрация перед загрузкой файлов. Получить этот сервер можно по адресу http://www.microsoft.com/windowsserversystem/virtualserver/software/ default.mspx. Предварительно можно почитать описание этого сервера на странице http://zeus.sai.msu.ru:7000/operating_systems/virtserver/. Также бесплатно можно скачать и VMware Server, который, аналогично про-дукту от Microsoft, предназначен для создания виртуального сервера и управления им локально или удаленно через веб-интерфейс. VMware также предлагает VMware Player, с помощью которого можно “про-игрывать” виртуальные машины, созданные с помощью программ различных производителей (VMware GSX Server, VMware ESX Server, Microsoft Virtual PC и образы Symantec LiveState Recovery). То есть, создав виртуальную машину в доступной вам программе, вы можете перенести ее на любой другой ком-пьютер, где установлен VMware Player. Если виртуальная машина была соз-дана не средствами VMware, например, MS Virtual PC, то плеер автоматиче-ски импортирует файлы, преобразуя в свой формат. Подобно Adobe Acrobat Reader, который предназначен для чтения популярных PDF-файлов, VMware Player может “читать” созданные кем-либо виртуальные машины. Вы можете сами создавать виртуальные системы с помощью VMware Workstation или бесплатных виртуальных серверов от Microsoft или VMware, распространяя Глава 5 132 их среди других пользователей ПК. Новому пользователю виртуальной сис-темы даже не придется искать драйвера. После запуска в плеере драйверы устанавливаются автоматически. У автора не возникло проблем при переносе виртуальной машины, созданной на самостоятельно собранном персональ-ном компьютере, на ноутбук HP Compaq. Познакомиться с другими продуктами VMware можно на странице http://www.vmware.com. Фирма предлагает не только программы для созда-ния и запуска виртуальных систем, но и сами системы. После установки VMware Player можно скачать множество примеров виртуальных машин, ко-торые содержат в себе ОС Linux и браузер Firefox. Предназначены эти вирту-альные машины для безопасного просмотра интернет-страниц. Все они замк-нуты в себе, и никакие вирусы и опасные программы не смогут проникнуть в базовую или другую виртуальную систему. Эти виртуальные машины можно найти на странице http://linhost.info/vmware/. Установка Microsoft Virtual Server 2005 R2 Выбор этого сервера может быть обусловлен относительной простотой его настройки. Опыт других пользователей говорит о том, что на этот сервер можно установить не только Windows XP и серверные версии Windows, но и Linux. Интерфейс сервера не очень удобен для работы в виртуальной систе-ме, хотя и позволяет это делать, но зато системой можно управлять дистан-ционно через веб-интерфейс с любого компьютера сети или даже… через Интернет! Компания Microsoft предлагает также инструментальный набор Virtual Server Migration Toolkit (VSMT) в качестве бесплатного дополнения для Virtual Server. Набор можно загрузить по адресу http://www.microsoft.com/ windowsserversystem/virtualserver/evaluation/vsmt.mspx. Если эта ссылка не работает или файл для скачивания недоступен, воспользуйтесь прямой ссылкой на файл: http://download.microsoft.com/download/4/1/8/4187dc3b-4c92-41a8-b077-1367b29673b2/ADS_VSMT_1.1.exe. С помощью VSMT мож-но преобразовать физические машины в виртуальные, а виртуальные маши-ны VMware — в виртуальные машины, совместимые с Virtual Server. Компа-ния VMware предлагает аналогичный продукт VMware P2V Assistant, который представляет собой интегрируемый программный модуль для BartPE, формирующий новые загрузочные образы виртуальных машин путем создания визуального объекта (ghosting), соответствующего физическому образу, с последующим внедрением драйверов в образ виртуальной машины VMware. Эта утилита намного проще в использовании, чем VSMT, но требу-ет применения сторонней программы — например, Symantec Ghost или Acronis True Image — для создания образа диска. Для загрузки Ultimate-P2V Еще о сервере 133 можно воспользоваться ссылкой www.rtfm-ed.co.uk/?page_id=174. Боль-шинство пользователей Windows смогут без значительных проблем устано-вить и освоить эти продукты. Перед установкой виртуального сервера следует проверить, установлен ли у вас в системе компонент Internet Information Servises Manager из состава Internet Information Servises (IIS) (рис. 5.1). Если компонент не установлен, то установите его. В системе Windows 2003 Server этот компонент находится в составе сервера приложений. На клиентском компьютере, где будет уста-новлен Virtual Machine Remote Control (клиент удаленного контроля), ника-ких дополнительных компонентов не требуется. Рис. 5.1. Окно Компоненты Windows Установка сервера не отличается от установки большинства обычных про-грамм под Windows. Достаточно запустить на выполнение скачанный файл Setup.exe, и для первой установки ничего не изменять в параметрах установ-ки по умолчанию. На физическом сервере, где будет установлен виртуальный сервер, следует выполнить полную установку. Дополнительно можно устано-вить компонент Virtual Machine Remote Control (клиент удаленного контро-ля) на рабочую станцию, сняв отметки с остальных компонентов сервера во время установки. После установки виртуального сервера в окне браузера откроется страница с информацией о результатах установки (рис. 5.2). Глава 5 134 Рис. 5.2. Окно браузера Installation Summary Рис. 5.3. Окно браузера Create Virtual Machine Еще о сервере 135 В этом окне указаны пути, куда установлены компоненты программы, а так-же ссылка на веб-интерфейс администратора. Кликнув по ссылке, вы можете вызвать этот интерфейс. Выбрав в меню страницы пункт Virtual Machines | Create (Виртуальные машины | Новая), вы попадете в интерфейс создания новой виртуальной машины (рис. 5.3). Задав имя виртуальной машины, указав размер оперативной памяти для нее, размер и тип виртуального жесткого диска, а также указав, что должен ис-пользоваться физический сетевой адаптер, установленный на вашем компью-тере, можно нажимать кнопку OK. В процессе создания виртуальной маши-ны программа предложит отключить автозапуск CD ROM. Автозапуск будет мешать подключению дисковода к виртуальной машине. После создания виртуальной машины перейдите в меню Master Status (Страница состояния сервера) (рис. 5.4). Рис. 5.4. Окно браузера Virtual Machine Status Глава 5 136 Из этого окна, воспользовавшись выпадающим меню у имени виртуальной машины, вы можете включить ваш виртуальный компьютер, а если в дис-ковод компакт-дисков вставлен дистрибутив Windows XP или Windows Server 2003, то можно сразу начать установку системы на виртуальный сервер. Для того чтобы получить удобное окно управления виртуальной системой, можно кликнуть по маленькому изображению этого окна в интерфейсе Virtual Machine Status. Или через меню Пуск запустить Virtual Machine Re-mote Control (рис. 5.5). Рис. 5.5. Окно браузера Virtual Machine Remote Control. Установка системы Пользуясь этим окном, вы сможете провести установку системы, а в даль-нейшем просто работать в системе, производя необходимые настройки сер-вера (рис. 5.6). Еще о сервере 137 Рис. 5.6. Окно браузера Virtual Machine Remote Control. Система установлена Учитывая виртуальность сервера, вы можете создавать любое мыслимое чис-ло виртуальных машин, сохранять удачные, уничтожать не понравившиеся вам и запускать несколько виртуальных машин одновременно. При этом Virtual Machine Remote Control позволит переключаться между созданными машинами. Создав более одного виртуального сервера, вы сможете подключаться с кли-ентского компьютера к любому из них. Установив на виртуальный сервер серверную версию операционной системы, вы можете осваивать варианты настройки сервера, применив впоследствии полученный опыт. Некоторые подробности о виртуальном сервере можно найти на страницах http://soft.mail.ru/article_page.php?id=91 и http://www.osp.ru/text/302/177505/. Вполне возможно, что вам не требуется интерфейс управления виртуальным сервером. Можно просто установить виртуальную машину и использовать ее Глава 5 138 как обычный физический сервер. В этом случае для удаленного управления виртуальной машиной можно использовать средства удаленного доступа к фи-зическому серверу. Для управления самой виртуальной машиной можно орга-низовать удаленный доступ прямо к ней. С этой целью можно заранее создать необходимые виртуальные машины, перенести их на физические машины, где они должны работать, а запускать их можно с помощью VMware Player. Используем VMware Player Установка этой программы настолько проста, что описывать ее нет смысла. Единственное, на что можно обратить внимание — если у вас уже установлена программа VMware Workstation версии ниже чем 5.0, то программа установки потребует ее удалить. Плеер входит в состав VMware Workstation 5.х, а бес-платные обновления для продуктов VMware возможны только в пределах ос-новного номера версии программы. Но сам плеер бесплатный, а устанавливать его лучше на компьютер, где не установлена VMware Workstation. После установки плеера и переноса на компьютер, где он установлен, файлов виртуальной машины можно запустить плеер. Программа попросит указать конфигурационный файл виртуальной машины, которую необходимо запус-тить (рис. 5.7). Рис. 5.7. Окно VMware Player (поиск файла конфигурации) Еще о сервере 139 Рис. 5.8. Окно VMware Player (запуск виртуальной машины) Если ваша виртуальная машина создана средствами Microsoft, то укажите соответствующий тип файла в поле Files of type и выберите необходимый файл. Плеер преобразует виртуальную машину в формат VMware и запустит ее (рис. 5.8). Управление плеером ограничено возможностью отключения и подключения дисководов, сетевой карты и аудиосистемы. Все свойства виртуального ком-пьютера определяются во время его создания. Тем не менее, вам ничто не мешает устанавливать и переустанавливать операционную систему вирту-ального компьютера, выполнять в ней любые настройки. Соответственно, установив серверную операционную систему, вы можете настроить полно-ценный сервер. Можно установить на один физический компьютер более одного виртуально-го сервера. Особенно интересен вариант, когда каждый из виртуальных сер-веров выполняет свою определенную задачу. В этом случае вы можете, со-вершенно ничем не рискуя, заменить, например, почтовый сервер, оставив без изменения файловый и веб-сервер. Если не понравилась работа нового сервера — просто запустите старый файл сервера! Глава 5 140 VMware Server Этот виртуальный сервер может быть установлен не только на машину с Windows, но и на компьютер с ОС Linux, как и VMware Player. Загрузить VMware Server и VMware Player в версиях для Linux можно по ад-ресу в Интернете http://www.vmware.com/download/server/. Перед загрузкой потребуется регистрация. Только зарегистрировавшись, вы сможете получить серийные номера продуктов в необходимом вам количестве. В Mandriva Linux установка VMware Player возможна с дистрибутивного диска или из репозиториев стандартными средствами системы. Замечания по установке VMware Server и VMware Player под Linux Установка программ под Linux, несмотря на существующие достаточно со-вершенные средства, не всегда так проста, как под Windows. Проблемы мо-гут быть в разрешении зависимостей или в компиляции модулей устанавли-ваемой программы под имеющееся ядро Linux. Но первая проблема решается самой системой, если дистрибутив программы взят из соответствующего ей репозитория. Вторая проблема тоже часто имеет простое решение. При инсталляции VMware Server и VMware Player на первом этапе вопросов не возникает, и программа устанавливается без проблем, но затем, при по-пытке запуска установленной программы, система просит выполнить конфи-гурацию программы для работы с имеющимся ядром. В процессе конфигура-ции система просит указать расположение так называемых заголовочных файлов ядра системы. Этот запрос у начинающих пользователей может вы-звать недоумение. Приведенный в запросе стандартный путь для поиска этих файлов обычно не существует. Но проблема решается очень просто. Рассмотрим решение для Mandriva Linux, для других Linux действуйте по аналогии. Откройте утилиту установки и удаления программ (рис. 5.9). В левой части окна Управление программами в разделе меню Разработка откройте пункт Ядро. В правой части окна вы увидите установленные в системе пакеты. Не-обходимо, чтобы в числе установленных был пакет kernel-desktop-devel-mdv. Если он не отмечен в числе установленных, отметьте его и нажмите кнопку Применить. Убедитесь также, что установ-лены пакеты Libgcc1, gcc, gcc-cpp. Еще о сервере 141 Рис. 5.9. Окно Управление программами. Ядро После добавления недостающих компонентов установка и конфигурация VMware Server и VMware Player пройдет без проблем. Ниже приведен вывод на экран в окне терминала процесса конфигурации VMware Player. Процесс конфигурации VMware Player Прежде всего, получаем права администратора (пользователя root), введя ко-манду su и пароль этого пользователя [beard@BeardM ~]$ su Пароль: Вводим команду запуска VMware Player [root@BeardM beard]# vmplayer Глава 5 142 Система сообщает о необходимости конфигурирования программы vmware is installed, but it has not been (correctly) configured for this system. To (re-)configure it, invoke the following command: /usr/bin/vmware-config.pl. Вводим предложенную системой команду [root@BeardM beard]# vmware-config.pl Making sure services for VMware Player are stopped. Stopping VMware services: Virtual machine monitor [ OK ] Configuring fallback GTK+ 2.4 libraries. In which directory do you want to install the theme icons? [/usr/share/icons] Нажимаем What directory contains your desktop menu entry files? These files have a .desktop file extension. [/usr/share/applications] Нажимаем In which directory do you want to install the application’s icon? [/usr/share/pixmaps] Нажимаем /usr/share/applications/vmware-player.desktop: error: value “vmware-player.png” for key “Icon” in group “Desktop Entry” is an icon name with an extension, but there should be no extension as described in the Icon Theme Specification if the value is not an absolute path Error on file “/root/tmp/vmware-config0/vmware-player.desktop”: Failed to validate the created desktop file Unable to install the .desktop menu entry file. You must add it to your menus by hand. Не обращаем внимания на описание ошибки, позднее сделаем значок запуска программы самостоятельно Trying to find a suitable vmmon module for your running kernel. None of the pre-built vmmon modules for VMware Player is suitable for your running kernel. Do you want this program to try to build the vmmon mod-ule for your system (you need to have a C compiler installed on your system)? [yes] y Вводим “YES” или “Y” и нажимаем Using compiler “/usr/bin/gcc”. Use environment variable CC to override. What is the location of the directory of C header files that match your running kernel? [/lib/modules/2.6.22.18-desktop-1mdv/build/include] Еще о сервере 143 Нажимаем Extracting the sources of the vmmon module. Building the vmmon module. Using 2.6.x kernel build system. make: Entering directory Искать по истории назад 398 + Очистить всю строку 399 + Поменять слова местами 400 + Сделать все буквы заглавными от текущей позиции до конца слова Приложение 230 Таблица П1 (окончание) Команды через сочетания клавиш № Команда Описание 401 + Удалить от текущей позиции до начала слова 402 + Удалить от курсора до конца слова 403 + Вправо на слово 404 + Влево на слово 405 + Поменять местами слова 406 2T 2T обозначает дважды нажатый 407 2T Все доступные команды 408 (string)2T Все доступные команды, начинающиеся на string 409 /2T Все каталоги, включая скрытые. Для текущего надо набрать ./2Т 410 *2T Каталоги, кроме скрытых 411 ~2T Все пользователи, присутствующие в /etc/passwd 412 ~f2T Все пользователи, присутствующие в /etc/passwd, начинающиеся на f 413 $2T Все системные переменные 414 @2T Все записи в /etc/hosts 415 =2T Вывод наподобие ls или dir 416 !! Выполнить последнюю команду в истории 417 !abc Выполнить последнюю команду в истории, начинающуюся на abc 418 !a:p Напечатать последнюю команду в истории, начинающуюся на a 419 !n Выполнить n-ную команду в истории 420 !$ Последний аргумент последней команды 421 !^ Первый аргумент последней команды 422 ^abc^xyz Заменить abc на xyz в последней команде и выполнить результат Предметный указатель B, C Browser Appliance 149 CentOS 23 D Debian 21 DHCP 8 DNS-сервер 101 F, G Firewall 112 GNOME 17 I ICA 185 Ifstat 200 Internet Connection Sharing 113 IP-адрес 2, 3, 4, 5, 8 K, L KDE 17 Linux Mint 7 203 Linux-сервер 85, 128 Live CD 16 M Mandriva 17 Microsoft Virtual Server 131 N Netstat 200 Novell NetWare 9, 23 O OpenOffice.org 82 OpenSuse 22 OpenSUSE 11 OpenVPN 169, 177 P Postfix 117 PuTTY 188 Q, R Qmail 117 RDP 185 S Samba 53, 68, 70, 75 Sendmail 117 SLES 25 SSH 188 клиент 122 клиент PuTTY 122 сервер 122 V Virtual Appliances 146 VLC media player 23 Предметный указатель 232 VMware Player 131, 138, 144 VMware Server 129, 145, 159 VMware Server Console 153, 159 VNC 185 VPN 9 W Webmin 73, 109, 110, 120 Wget 73 WiFi 199 WiMAX 199 Windows-сервер 11 Wine 83 X X Server для Windows Xming 122 X Window System 121 XDMCP 185 Xfce 17 Xming 188 X-terminal 55 X-сервер 124 для Windows 122 А, В Адрес ресурса Samba 71 Вариант загрузки системы 39 Веб-интерфейс 73, 75 Видеосервер 60 Виртуальный компьютер 148, 152, 160, 164 сервер 129, 136, 140, 158 узел 87 Выбор раскладки 36 Г Графическая среда 48 Графический интерфейс 29, 30 Д Дисковая подсистема 193 Дистрибутив 31 И Инициализация Linux 13 Интернет 3, 9 К Клиент: Samba 68 терминального сервера 185 Команда: ifconfig 198 ps 190 top 188 Командный интерпретатор 13 Коммутатор 3, 6 Консольный сеанс 54 Конфигурационный файл 30 Концентратор 3 Корневой раздел 39 Л, М Лицензионное соглашение 36 Маршрутизатор 5 Межсетевой экран 67 Менеджер: ресурсов Samba 109 экрана 57 Модем 4 ADSL 4 Н Настройка: сервера NFS 92 сети 48 О Образ ISO 31 Общесистемная библиотека Linux 13 Предметный указатель 233 Одноранговая сеть 2, 4 Окно терминала 55, 57 П Параметры: дисплея 58 загрузчика 48 Переключатель рабочих столов 19 Перекрестный кабель 3 Перечень процессов 55 Пользователь Samba 70, 97 Почтовый сервер 117, 119 Преобразование адреса 66, 197 Принтер 4 Программы — загрузчики 13 Р Рабочая группа 69 Рабочая станция 30 Linux 15 Разметка диска 36 Разрешение экрана 60 Режим аутентификации 69 Ресурсы Samba 70 С Сервер 4, 7 Apache 86 Samba 94, 109 для малой сети 30 Сетевой адаптер 64 Сетевой протокол в Linux 11 Синхронизация: пользователей Samba 109 Система печати CUPS 75 Системный монитор 195 Служба Samba 68 Средства удаленного управления 108 Суперпользователь 188 Т, У Точка монтирования 39 Удаленноое администрирование Linux 184 Удаленный рабочий стол 187 Управление: службами 192 устройствами Linux 13 учетными записями 191 Установка: Linux 29 пакетов 80 принтера 79 программ под Linux 140 Утилиты: – df и mount 194 Учетная запись: root 54, 58, 66 пользователя 61, 63, 69 Ф, Ш Файловая система 36 Шлюз 4 в Интернет 66, 112 Я Ядро Linux 12 Язык системы 32/root/tmp/vmware-config0/vmmon-only' make -C /lib/modules/2.6.22.18-desktop-1mdv/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules make[1]: Entering directory /usr/src/linux-2.6.22.18-desktop-1mdv’ CC [M] /root/tmp/vmware-config0/vmmon-only/linux/driver.o CC [M] /root/tmp/vmware-config0/vmmon-only/linux/hostif.o CC [M] /root/tmp/vmware-config0/vmmon-only/common/comport.o CC [M] /root/tmp/vmware-config0/vmmon-only/common/cpuid.o CC [M] /root/tmp/vmware-config0/vmmon-only/common/hash.o CC [M] /root/tmp/vmware-config0/vmmon-only/common/memtrack.o CC [M] /root/tmp/vmware-config0/vmmon-only/common/phystrack.o CC [M] /root/tmp/vmware-config0/vmmon-only/common/task.o CC [M] /root/tmp/vmware-config0/vmmon-only/common/vmciContext.o CC [M] /root/tmp/vmware-config0/vmmon-only/common/vmciDatagram.o CC [M] /root/tmp/vmware-config0/vmmon-only/common/vmciDriver.o CC [M] /root/tmp/vmware-config0/vmmon-only/common/vmciDs.o CC [M] /root/tmp/vmware-config0/vmmon-only/common/vmciGroup.o CC [M] /root/tmp/vmware-config0/vmmon-only/common/vmciHashtable.o CC [M] /root/tmp/vmware-config0/vmmon-only/common/vmciProcess.o CC [M] /root/tmp/vmware-config0/vmmon-only/common/vmciResource.o CC [M] /root/tmp/vmware-config0/vmmon-only/common/vmciSharedMem.o CC [M] /root/tmp/vmware-config0/vmmon-only/common/vmx86.o CC [M] /root/tmp/vmware-config0/vmmon-only/vmcore/moduleloop.o LD [M] /root/tmp/vmware-config0/vmmon-only/vmmon.o Building modules, stage 2. MODPOST 1 modules CC /root/tmp/vmware-config0/vmmon-only/vmmon.mod.o LD [M] /root/tmp/vmware-config0/vmmon-only/vmmon.ko make[1]: Leaving directory /usr/src/linux-2.6.22.18-desktop-1mdv' cp -f vmmon.ko ./../vmmon.o make: Leaving directory /root/tmp/vmware-config0/vmmon-only’ The module loads perfectly in the running kernel. Extracting the sources of the vmblock module. Building the vmblock module. Using 2.6.x kernel build system. make: Entering directory /root/tmp/vmware-config0/vmblock-only' make -C /lib/modules/2.6.22.18-desktop-1mdv/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules make[1]: Entering directory /usr/src/linux-2.6.22.18-desktop-1mdv’ CC [M] /root/tmp/vmware-config0/vmblock-only/linux/block.o Глава 5 144 CC [M] /root/tmp/vmware-config0/vmblock-only/linux/control.o CC [M] /root/tmp/vmware-config0/vmblock-only/linux/dbllnklst.o CC [M] /root/tmp/vmware-config0/vmblock-only/linux/dentry.o CC [M] /root/tmp/vmware-config0/vmblock-only/linux/file.o CC [M] /root/tmp/vmware-config0/vmblock-only/linux/filesystem.o CC [M] /root/tmp/vmware-config0/vmblock-only/linux/inode.o CC [M] /root/tmp/vmware-config0/vmblock-only/linux/module.o CC [M] /root/tmp/vmware-config0/vmblock-only/linux/stubs.o CC [M] /root/tmp/vmware-config0/vmblock-only/linux/super.o LD [M] /root/tmp/vmware-config0/vmblock-only/vmblock.o Building modules, stage 2. MODPOST 1 modules CC /root/tmp/vmware-config0/vmblock-only/vmblock.mod.o LD [M] /root/tmp/vmware-config0/vmblock-only/vmblock.ko make[1]: Leaving directory /usr/src/linux-2.6.22.18-desktop-1mdv' cp -f vmblock.ko ./../vmblock.o make: Leaving directory /root/tmp/vmware-config0/vmblock-only’ The module loads perfectly in the running kernel. Do you want networking for your virtual machines? (yes/no/help) [yes] no Вводим “NO” и нажимаем Starting VMware services: Virtual machine monitor [ OK ] Blocking file system: [ OK ] The configuration of VMware Player 2.0.0 build-45731 for Linux for this running kernel completed successfully. You can now run VMware Player by invoking the following command: “/usr/bin/vmplayer”. Enjoy, –the VMware team [root@BeardM beard]# Конфигурация завершена. Теперь, щелкнув правой кнопкой на рабочем столе, выбираем Создать кнопку запуска. В открывшемся окне вводим необходимые параметры, сре-ди которых самый важный это Команда. Вписываем vmplayer. Теперь можно указать значок кнопки запуска, выбрав vmware-player.png в папке, которая была указана при конфигурации — /usr/share/pixmaps/. Щелкнув по созданному значку, открываем окно VMware Player (рис. 5.10). Кнопка Download a Virtual Appliance приведет нас на сайт, откуда можно загрузить уже готовые виртуальные компьютеры, а кнопкой Open an existing Virtual Machine можно открыть существующую виртуальную машину, Еще о сервере 145 полученную из Интернета или созданную самостоятельно. VMware Server под Linux устанавливается аналогично. Рис. 5.10. Окно VMware Player Соблюдаем лицензии Может возникнуть вопрос — не потребуется ли для виртуальных машин по-купать отдельные лицензии на операционные системы? Ведь в правилах ли-цензирования ОС сказано: “Персональные операционные системы лицен- зируются по следующему принципу — одна лицензия на один компьютер. Не имеет значения, сколько физических лиц использует компьютер”. Но в правилах лицензирования допускается использовать Windows XP Professional на одной физической и на одной виртуальной машине. Подробно с правилами лицензирования виртуальных машин можно ознакомиться по адресу http://www.mslicense.ru/articles.php. Лицензия на Windows Server 2003 R2 Enterprise допускает одновременное использование системы не более чем на одном физическом сервере и не бо-лее чем на четырех виртуальных серверах. Это значит, что на одном физиче- Глава 5 146 ском сервере с Windows Server 2003 R2 можно установить еще четыре вирту-альных сервера с той же ОС. При этом незапущенные копии системы могут храниться в любом количестве. Ограничения есть только на одновременно работающие копии системы. По адресу http://download.microsoft.com/download/4/7/4/47415510-647d-4847-a554-b5bb33bd44af/Licensing_with_Microsoft_Virtual_Server_R2.doc можно получить документ, подтверждающий ваши права на использование операционной системы на виртуальной машине. Но в отдельных случаях вам может не хватить разрешенного числа работаю-щих копий. В этом случае вы можете использовать другие операционные системы на виртуальных машинах. Обычно это операционные системы се-мейства Linux. Но как установить и настроить систему, если у вас нет опыта работы в этих системах? И здесь есть выход. VMware предлагает на своем сайте несколько десятков готовых виртуальных машин различного назначения! Virtual Appliances Загляните на страницу http://www.vmware.com/vmtn/appliances/. На ней можно найти ссылки на готовые виртуальные машины. Virtual Appliances (Виртуальные приборы) — это уже установленные и сконфигурированные под определенные задачи системы. Browser Appliance (Виртуальный браузер) — это виртуальная операционная система, в которой при запуске по умолчанию открывается окно браузера. Автор скачал и запустил один из таких инструментов с помощью VMware Player. Результаты просто ошеломляющие (рис. 5.11)! Без особого труда уда-лось подстроить систему под часовой пояс и использование русской расклад-ки клавиатуры. Были установлены дополнительные программы: текстовый редактор и Macromedia Flash Player. Теперь, запуская эту виртуальную ма-шину, можно совершенно безопасно посещать самые рискованные участки всемирной паутины, при этом не опасаясь проблем на базовой машине. Под-ключенная флешка опозналась моментально. Любые недостающие компо-ненты при настройке сети или установке программ моментально скачиваются из Интернета и устанавливаются. Есть Virtual Appliances с почтовым сервером и фильтрами спама, MySQL- сервер, Apache-сервер, маршрутизаторы, специальный Appliance для обес-печения общего подключения к Интернету, прокси-серверы, просто уста-новленные Linux различных версий… всего не перечислишь. Это надо видеть! Еще о сервере 147 Рис. 5.11. Окно VMware Player с запущенным Browser Appliance и открытым системным меню К сожалению, многие инструменты имеют довольно большой объем, но со-временный Интернет позволяет скачивать такие объемы. Теперь, имея достаточно мощный компьютер, вы можете установить на него несколько серверов или вспомогательных систем. Можно просто своими ру-ками “потрогать” уже настроенные системы. И все это без нарушения лицен-зий, если вы имеете одну официально приобретенную ОС Windows. Виртуальные технологии в нашей сети Необходимые программы определили, с установкой разобрались. Рассмот-рим теперь применение этих программ с пользой для нас и нашей сети с уче-том особенностей рассматриваемых программ. VMware Player позволяет “проигрывать” имеющиеся у вас виртуальные маши-ны. Следовательно, его можно устанавливать на компьютеры, где не предпола- Глава 5 148 гается что-либо изменять в конфигурации виртуальной машины. Если вам определена роль администратора вашей домашней сети, то, запланировав применение виртуальной машины на каком-либо компьютере, где работает рядовой пользователь, на него можно установить эту программу. Использо-вать виртуальный компьютер сможет только локальный пользователь. Если же требуется создание своей виртуальной машины или предполагается удаленное ее администрирование (в рамках вашей сети), то необходим VM-ware Server. VMware Server имеет две составляющие. Это собственно сервер, работу ко-торого визуально вы не обнаружите, и консоль управления сервером. Кон-соль управления может быть запущена на любом компьютере сети и подклю-чена по сети к компьютеру, где установлен VMware Server. При закрытии консоли управления… виртуальный компьютер продолжает работать в неви-димом режиме. При этом с ним возможен обмен данными по сети. Если ре-сурсов реального компьютера достаточно для нормальной работы виртуаль-ного, пользователь реального компьютера может и не заметить работу виртуальной машины, мешать она не будет. VMware Server позволяет одновременно запускать более одной виртуальной машины. На современном физическом компьютере одновременно смогут ра-ботать несколько виртуальных. Виртуальные компьютеры, как и обычные, могут быть включены в вашу сеть. Независимо от того, включена консоль управления сервером или нет, в сетевом окружении компьютеры могут быть обнаружены, если их операци-онные системы загружены. Гостевые операционные системы на виртуальных компьютерах могут быть любыми. Правда, Windows Vista может работать в VMware Player и VMware Server версий 2 и выше. Текущая стабильная версия VMware Server 1.04 по-зволяет создать виртуальную машину, на которую можно установить Windows Vista, запустив эту машину в VMware Player. Два компьютера в одном Какую же пользу можно извлечь из виртуальных технологий в домашней се-ти? Начнем с самого простого. Мы уже говорили о возможности обезопасить себя от атак и вирусов из Интернета путем применения компьютера под Linux для путешествий по глобальной сети. Если у вас нет второго компью-тера, вы можете создать виртуальную машину в уже существующем. При этом не придется самостоятельно устанавливать операционную систему. Имея установленный VMware Player или VMware Server, вы можете скачать уже готовый виртуальный компьютер. Еще о сервере 149 Безопасный браузер Browser Appliance — так называется виртуальный компьютер, предназначен-ный для посещения Интернета. Его операционная система — Ubuntu Linux — вирусным заражениям практически не подвержена, работает изолированно от основного компьютера. Достаточно проверять на наличие вирусов файлы, которые вы захотите перенести с виртуального компьютера на физический, чтобы обеспечить безопасность работы в Интернете. Адрес, по которому доступен Browser Appliance — http://www.vmware.com/appliances/directory/ cat/0?k=Browser+Appliance. Перед началом скачивания архива вам будет предложено зарегистрироваться, но это не обязательно. От регистрации можно отказаться. Скачав архив, распакуйте его в любую заранее подготовленную папку. Теперь запустите VMware Player или VMware Server. Откройте сохраненную виртуальную машину. Система Browser Appliance настроена таким образом, что после загрузки сразу откроется окно интернет-браузера Firefox. Сеть уже настроена. Доступ в Интернет Browser Appliance получит через базовую ма-шину с применением преобразования адресов (NAT). Никаких маршрутиза-торов вам не потребуется. Все необходимые устройства созданы в виртуаль-ной машине. Виртуальный компьютер включен в собственную подсеть, которая не имеет прямого выхода в вашу сеть. На рис. 5.12 показано окно запущенной виртуальной машины в программе VMware Server. Никаких до-полнительных настроек не выполнялось. Единственное действие, которое выполнил автор после загрузки виртуальной системы — это ввел в адрес- ную строку браузера адрес сайта gismeteo.ru и выбрал интересующую стра-ницу на нем. Мы получили инструмент для работы в Интернете, практически изолирован-ный от базовой машины. Эта изоляция гарантирует высокий уровень безо-пасности для базового компьютера. Если вы открыли виртуальную машину в VMware Player, то получили инст-румент для безопасного посещения Интернета. Если же вы воспользовались VMware Server, то получили дополнительный компьютер, который можно настроить для работы в вашей сети, провести на нем интересующие вас экс-перименты. Причем эксперименты так же безопасны, как посещение Интернета… Если вы запутаетесь в настройках настолько, что не сможете вернуть виртуальной системе рабочее состояние, достаточно удалить файлы виртуальной машины и распаковать ее из архива заново. Глава 5 150 Рис. 5.12. Окно виртуальной машины Ubuntu Linux, запущенной в VMware Server, установленной на базовом компьютере Windows Vista Home Premium Виртуальная сеть Попробуем настроить виртуальную машину с Ubuntu Linux для работы в сети с другими нашими компьютерами. Даже если на данный момент у нас есть толь-ко один компьютер, мы можем создать маленькую сеть. Собственно, после уста-новки VMware Server и Browser Appliance у нас уже настроено две сети… Но нас интересует собственная сеть, настройки которой мы выполним самостоятельно. После установки VMware Server на вашей машине созданы дополнительные сетевые адаптеры. В окне Сетевые подключения (рис. 5.13), которое, как вы помните, может быть открыто из Центра управления сетями и общим досту-пом, вы можете увидеть все сетевые подключения вашего компьютера, включая и вновь созданные. В данном случае вновь созданные подключения VMware Network Adapter VMnet1 и VMware Network Adapter VMnet8. Эти адаптеры физически не существуют в вашем компьютере, а созданы про-граммно. Программно в VMware Server созданы DHCP- и DNS-серверы. На адаптерах VMware созданы сразу две сети, а сами адаптеры принадлежат виртуальным устройствам. Еще о сервере 151 Рис. 5.13. Окно Сетевые подключения Рис. 5.14. Окно Virtual Network Editor, вкладка Summary Глава 5 152 Откройте Virtual Network Editor (Менеджер виртуальных сетей): Пуск | Программы | VMware | VMware Server | Manager Virtual Networks. В окне Virtual Network Editor на вкладке Summary (рис. 5.14) показаны адаптеры и сервисы, которые на них работают. VMnet0 (Bridged) — адаптер базового компьютера, который может быть использован виртуальной машиной в двух вариантах. Либо, как это по умол-чанию настроено, адаптер не используется в созданных виртуальных сетях, либо используется в качестве моста для виртуального адаптера, которому можно присвоить отдельный IP-адрес в вашей сети. VMnet1 (Host-only) — виртуальный адаптер, подключенный к базо- вому компьютеру для связи с виртуальной машиной. Этот адаптер не имеет выхода в реальную внешнюю сеть, и на нем включен сервер DHCP. Сеть, связанная с этим адаптером, существует только внутри базового компью- тера. VMnet8 (NAT) — виртуальный адаптер виртуального маршрутизатора, в ко-тором настроено преобразование сетевых адресов. Это позволяет виртуаль-ному компьютеру получать доступ в Интернет через базовый компьютер, ис-пользуя его IP-адрес вместо своего. Наша задача — выполнить такие настройки виртуальной сети, чтобы вирту-альный компьютер стал частью нашей домашней сети. IP-адреса нашим ком-пьютерам присваивает DHCP-сервер модема-маршрутизатора, или мы их на-значаем сами. Значит, дополнительные адаптеры VMnet1 и VMnet8 нам не нужны. Кроме того, сетевой адаптер физического компьютера должен быть мостом для виртуального адаптера виртуального компьютера. На всякий слу-чай пролистайте вкладки окна Virtual Network Editor и запомните или за-пишите увиденные настройки. Хотя вернуть настройки по умолчанию можно, переустановив VMware Server. Для включения виртуального компьютера в реальную сеть проделайте сле-дующее: 1. Перейдите на вкладку NAT. Нажмите кнопки Stop и Применить. В результате вид окна должен полу-читься, как на рис. 5.15. 2. Перейдите на вкладку DHCP (рис. 5.16). Нажмите последовательно кнопки Stop и Применить, затем, выделяя ка-ждую строку, нажимайте кнопку Remove и Применить. На вкладке не должно остаться ни одной строки. Еще о сервере 153 3. Теперь перейдите на вкладку Host Virtual Adapters (рис. 5.17). Выделяя каждую из имеющихся в окне строк, нажимайте кнопки Disable, а затем Применить. Этим действием мы отключим не требующиеся в на-шем случае адаптеры. При желании их можно удалить совсем, если вы не планируете их использование в дальнейшем. Для этого следует нажимать кнопку Remove вместо Disable. 4. На вкладке Host Virtual Network Mapping в выпадающем списке поля VMnet0 (рис. 5.18) следует выбрать сетевой адаптер, через который базо-вый компьютер подключен к вашей сети. 5. И, наконец, на вкладке Automatic Bridging (рис. 5.19) ничего менять не надо. Опция Automatically choose an available physical network adapter to bridge to VMnet0 (Автоматический выбор доступного физического се-тевого адаптера для моста на VMnet0) уже снята автоматически после вы-бора конкретного адаптера на предыдущей вкладке. Сеть настроена. Остается запустить VMware Server Console (рис. 5.20), под-ключив ее к локальному серверу VMware Server (Local host), и поправить конфигурацию виртуальной машины. Откройте окно Virtual Machine Setting, выбрав в левой части окна команду Edit virtual machine setting (Ре-дактировать установки виртуальной машины). В открывшемся окне (рис. 5.21) установите переключатель Bridged: Con-nected directly to the physical network (Мост: подключен к физическому се-тевому адаптеру). Все. Настроена и сеть и виртуальная машина. Теперь включите виртуальный компьютер командой Start this virtual machine (рис. 5.20) и настройте сете-вое подключение на получение сетевых параметров через DHCP или устано-вите эти параметры вручную, имея в виду, что присвоенный вручную IP-адрес не должен попадать в диапазон адресов, выдаваемых DHCP-сервером. Убедиться, что виртуальный компьютер подключен к сети, можно, выпол-нив команду ping с базовой машины (рис. 5.22). Если ответов на ping нет, то проверьте все настройки, описан-ные выше. Если на виртуальном компьютере установлены все необходимые для работы в сети пакеты, через обозреватель сети можно будет увидеть доступные ре-сурсы (рис. 5.23). Правда, в данном конкретном случае, если у вас нет дист-рибутива Ubuntu 5, вы не установите эти пакеты через Интернет, поскольку поддержка этой системы прекращена. Вы можете переустановить систему на виртуальном компьютере, воспользовавшись более свежим дистрибутивом любой версии Linux. Глава 5 154 Рис. 5.15. Окно Virtual Network Editor, вкладка NAT Рис. 5.16. Окно Virtual Network Editor, вкладка DHCP Еще о сервере 155 Рис. 5.17. Окно Virtual Network Editor, вкладка Host Virtual Adapters Рис. 5.18. Окно Virtual Network Editor, вкладка Host Virtual Network Mapping Глава 5 156 Рис. 5.19. Окно Virtual Network Editor, вкладка Automatic Bridging Рис. 5.20. Окно VMware Server Console Еще о сервере 157 Рис. 5.21. Окно Virtual Machine Settings Рис. 5.22. Окно cmd.exe, выполнение команды ping Глава 5 158 Рис. 5.23. Окно Network – File Browser Запуск виртуальной машины по сети Имея в своей сети более одного физического компьютера, можно выполнять подключение к виртуальным машинам на любом из них, включать виртуаль-ные машины, выполнять их настройку. В сети автора виртуальный сервер установлен как на компьютере под управлением Windows Vista, так и на ма-шине с ASPLinux, где в качестве виртуальной системы работает Windows XP. Виртуальный сервер, установленный на любом компьютере, работает всегда. Виртуальные компьютеры, установленные на нем, могут работать, но без за-пуска консоли управления виртуальным сервером их работа может быть не видна локальному пользователю. В то же время, получая доступ к виртуаль-ному серверу по сети, вы можете управлять виртуальными компьютерами и работать на них. Посмотрим пример такой работы в сети автора. В данном случае консоль управления виртуальным сервером запускается на машине под Windows Vista, а виртуальная машина установлена на компью-тере под ASPLinux. При попытке подключения к удаленному компьютеру (Remote host), необхо-димо ввести его имя или IP-адрес, имя и пароль пользователя удаленного компьютера (рис. 5.24). Еще о сервере 159 Рис. 5.24. Окно VMware Server Console – Connect to Host Рис. 5.25. Окно VMware Server Console Глава 5 160 После ввода регистрационных данных откроется консоль управления вирту-альным сервером на удаленном компьютере (рис. 5.25). Как и при работе на локальном компьютере, мы можем выполнять любые задачи по управлению виртуальным сервером, в том числе и открыть существующую виртуальную машину (Open Existing Virtual Machine), что нам сейчас и требуется. В окне Open Virtual Machine (рис. 5.26) необходимо выбрать одну из сущест-вующих виртуальных машин. Выбираем Windows XP и нажимаем кнопку OK. Рис. 5.26. Окно Open Virtual Machine Теперь в окне (рис. 5.27) VMware Server Console появилась вкладка Windows XP Professional. Выбираем Start this virtual machine и через некоторое время видим экран входа в систему Windows XP (рис. 5.28). Процедура входа в виртуальную систему ничем не отличается от процедуры входа в реальную локальную систему. Более того, на виртуальные системы распространяются все правила лицензирования, как и на реальные. Для ис-пользования операционной системы на виртуальной машине необходимо иметь обычную лицензию. Рабочий стол виртуального компьютера может не помещаться в окне консо-ли управления на экране локального компьютера (рис. 5.29). С помощью по-лос прокрутки можно перемещать виртуальный рабочий стол в окне. Как и любой реальный компьютер, виртуальная машина работает в сети (рис. 5.30). Для всех компьютеров сети виртуальный компьютер — просто один из узлов сети. Еще о сервере 161 Рис. 5.27. Окно VMware Server Console, вкладка Windows XP Professional Рис. 5.28. Окно VMware Server Console, вкладка Windows XP Professional, экран входа в систему Глава 5 162 Рис. 5.29. Окно VMware Server Console, вкладка Windows XP Professional, экран загруженной системы Рис. 5.30. Окно VMware Server Console, вкладка Windows XP Professional, экран загруженной системы. Сетевое окружение Еще о сервере 163 Рис. 5.31. Окно VMware Server Console, вкладка Windows XP Professional, экран загруженной системы. Выключение Работая на виртуальном компьютере, следует выполнять все правила управ-ления им, как на реальном. Так, например, выключение компьютера следует выполнять через меню Пуск, как на реальной машине (рис. 5.31). Если вме-сто выключения закрыть окно консоли управления, то виртуальный компью-тер будет продолжать работать в скрытом виде. Вы сможете к нему подклю-читься снова как в удаленном, так и в локальном режиме. Задачи для виртуальной машины Виртуальная машина позволяет решать задачи, которые сложно решить при наличии только одного физического компьютера. Все большее число пользователей ПК применяют платежные системы, рабо-тающие через Интернет. Webmoney, например, — одна из самых популярных в наше время. Многие банки позволяют клиентам управлять своими счетами через Интернет. Но в большинстве случаев корректная работа таких систем возможна только под Windows. А часто под другими ОС вообще невозможно использовать эти сервисы. В Linux существуют специальные программы — эмуляторы других операционных систем. Наиболее продвинутые эмуляторы Глава 5 164 имеют определенную специализацию. Одни рассчитаны на установку игро-вых программ, разработанных для Windows, другие на использование офис-ного пакета от Microsoft, третьи позволяют запускать простые программы, такие как Блокнот, например. Виртуальная машина на основе VMware Server позволяет не эмулировать работу операционной системы, а устанавливать ее. Две операционные системы можно установить на один компьютер и без про-дуктов VMware или подобных. Но тогда потребуется двойная загрузка сис-темы. В каждый момент времени можно будет работать только с одной “опе-рационкой”. Виртуальная машина позволяет одновременно работать с двумя и более операционными системами. Если вам нравится работать в Linux, но некоторые задачи не могут быть решены в этой ОС, устанавливайте вирту-альный компьютер с Windows, и наоборот. Включив виртуальные компьюте-ры в сеть, вы можете без проблем вести обмен файлами между ними. То есть результаты работы в одой системе будут доступны программам в другой ОС. Особый интерес представляет возможность сохранять весь виртуальный компьютер в виде файлов. После продолжительной работы по настройке операционной системы на виртуальном компьютере вы можете сохранить весь этот компьютер на съемных носителях и восстановить на любом компь-ютере. Возможно и клонирование систем. Виртуальный компьютер с особы-ми настройками, необходимыми в вашей сети, можно раздавать клиентам сети для установки или восстановления после краха системы. Базовый ком-пьютер при этом может даже не быть клиентом вашей сети. Он будет лишь носителем виртуальной машины, входящей в сеть. Возможно, что вам приходится часто работать в нескольких сетях со своим ноутбуком. Иногда настройки компьютера и сетевого окружения для опреде-ленной сети (даже маленькой домашней) весьма специфичны. Если задачи, решаемые в других сетях, не требуют много ресурсов от компьютера, вы мо-жете создать и сохранить по виртуальному компьютеру на каждую сеть. Ме-няя ноутбук (приобретая новый или получая другой служебный), вам не при-дется снова выполнять настройки и установку программ. Скопируйте файлы виртуального компьютера и продолжайте работать. На новом компьютере должна быть лишь какая-нибудь операционная система, под управлением которой может работать VMware Server. В примере, рассмотренном выше в этой главе, мы подключались к виртуальному компьютеру под управлением Windows XP, который работал на базовой машине ASPLinux. Появилась не-обходимость воспользоваться этим виртуальным компьютером в другом по-мещении. Автор скопировал файлы виртуального компьютера на ноутбук под управлением Windows Vista. Не пришлось переносить в другое помеще-ние стационарный компьютер, Windows XP со всеми настройками и даже сохраненными документами была запущена с ноутбука. Еще о сервере 165 Рис. 5.32. Окно Windows XP Professional – Virtual Machine. Создание нового уникального идентификатора Во время запуска ранее созданной виртуальной машины на новом месте сис-тема спросит вас о необходимости создания нового уникального идентифи-катора виртуального компьютера (рис. 5.32). Если это перемещенная копия системы, то можно оставить идентификатор старый (Keep). Бывают ситуации, когда необходимо использовать дистрибутивные диски или диски с программами, работающими с них. Для виртуальной машины вполне подойдут образы таких дисков, сохраненные в доступной папке. Есть, конечно, определенные неудобства при работе с удаленной виртуаль-ной машиной. Нет возможности напрямую использовать CD-привод или флеш-карты. Но такие неудобства существуют и при удаленной работе с фи-зическими машинами. Виртуальный компьютер позволяет использовать для удаленной работы с ним и средства удаленной работы и удаленного админи-стрирования, которые применяются для обычных компьютеров. Например, запустив виртуальный компьютер и выйдя из консоли управления, можно использовать средства удаленного доступа для работы с этим компьютером через Интернет. Что ж, пожалуй, теперь вы имеете достаточно информации о виртуальных машинах и виртуальных серверах. Нет необходимости приоб-ретать еще один компьютер, когда требуется установить дополнительный сервер, выполняющий какую-либо специальную задачу. А опробовать идею, изучить настройки системы можно на виртуальной машине, предварительно сохранив ее копию. Глава 5 166 VMware Server 2 Эта версия виртуального сервера VMware, о которой мы упомянули в начале главы, отличается ориентированностью на веб-управление. Как локально, так и удаленно подключиться к VMware Server 2 можно через браузер Internet Explorer или Firefox. Запуск виртуальных компьютеров осуществляется все-гда в новом окне, а для обеспечения возможности запуска при первом под-ключении необходимо согласиться с установкой дополнения к браузеру. Ес-ли приходится часто обращаться к какому-либо виртуальному компьютеру, есть возможность создания ярлыка на рабочем столе Windows или значка за-пуска на рабочем столе Linux. Сервер может быть установлен как под Win-dows, так и под Linux, и гостевыми системами (виртуальными компьютера-ми) могут быть практически любые операционные системы. Применение этого сервера в локальной сети может быть оправдано, когда необходимо нескольким пользователям обеспечить доступ к виртуальным компьютерам. Это может быть полезно, когда рабочее место пользователя должно быть настроено особым образом, требующим много времени у адми-нистратора. В этом случае на VMware Server 2 путем клонирования можно быстро создать несколько виртуальных компьютеров с идентичными на-стройками. Если эти компьютеры должны обращаться к какой-либо базе данных, то и она может быть расположена на том же физическом сервере, где и VMware Server, либо на втором сервере, который находится рядом. Это позволит исключить передачу больших объемов информации по удаленным сегментам локальной сети, чем повысить надежность работы как сети, так и приложений, работающих с базой данных. В этом примере рассмотрим уже установленный на ОС CentOS 5.1 VMware Server 2. Описание установки для первой версии этого сервера, которое приведе-но уже в этой главе, вполне подходит и в данном случае. Подключение к серверу в примере выполняется с компьютера с Windows Vista. Для подключения в ад-ресной строке браузера необходимо ввести https://:8333. После процедуры авторизации откроется страница VMware Infrastructure Web Access (рис. 5.33). С этой страницы можно выполнять все действия по администрированию вир-туальных машин и самого сервера. Есть возможность установить права дос-тупа не только к серверу, но и к каждой виртуальной машине. Все учетные записи должны быть предварительно внесены в список учетных записей пользователей базовой машины. Если пользователь, подключаясь к серверу, авторизуется с именем, которому открыт доступ только к одному виртуаль-ному компьютеру, то другие виртуальные компьютеры будут ему недоступны. Еще о сервере 167 Он их просто не увидит. Для своего виртуального компьютера пользователь может создать ярлык. Для этого следует выбрать в разделе Commands пункт меню Create Virtual Machine Shortcut. Ярлык будет создан на рабочем сто-ле, и при щелчке мышью по нему виртуальный компьютер будет открываться в отдельном окне, а если он был до этого выключен, то включится. Все включенные компьютеры помечены зеленой стрелкой (рис. 5.33). Рис. 5.33. Окно браузера VMware Infrastructure Web Access Создавая виртуальные компьютеры, можно подключать к ним образы CD/DVD-дисков. Если это образы дисков с дистрибутивом, то установку сис-темы можно производить удаленно. Следует только иметь в виду, что для обеспечения нормального быстродействия число одновременно запущенных виртуальных компьютеров не должно превышать число ядер всех процессо-ров базовой машины, умноженное на четыре. Рассмотрим пример работы с виртуальной машиной, на которую устанавли-вается ОС CentOS. Для запуска и открытия виртуального компьютера доста-точно, перейдя на вкладку Console (рис. 5.34), щелкнуть по надписи Open the console in new window (Открыть консоль в новом окне) или по заранее созданному ярлыку. Глава 5 168 Рис. 5.34. Окно браузера VMware Infrastructure Web Access Console Рис. 5.35. Окно VMware CentOS Remote Console Еще о сервере 169 При этом откроется окно (рис. 5.35) с изображением рабочего стола вирту-ального компьютера или того экрана, который открыт на виртуальном ком-пьютере. Закрытие окна виртуального компьютера не останавливает его ра-боту, поэтому пользователи могут не выключать свои виртуальные машины и подключаться каждый раз, продолжая прерванную работу. В данном случае мы видим экран установки системы. Вы можете воспользоваться этой виртуальной системой для экспериментов с настройкой сервера. Нет необходимости переустанавливать и перенастраи-вать базовую машину, если вы еще не уверены в результате. Отработав все настройки на виртуальной машине, вы можете их использовать и на реальной. OpenVPN Это одна из часто встречающихся задач при создании соединения между удаленными компьютерами через Интернет. Есть много описаний решения такой задачи, но одно из самых полных и понятных найдено на сайте http://www.sys-adm.org.ua. Его автор — Доморадов Алексей из Украины. В данном случае задача решается на базе ОС CentOS 5.2, которую мы можем применить на сервере. Чтобы не изобретать велосипед, приведем это описа-ние с незначительными сокращениями. Описания встречающихся команд можно посмотреть в приложении. Внимательно воспроизводя приведенные в статье рекомендации, вам необходимо только заменять фактические имена, адреса, названия страны и города на свои. Cоздание туннеля point to point Передо мной была поставлена задача — обеспечить безопасную работу поль-зователей, которые работают на удаленном сервере терминалов с помощью стандартного клиента RDP — “Подключение к удаленному рабочему столу”. Под безопасностью будем понимать шифрование передаваемых данных ме-жду сервером и клиентом. Также неплохо было бы сжимать данные для эко-номии трафика и разгрузки канала. Для лучшего понимания задачи далее прилагается ее схема (рис. 5.36). Нам надо обеспечить подключение клиентов из харьковского филиала к сер-веру терминалов, расположенному в киевском офисе. Сервер терминалов имеет статический адрес 192.168.1.2/24. На системах Linux, пожалуй, самым распространенным ПО для реализации таких задач является OpenVPN. Это полноценный SSL VPN, который реализует сетевые расширения безопасно-сти OSI уровня 2 и 3, используя индустриальный стандарт — протокол SSL/TLS. Поддерживает множество методов аутентификации клиентов, ос-нованных на сертификатах, смарт-картах, логине/пароле. Глава 5 170 Рис. 5.36. Схема задачи OpenVPN — мощный и очень гибкий VPN-демон. Он поддерживает безопас-ность SSL/TLS, Ethernet bridging, туннельный транспорт TCP или UDP через прокси или NAT, поддерживает динамические IP-адреса и DHCP, масштаби-руемость до сотни или тысяч пользователей, портирован на все основные платформы и ОС. Ниже приведен список поддерживаемых платформ. Linux 2.2 и более поздние версии Solaris OpenBSD 3.0 и более поздние версии Mac OS X Darwin FreeBSD NetBSD Windows 2000 и более поздние версии Итак, у нас имеются следующие системы (команды в окне терминала): # uname -r 2.6.18-53.1.4.el5 # cat /etc/redhat-release CentOS release 5 (Final) На обоих серверах, как в Киеве, так и в Харькове, установлены одинаковые ОС — CentOS-5.1. В принципе, ОС не имеет особого значения, но крайне же-лательно, чтобы на концах туннеля использовались одинаковые версии OpenVPN. Еще о сервере 171 Установка OpenVPN К сожалению, данный пакет отсутствует в официальном репозитории RHEL/CentOS. Так что вам придется либо устанавливать с других репозито-риев, либо собрать RPM-пакеты из src.rpm. Если вы хотите использовать сжатие данных, то перед началом сборки OpenVPN надо будет собрать и ус-тановить пакет LZO. # rpm -ivh http://www.sys-adm.org.ua/srpms/lzo-2.02-2.src.rpm # cd /usr/src/redhat/SPECS # rpmbuild -ba –target=i686 lzo.spec Building target platforms: i686 Building for target i686 Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.9651 + umask 022 … … … Wrote: /usr/src/redhat/SRPMS/lzo-2.02-2.src.rpm Wrote: /usr/src/redhat/RPMS/i686/lzo-2.02-2.i686.rpm Wrote: /usr/src/redhat/RPMS/i686/lzo-devel-2.02-2.i686.rpm Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.61481 + umask 022 + cd /usr/src/redhat/BUILD + cd lzo-2.02 + rm -rf /var/tmp/lzo-2.02-2-root-root + exit 0 После успешной сборки устанавливаем пакет # cd /usr/src/redhat/RPMS/i686/ # rpm -ivh lzo-2.02-2.i686.rpm lzo-devel-2.02-2.i686.rpm Preparing…########################################### [100%] 1:lzo########################################### [ 50%] 2:lzo-devel########################################### [100%] Теперь у нас все готово и мы можем собирать сам OpenVPN. # rpm -ivh http://www.sys-adm.org.ua/srpms/openvpn-2.0.9-1.src.rpm # cd /usr/src/redhat/SPECS # rpmbuild -ba –target=i686 openvpn.spec Building target platforms: i686 Building for target i686 Глава 5 172 Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.95164 + umask 022 … … … Wrote: /usr/src/redhat/SRPMS/openvpn-2.0.9-1.src.rpm Wrote: /usr/src/redhat/RPMS/i686/openvpn-2.0.9-1.i686.rpm Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.2390 + umask 022 + cd /usr/src/redhat/BUILD + cd openvpn-2.0.9 + ‘[’ /var/tmp/openvpn-root ‘!=’ / ‘]’ + rm -rf /var/tmp/openvpn-root + exit 0 После успешной сборки устанавливаем пакет # cd /usr/src/redhat/RPMS/i686/ # rpm -ivh openvpn-2.0.9-1.i686.rpm Preparing…########################################### [100%] 1:openvpn########################################### [100%] На этом установку необходимого ПО можно считать завершенной, теперь переходим непосредственно к настройке. Создание и инициализация PKI Так как для шифрования туннеля мы будем использовать TLS (SSL/TLS плюс сертификаты для аутентификации и обмена ключей) и pre-shared static key, то сначала создадим все необходимые нам ключи и сертификаты. Как это сделать, вы можете прочитать в статье “SSL Howto” (http://sys-adm.org.ua/security/ssl-howto.php. Также в составе самого OpenVPN идет набор скриптов существенно облегчающих создание всех необходимых клю-чей и сертификатов. Вот именно этими скриптами мы и воспользуемся. Прежде всего, инициализируем PKI (public key infrastructure) # cd /usr/share/doc/openvpn-2.0.9/ # cp -R easy-rsa/ /etc/openvpn/ В документации к OpenVPN рекомендуют делать именно полную копию папки easy-rsa в другое место, например /etc/openvpn. И производить все из-менения в этой локальной копии, чтобы при обновлении версии OpenVPN ваши изменения не пропали. Перед началом работы определим значе- ние некоторых переменных, облегчающих процесс создания сертификатов. Еще о сервере 173 Для этого правим файл /etc/openvpn/easy-rsa/vars. В нем хранятся значения по умолчанию. # /etc/openvpn/easy-rsa/vars | grep -v ^# | grep -v ^$ export D=pwd export KEY_CONFIG=$D/openssl.cnf export KEY_DIR=$D/keys echo NOTE: when you run ./clean-all, I will be doing a rm -rf on $KEY_DIR export KEY_SIZE=2048 export KEY_COUNTRY=UA export KEY_PROVINCE=Ukraine export KEY_CITY=Kharkov export KEY_ORG=“SysAdm” export KEY_EMAIL=“hostmaster@sys-adm.org.ua” После этого инициализируем наши переменные # cd /etc/openvpn/easy-rsa/ # . ./vars # ./clean-all После того как мы произвели первоначальную подготовку, переходим непо-средственно к созданию самих сертификатов. Вначале нам надо создать кор-невой CA (root CA), с помощью которого мы будем подписывать все наши сертификаты. # ./build-ca Generating a 2048 bit RSA private key ………++++++ ……++++++ writing new private key to ‘ca.key’ —– You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter ‘.’, the field will be left blank. —– Country Name (2 letter code) [UA]: State or Province Name (full name) [Ukraine]: Locality Name (eg, city) [Kharkov]: Глава 5 174 Organization Name (eg, company) [SysAdm]: Organizational Unit Name (eg, section) []:SysAdm Security Center Common Name (eg, your name or your server’s hostname) []:Root CA Email Address [hostmaster@sys-adm.org.ua]: После того как мы создали root CA, теперь генерируем ключ и сертификат для сервера. # ./build-key-server gw1-kv.sys-adm.org.ua Generating a 2048 bit RSA private key ……………………++++++ ………………..++++++ writing new private key to ‘gw1-kv.sys-adm.org.ua.key’ —– You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter ‘.’, the field will be left blank. —– Country Name (2 letter code) [UA]: State or Province Name (full name) [Ukraine]: Locality Name (eg, city) [Kharkov]:Kiev Organization Name (eg, company) [SysAdm]: Organizational Unit Name (eg, section) []:Kiev VPN Server Common Name (eg, your name or your server’s hostname) []:gw1-kv.sys-adm.org.ua Email Address [hostmaster@sys-adm.org.ua]: Please enter the following ’extra’ attributes to be sent with your certificate request A challenge password []:1234567 An optional company name []:www.sys-adm.org.ua Using configuration from /etc/openvpn/easy-rsa/openssl.cnf Check that the request matches the signature Signature ok The Subject’s Distinguished Name is as follows countryName :PRINTABLE:‘UA’ stateOrProvinceName :PRINTABLE:‘Ukraine’ Еще о сервере 175 localityName:PRINTABLE:‘Kiev’ organizationName:PRINTABLE:‘SysAdm’ organizationalUnitName:PRINTABLE:‘Kiev VPN Server’ commonName:PRINTABLE:‘gw1-kv.sys-adm.org.ua’ emailAddress:IA5STRING:‘hostmaster@sys-adm.org.ua’ Certificate is to be certified until Mar5 20:04:49 2018 GMT (3650 days) Sign the certificate? [y/n]:y 1 out of 1 certificate requests certified, commit? [y/n]y Write out database with 1 new entries Data Base Updated Теперь генерируем ключ и сертификат для второй точки нашего туннеля. # ./build-key gw1-kh.sys-adm.org.ua Generating a 2048 bit RSA private key ………………….++++++ ……++++++ writing new private key to ‘gw1-kh.sys-adm.org.ua.key’ —– You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter ‘.’, the field will be left blank. —– Country Name (2 letter code) [UA]: State or Province Name (full name) [Ukraine]: Locality Name (eg, city) [Kharkov]: Organization Name (eg, company) [SysAdm]: Organizational Unit Name (eg, section) []:Kharkov VPN Server Common Name (eg, your name or your server’s hostname) []:gw1-kh.sys-adm.org.ua Email Address [hostmaster@sys-adm.org.ua]: Please enter the following ’extra’ attributes to be sent with your certificate request A challenge password []:1234567 An optional company name []:www.sys-adm.org.ua Глава 5 176 Using configuration from /etc/openvpn/easy-rsa/openssl.cnf Check that the request matches the signature Signature ok The Subject’s Distinguished Name is as follows countryName :PRINTABLE:‘UA’ stateOrProvinceName :PRINTABLE:‘Ukraine’ localityName:PRINTABLE:‘Kharkov’ organizationName:PRINTABLE:‘SysAdm’ organizationalUnitName:PRINTABLE:‘Kharkov VPN Server’ commonName:PRINTABLE:‘gw1-kh.sys-adm.org.ua’ emailAddress:IA5STRING:‘hostmaster@sys-adm.org.ua’ Certificate is to be certified until Mar5 20:08:15 2018 GMT (3650 days) Sign the certificate? [y/n]:y 1 out of 1 certificate requests certified, commit? [y/n]y Write out database with 1 new entries Data Base Updated ПРИМЕЧАНИЕ Отличие скриптов build-key и build-key-server заключа-ется в том, что при генерации сертификата с помощью срипта build-key-server мы указываем дополнительную секцию в openssl.cnf — [server]. В данной секции мы добавляем в наш будущий сертификат поле nsCertType=server. Данный метод позволяет бороться с т. н. “Man-in-the-Middle”-атаками. Если вы создавали сертификаты, используя статью “SSL Howto”, то перед созданием сертификата для сервера вам необходимо будет отредактировать ваш openssl.cnf и добавить в самый конец следующие строки. [ server ] basicConstraints=CA:FALSE nsCertType = server nsComment = “Kiev VPN Server Certificate” subjectKeyIdentifier=hash authorityKeyIdentifier=keyid,issuer:always А при генерации самого сертификата использовать следующую команду: # openssl ca -out gw1-kv.sys-adm.org.ua.crt -config ./openssl.cnf \ -infiles gw1-kv.sys-adm.org.ua.csr -extensions server Теперь генерируем так называемые параметры Диффи — Хеллмана, которые будут использоваться только на стороне сервера. # ./build-dh Generating DH parameters, 1024 bit long safe prime, generator 2 Еще о сервере 177 This is going to take a long time … … … И последнее, что нам осталось сделать — это сгенерировать static pre-shared key. # openvpn –genkey –secret secret.key В табл. 5.1 указано, где используются ключи и сертификаты, которые мы создали. Таблица 5.1. Использование ключей и сертификатов Имя файла Кем используется Назначение Защита ca.crt сервер и клиент Root CA certificate Нет ca.key только на машине, про-изводящей подпись сер-тификатов Root CA key Да dh1024.pem только сервер Параметры Diffie Hellman’a Нет secret.key сервер и клиент Shared secret key Нет gw1-kv.sys-adm.org.ua.crt только сервер Server Certificate Нет gw1-kv.sys-adm.org.ua.key только сервер Server Key Да gw1-kh.sys-adm.org.ua.crt только клиент Client Certificate Нет gw1-kh.sys-adm.org.ua.key только клиент Client Key Да Настройка OpenVPN При запуске демона OpenVPN он считывает файлы с расширением conf из папки /etc/openvpn. Имя файла не имеет значения. Поэтому мы создаем соб-ственный конфигурационный файл со следующим содержимым на стороне сервера: # cat /etc/openvpn/kiev-kharkov.conf | grep -v ^$ dev tun local 82.207.89.100 ifconfig 10.3.0.1 10.3.0.2 Глава 5 178 port 1194 proto udp user nobody group nobody comp-lzo ping 15 ping-restart 45 persist-key persist-tun log /var/log/openvpn.log status /var/log/openvpn-status.log verb 3 tls-server ca ca.crt cert gw1-kv.sys-adm.org.ua.crt key gw1-kv.sys-adm.org.ua.key dh dh1024.pem tls-auth secret.key 0 Также копируем следующие файлы в папку /etc/openvpn и выставляем необ-ходимые права. ca.crt, secret.key, dh1024.pem, gw1-kv.sys-adm.org.ua.crt, gw1-kv.sys-adm.org.ua.key # cd /etc/openvpn/ # chmod 600 ca.crt secret.key dh1024.pem # chmod 600 gw1-kv.sys-adm.org.ua.crt # chmod 600 gw1-kv.sys-adm.org.ua.key Производим аналогичную процедуру и на стороне клиента. Создаем собст-венный конфигурационный файл со следующим содержимым: # cat /etc/openvpn/kharkov-kiev.conf | grep -v ^$ dev tun remote 82.207.89.100 ifconfig 10.3.0.2 10.3.0.1 port 1194 proto udp user nobody group nobody Еще о сервере 179 comp-lzo ping 15 ping-restart 45 persist-tun persist-key log /var/log/openvpn.log status /var/log/openvpn-status.log verb 3 tls-client ca ca.crt cert gw1-kh.sys-adm.org.ua.crt key gw1-kh.sys-adm.org.ua.key tls-auth secret.key 1 ns-cert-type server Копируем следующие файлы в папку /etc/openvpn и выставляем необходи-мые права. ca.crt, secret.key, gw1-kh.sys-adm.org.ua.crt, gw1-kh.sys-adm.org.ua.key # cd /etc/openvpn/ # chmod 600 ca.crt secret.key # chmod 600 gw1-kh.sys-adm.org.ua.crt # chmod 600 gw1-kh.sys-adm.org.ua.key На этом настройку OpenVPN можно считать завершенной. Осталось только запустить сам демон на обоих серверах и настроить автоматический запуск при старте системы. Выполняем следующие команды на стороне сервера [root@gw1-kv openvpn]# chkconfig –level 35 openvpn on [root@gw1-kv openvpn]# service openvpn start Starting openvpn:[OK] И на стороне клиента [root@gw1-kh openvpn]# chkconfig –level 35 openvpn on [root@gw1-kh openvpn]# service openvpn start Starting openvpn:[OK] При этом в системе должен был появиться новый интерфейс — tun0 # ifconfig tun0 tun0Link encap:UNSPECHWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 Глава 5 180 inet addr:10.3.0.2P-t-P:10.3.0.1Mask:255.255.255.255 UP POINTOPOINT RUNNING NOARP MULTICASTMTU:1500Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100 RX bytes:0 (0.0 b)TX bytes:0 (0.0 b) На данный момент сервер и клиент должны “видеть” друг друга. Для провер-ки воспользуемся командой ping [root@gw1-kh log]# ping -c 4 10.3.0.1 PING 10.3.0.1 (10.3.0.1) 56(84) bytes of data. 64 bytes from 10.3.0.1: icmp_seq=1 ttl=64 time=1.86 ms 64 bytes from 10.3.0.1: icmp_seq=2 ttl=64 time=1.06 ms 64 bytes from 10.3.0.1: icmp_seq=3 ttl=64 time=2.07 ms 64 bytes from 10.3.0.1: icmp_seq=4 ttl=64 time=2.85 ms — 10.3.0.1 ping statistics — 4 packets transmitted, 4 received, 0% packet loss, time 3002ms rtt min/avg/max/mdev = 1.062/1.964/2.854/0.639 ms [root@gw1-kv log]# ping -c4 10.3.0.2 PING 10.3.0.2 (10.3.0.2) 56(84) bytes of data. 64 bytes from 10.3.0.2: icmp_seq=1 ttl=64 time=4.18 ms 64 bytes from 10.3.0.2: icmp_seq=2 ttl=64 time=1.12 ms 64 bytes from 10.3.0.2: icmp_seq=3 ttl=64 time=2.09 ms 64 bytes from 10.3.0.2: icmp_seq=4 ttl=64 time=2.11 ms — 10.3.0.2 ping statistics — 4 packets transmitted, 4 received, 0% packet loss, time 3000ms rtt min/avg/max/mdev = 1.128/2.378/4.184/1.116 ms Для того чтобы работал доступ к серверу терминалов, необходимо внести некоторые изменения в firewall. Далее я приведу лишь минимальный набор команд, необходимый для проверки работы нашего туннеля. Будем считать, что форвардинг включен на обоих серверах и политика по умолчанию во всех цепочках — ACCEPT. На стороне клиента выполняем следующую команду: # iptables -t nat -A POSTROUTING -s 192.168.127.0/255.255.255.0 -o tun0 -j SNAT –to-source 10.3.0.2 А на стороне сервера выполняем следующую команду: # iptables -t nat -A PREROUTING -p tcp -i tun0 -d 10.3.0.1 –dport 3389 -j DNAT –to-destination 192.168.1.2:3389 Еще о сервере 181 Теперь запускаем клиента подключения к удаленному рабочему столу на любой машине в харьковском офисе и в строке адреса набираем 10.3.0.1. Ес-ли вы все правильно настроили, то вы должны соединиться с сервером тер-миналов. Мы можем сделать так, что подсети 192.168.1.0/24 и 192.168.127.0/24 будут видеть друг друга “напрямую”. Для этого достаточно на каждом из шлюзов прописать маршрут в соответствующую подсеть. Прописываем маршрут в подсеть 192.168.127.0/24 на стороне сервера [root@gw1-kv log]# route add -net 192.168.127.0/24 gw 10.3.0.2 [root@gw1-kv log]# route -n | grep tun0 10.3.0.20.0.0.0 255.255.255.255 UH000 tun0 192.168.127.0 10.3.0.2255.255.255.0 UG000 tun0 А на стороне клиента прописываем маршрут в подсеть 192.168.1.0/24 [root@gw1-kh log]# route add -net 192.168.1.0/24 gw 10.3.0.1 [root@gw1-kh log]# route -n | grep tun0 10.3.0.10.0.0.0 255.255.255.255 UH000 tun0 192.168.1.0 10.3.0.1255.255.255.0 UG000 tun0 Теперь производим проверку “видимости” подсети 192.168.127.0/24 с по- мощью команды ping. Для этого на стороне сервера выполняем следующую команду: [root@gw1-kv log]# ping -c 4 192.168.127.2 PING 192.168.127.2 (192.168.127.2) 56(84) bytes of data. 64 bytes from 192.168.127.2: icmp_seq=1 ttl=127 time=2.43 ms 64 bytes from 192.168.127.2: icmp_seq=2 ttl=127 time=2.06 ms 64 bytes from 192.168.127.2: icmp_seq=3 ttl=127 time=1.81 ms 64 bytes from 192.168.127.2: icmp_seq=4 ttl=127 time=2.65 ms — 192.168.127.2 ping statistics — 4 packets transmitted, 4 received, 0% packet loss, time 3003ms rtt min/avg/max/mdev = 1.810/2.240/2.653/0.326 ms Ну и для чистоты совести производим проверку “видимости” подсети 192.168.1.0/24 с помощью команды ping. Для этого на стороне клиента вы-полняем следующую команду: [root@gw1-kh log]# ping -c 4 192.168.1.2 PING 192.168.1.2 (192.168.1.2) 56(84) bytes of data. 64 bytes from 192.168.1.2: icmp_seq=1 ttl=127 time=4.70 ms 64 bytes from 192.168.1.2: icmp_seq=2 ttl=127 time=1.93 ms 64 bytes from 192.168.1.2: icmp_seq=3 ttl=127 time=1.75 ms Глава 5 182 64 bytes from 192.168.1.2: icmp_seq=4 ttl=127 time=2.65 ms — 192.168.1.2 ping statistics — 4 packets transmitted, 4 received, 0% packet loss, time 2997ms rtt min/avg/max/mdev = 1.752/2.761/4.705/1.173 ms Теперь любой клиент из подсети 192.168.127.0/24 сможет попасть на сервер терминалов, находящийся в подсети 192.168.1.0/24, просто указав в строке адреса 192.168.1.2. К сожалению, при такой настройке в сетевом окружении клиентов Windows вы не сможете использовать NetBIOS имена компьютеров, а только их IP-адреса. Если вам необходим данный функционал, то на одной из сторон можно поднять WINS-сервер. Или настроить VPN в режиме моста. На этом настройку нашей системы можно считать завершенной. О чем не сказано… Мы не рассматривали в этой главе сервер LDAP (Lightweight Directory Access Protocol — облегченный протокол доступа к каталогам). Вероятно, для описания Linux-сервера, содержащего все необходимые в сети службы, потребовалась бы целая книга. Во всяком случае, даже описание настройки почтового сервера в различных вариантах установки может занять большую главу. А если требуется сервер, который заменит Windows AD, придется согласовывать работу LDAP, Samba, Postfix, возможно, и других серверов. Можно почитать о настройке такого сервера в незавершенной, по всей видимости, статье по адресу http://freesource.info/wiki/AltLinux/ Dokumentacija/OpenLDAP?v=19no&. Материалов по настройке такого сер-вера в Интернете появляется все больше, а разработчики пытаются создавать графические интерфейсы для него, позволяющие эффективно им управлять. Одна из последних разработок — Mandriva DS. Но пока, при отсутствии дос-таточного опыта в настройке серверных служб, трудно найти доступные для понимания начинающего материалы, чтобы самостоятельно настроить сер-вер, который заменит контроллер домена Windows. Тем не менее, если вы решились применить в вашей небольшой сети Linux-сервер, начните с мало-го. Настройте самые необходимые в вашей сети службы и… приступайте к экспериментам, которые лучше проводить на отдельном компьютере. Пока сеть небольшая, можно обойтись без централизованного хранилища пара-метров доступа к ресурсам сети. Но кто знает, что нас ждет впереди? Глава 6 Средства администратора малой сети Задачи администрирования часто выполняются в консольном режиме. Но есть и графические утилиты, с помощью которых также можно выпол-нить значительное число операций, связанных с администрированием рабочих станций, серверов и сети. Пока еще состав графических средств администри-рования Linux и их вид может отличаться от дистрибутива к дистрибутиву. Отличительной особенностью консольных команд является возможность их запуска в конвейерном режиме, когда результат работы одной программы передается другой программе для дальнейшей обработки. Это позволяет вы-полнять достаточно сложные команды, которые в Windows могут быть вы-полнены только с помощью специально написанных программ. В то же вре-мя, графические средства позволяют получить данные в наглядном виде и не требуют запоминания консольных команд. Рассмотрим несколько полезных для администратора утилит как для консольного режима, так и с графиче-ским интерфейсом. Утилиты для контроля состояния рабочих станций и серверов Эти утилиты применяются для обслуживания рабочих станций и серверов. Несмотря на то что Linux изначально создавалась для работы в сети, есть па-раметры, которые следует настраивать независимо от того, работает компью-тер в локальной сети или он подключен к Интернету, или вообще не подклю-чен ни к какой сети. Последний вариант встречается в наше время довольно редко. Рабочая станция, имеющая модемное подключение к Интернету, большую часть времени работает без сети. Есть компьютеры, которые вы-полняют специфические задачи, при выполнении которых необходимо обес-печить максимальный уровень защиты информации. В этом случае машину вообще не подключают к Интернету и к сети. В практике работы автора Глава 6 184 такие рабочие места встречались. Обмен информацией с другими машинами был возможен только через съемные носители информации, подлежавшие строгому учету. Но администрирование таких рабочих станций все равно необходимо. Пользователь должен получить соответствующее его задачам рабочее окружение, а состояние системы должно контролироваться, чтобы исключить возможность случайной потери данных и обеспечить актуаль-ность версий программ пользователя. Конечно, Linux очень стабильная система. Практика показывает, что при грамотном обслуживании Linux значительно стабильнее Windows. Если сер-веры Windows в последние годы начали работать достаточно стабильно, то рабочая станция Windows обычно не выдерживает непрерывной работы в течение нескольких дней без потери производительности. Операционные системы семейства Linux могут работать на рабочей станции месяцами без перезагрузок. Если в домашних условиях такая работа компьютера не так уж необходима (если только на вашем компьютере не работает какой-нибудь веб-сервер для вашей сети), то в условиях предприятий возможны ситуации, когда рабочая станция не выключается практически никогда. Рабочие места диспетчеров, управляющих производственными процессами или движением транспортных средств, предполагают непрерывную работу в течение дли-тельного времени. Пользователи передают друг другу смену, а на экране компьютера продолжается отображение текущей ситуации, которая требует постоянного внимания оператора. На таких рабочих местах Linux позволит увеличить время непрерывной работы, уменьшить время, необходимое для обслуживания рабочей станции. Тем не менее, как уже было отмечено, тре-буется грамотное администрирование системы. Представляет интерес тот факт, что Linux всегда может быть доступен для администратора по сети. Современные Windows-системы для рабочих стан-ций тоже могут обслуживаться удаленно, но в небольших простых сетях час-то удобнее проводить процедуры обслуживания через графический интер-фейс пользователя. При этом рабочие станции Windows без применения специальных программ не позволяют одновременную работу удаленного и локального пользователя — а Linux позволяет это делать. Локальный пользо-ватель может и не знать, что к его компьютеру подключился администратор. Способы удаленного управления и администрирования Для удаленного администрирования Linux есть несколько способов. Это и применение различных вариантов сервера VNC на рабочей станции, и ис-пользование подключения SSH, которое позволяет удаленно запускать даже программы с графическим интерфейсом, XDMCP и др. Средства администратора малой сети 185 XDMCP XDMCP (X Display Manager Control Protocol) позволяет подключаться к уда-ленному компьютеру не только для администрирования, но и просто для ра-боты на нем, как на сервере терминалов. Следует только учесть, что защи-щенность такого подключения не высока, и его можно применять лишь в вашей локальной сети. Подключения через Интернет по протоколу XDMCP небезопасны. Тем не менее, в локальной сети, которая защищена от несанк-ционированного доступа извне, такое подключение может быть использова-но с успехом. Чтобы обеспечить возможность такого подключения, во всех версиях Linux есть графический интерфейс. Так, например, в CentOS 5.3, пройдя по пути Параметры | Администрирование | Экран входа в систему, вы откроете окно Параметры окна входа в систему (рис. 6.1), в котором на вкладке Удаленный вход достаточно выбрать режим удаленного входа в поле со списком Стиль. По умолчанию удаленный вход запрещен. Если вы хотите ограничить число одновременных удаленных входов, достаточно нажать кнопку Настроить XDMCP и указать в соответствующем поле открывшей- ся формы требуемое число. В CentOS по умолчанию разрешено 16 под- ключений. Как и в Windows, не следует пытаться точно запоминать описанные опера-ции. Важнее понять их смысл. От дистрибутива к дистрибутиву наименова-ния пунктов меню и содержание форм могут несколько отличаться. Пройди-те по другим вкладкам этого окна и посмотрите, какие параметры вас могут заинтересовать. Возможно, вы захотите разрешить удаленный вход для ад-министратора системы, это можно сделать на вкладке Безопасность. Во всех версиях Linux, используя для удаленного входа учетную запись, от-личающуюся от учетной записи локального пользователя, вы подключитесь к рабочему столу, которого локальный пользователь видеть не будет. Подключиться удаленно к системе по протоколу XDMCP проще всего, ис-пользуя стандартную для всех современных версий Linux программу Клиент Терминального сервера (рис. 6.2). Этот клиент поддерживает возможность подключения к удаленной системе по нескольким распространенным протоколам: RDP, RDPv5, VNC, XDMCP, ICA, и можете всегда им воспользоваться. В частности, настройка подключе-ния к терминалу Windows выполняется привычным для пользователей Windows способом. Глава 6 186 Рис. 6.1. Окно Параметры окна входа в систему Рис. 6.2. Окно Клиент Терминального сервера Средства администратора малой сети 187 VNC В некоторых случаях администратору может потребоваться подключение к рабочему столу пользователя. В этом случае достаточно использовать стан-дартный для всех Linux способ подключения посредством VNC (Virtual Network Computing). По умолчанию во все дистрибутивы включен сервер и клиент VNC. Пройдя по пути Параметры | Удаленный рабочий стол, вы откроете форму Параметры удаленного рабочего стола (рис. 6.3). Рис. 6.3. Окно Параметры удаленного рабочего стола Все параметры доступа, которые можно выбрать в этом окне, понятны без лишних объяснений. Подключиться к удаленной системе можно посредством Клиента Терминального сервера, рассмотренного ранее, или из командной строки, введя команду vncviewer . SSH Это стандартный для Linux способ удаленного запуска программ. Администри-руя удаленную систему, вы можете выполнить необходимые команды как в кон-сольном режиме, так и в графическом. Этот способ удаленного доступа требует более углубленного знания системы. Настройка его не всегда проста. По ссылке http://freesource.info/wiki/AltLinux/Dokumentacija/NastrojjkaSSH?v=9xm& вы можете прочитать о настройках сервера и клиента. Если терпения у вас хва-тит, то вы получите очень хороший инструмент как для администрирования, так и просто для организации удаленного доступа к системам Linux. Причем Глава 6 188 для Windows есть два приложения, которые позволяют Windows-клиентам использовать SSH для подключения к удаленным компьютерам Linux. По-ищите в Интернете информацию о работе с программами PuTTY и Xming. Уверен, что они вам понравятся. При первоначальном знакомстве с SSH для обеспечения возможности запус-ка графических приложений в удаленном режиме следует соблюсти некото-рые условия. Управление процессами На рабочих станциях и серверах нередко возникает необходимость выяснить, какие процессы запущены, какие файлы с ними связаны, остановить процесс, работающий не корректно. В Windows для выполнения подобных задач есть Диспетчер задач, имеющий весьма ограниченные возможности, и утилиты сторонних разработчиков. В Linux все средства для управления процессами есть в каждом дистрибутиве. Управлять процессами пользователь может в соответствии со своими права-ми в системе. Суперпользователь имеет неограниченные права, а рядовой пользователь может управлять процессами, которыми он владеет. Для про-смотра и управления процессами есть несколько команд, из которых чаще всего применяются top и ps. Команда top выводит на экран (рис. 6.4) список запущенных процессов в реальном времени, обновляя картину каждые три секунды. В этом окне мы можем увидеть информацию о времени работы компьютера (в заголовке), числе пользователей, работающих в системе, числе запущен-ных процессов, загруженности процессора и памяти. Под заголовком — пе-речень процессов, который можно сортировать по различным признакам: + — сортировка по PID; + — сортировать процессы по возрасту; + — сортировать процессы по использованию ЦПУ; + — сортировать процессы по использованию памяти; + — сортировка по времени выполнения. На рис. 6.5 показано окно терминала GNOME, запущенное пользователем user1. Идентификатор этого процесса (PID) 15494. Также можно увидеть процессы, запущенные другими пользователями. Например, пользователь beard использует firefox (PID 4298). Более подробно о команде можно прочи-тать в справке по команде и в Интернете, например по ссылке http://www.linuxcenter.ru/lib/books/kostromin/gl_08_04.phtml. Средства администратора малой сети 189 Рис. 6.4. Окно терминала со списком запущенных процессов, выведенных командой top Рис. 6.5. Окно терминала со списком запущенных процессов, выведенных командой ps Глава 6 190 Рис. 6.6. Окно терминала со списком запущенных процессов, выведенных командой ps -ef | grep firefox Команда ps с аргументами -ef (рис. 6.5) выводит весь перечень процессов в системе. На рисунке конец списка занимает всю площадь окна терминала. Для того чтобы вывести на экран информацию только об интересующих процессах, можно применять другие опции, о которых можно узнать из справки по команде, или дополнительные команды. На рис. 6.6 команда ps –ef была выполнена совместно с командой grep firefox, которая из всего пото-ка вывода команды ps выбирает строки со словом firefox. Теперь в списке только пять строк. В последней строке информация о только что запущенной команде, а в предыдущих — информация о процессе firefox, который выпол-няется от имени пользователя beard. Первая строка показывает основной процесс с PID 3610, а вторая — дочерний процесс (возможно, вкладка в окне браузера) с PID 3625. При необходимости можно остановить какой-либо процесс с помощью команды kill. Но остановить можно только процесс, владельцем которого вы являетесь, либо от имени суперпользователя. Для получения прав управления всеми процессами можно получить права поль-зователя root, введя команду su – и пароль суперпользователя по запросу системы. После этого вы можете остановить требуемый процесс, введя команду kill и PID процесса, который хотите остановить. Понятно, что останавливая процесс, вы должны хорошо представлять себе последствия этого действия. На странице http://www.linuxcenter.ru/lib/books/kostromin/ gl_08_04.phtml вы можете найти еще много полезных сведений об уже рас-смотренных командах и некоторых других, которые могут вам пригодиться при управлении процессами в Linux. Управление учетными записями Как и в системах Windows, операционные системы Linux требуют, чтобы ка-ждый пользователь имел необходимые для работы в системе права. Но эти права должны быть ограничены определенными рамками, чтобы пользова- Средства администратора малой сети 191 тель не мог навредить системе, а вредоносные программы не могли получить достаточных полномочий для достижения своих деструктивных целей. В современных дистрибутивах Linux всегда есть графические средства для управления учетными записями пользователей. Но и в окне терминала можно выполнить практически все связанные с этой задачей действия. Для этого есть несколько легко запоминающихся команд, которые приведены в табл. 6.1. Таблица 6.1. Команды управления учетными записями пользователей Команда Описание groupadd group_name создание новой группы groupdel group_name удаление группы groupmod -n new_group_name old_group_name переименование группы useradd -c “Name Surname " -g admin -d /home/user1 -s /bin/bash user1 создание нового пользователя, принад-лежащего группе “admin” useradd user1 создание нового пользователя userdel -r user1 удаление пользователя (’-r’, удаляет до-машний каталог) usermod -c “User FTP” -g system -d /ftp/user1 -s /bin/nologin user1 изменить пользовательские атрибуты passwd сменить пароль passwd user1 изменить пользовательский пароль (дос-тупно только администратору) chage -E 2005-12-31 user1 установить дату окончания действия учетной записи пользователя user1 pwck проверка синтаксиса и формата файла ‘/etc/passwd’, существования пользовате-лей и их каталогов grpck проверка синтаксиса и формата файла ‘/etc/group’, существования групп newgrp group_name вход в новую группу, чтобы изменить группу по умолчанию для вновь созда-ваемых файлов Графический интерфейс управления учетными записями доступен пользова-телю root. В CentOS это окно можно вызвать, набрав в командной строке system-config-users от имени пользователя root. Графический интерфейс Глава 6 192 управления пользователями интуитивно понятен и нагляден. На рис. 6.7 при-веден интерфейс Менеджер пользователей для управления учетными запи-сями пользователей из CentOS 5.3. Рис. 6.7. Окно Менеджер пользователей Кнопка Применить фильтр позволяет выбирать пользователей, имена кото-рых включают определенные символы, если их ввести в поле Фильтр поиска. Воспользовавшись пунктом оконного меню Правка | Параметры, можно включить отображение системных пользователей (на рисунке включено). Управление службами Эта задача в Windows решается посредством специальных оснасток. В Linux управление службами имеет некоторые отличия в связи с существованием нескольких режимов работы системы. Среди этих режимов основными мож-но считать обычный консольный режим и графический режим. Службы, ко-торые должны обеспечивать работу программ в графическом режиме, не должны запускаться в консольном режиме, а службы, поддерживающие про- Средства администратора малой сети 193 граммы, не связанные с графикой (например звуковая подсистема), вполне могут быть запущены в консольном режиме. Для управления уровнем за- пуска служб и управления ими можно воспользоваться командой Система | Администрирование | Настройка сервероа | Службы или терминальной командой от имени пользователя root system-config-services. В обоих слу-чаях вы увидите на экране окно Настройка служб (рис. 6.8). Рис. 6.8. Окно Настройка служб Пользуясь оконным меню и кнопками Запустить и Стоп, вы можете управ-лять уровнем запуска служб, останавливать и запускать их. Работа с дисковой подсистемой При анализе состояния системы может быть необходимо проверить состоя-ние дисковой подсистемы, наличие свободного места на дисках, создать или удалить разделы, отформатировать логические диски. Частой задачей может быть монтирование дисков, подключенных к компьютеру. Хотя в современ-ных дистрибутивах эта операция часто выполняется автоматически, полезно знать и соответствующие команды. Глава 6 194 Наиболее часто используются, пожалуй, две простые утилиты: – df и mount. Первая показывает все примонтированные диски и разделы, их размер и сво-бодное место на них. Вторая всегда выполняется с параметрами и позволяет подключить к системе диски, разделы или внешние сменные носители. На-пример, командой mount /mnt/disk ext3 /dev/sda4 можно примонтировать, сделав доступным для системы, раздел sda4, отформатированный в файловой системе ext3. При этом каталог /mnt/disk должен уже существовать. Для раз-монтирования раздела применяется команда umount /mnt/disk. Системный монитор Во многих дистрибутивах Linux присутствует эта очень удобная графическая утилита. На рис. 6.9 приведен вид этой программы, открытой на вкладке Ресурсы. Здесь можно увидеть степень загруженности процессора, вирту-альной памяти и сети. Эта информация бывает очень полезной при отладке приложений или для контроля работы сервера. Рис. 6.9. Окно Системный монитор, вкладка Ресурсы Средства администратора малой сети 195 Рис. 6.10. Окно Системный монитор, вкладка Процессы Открыв вкладку Процессы (рис. 6.10), можно увидеть информацию, уже знакомую нам по выводу команды ps. Настроить вывод информации можно с помощью пункта меню Правка. Как и любую другую графическую утилиту, Системный монитор можно вызвать из окна терминала. Для этого достаточно набрать команду gnome-system-monitor. Утилиты для контроля состояния сети Чаще всего бывает необходимо проверить доступность узлов в сети, опреде-лить маршрут до узла, посмотреть настройки сетевых адаптеров, настроить маршрутизацию или преобразование адресов (NAT). Само собой, требуется элементарная настройка сетевых интерфейсов и периодический контроль их состояния. Глава 6 196 Для выполнения этих задач есть как графические, так и консольные утилиты. Графические могут иметь отличающиеся от дистрибутива к дистрибутиву интерфейсы. В версиях Linux на основе Linux Red Hat, например CentOS, графические утилиты позволяют выполнить достаточно полную настрой- ку сетевых интерфейсов. На рис. 6.11 приведено окно Настройка сети в CentOS 5.3. Его можно открыть, пройдя по пути Система | Администри-рование | Сеть. Рис. 6.11. Окно Настройка сети Выделив в окне настраиваемое устройство (в данном случае eth0), нажмите кнопку Изменить. Откроется окно Устройство Ethernet (рис. 6.12), в кото-ром можно указать все необходимые параметры для настройки сети. Если вы уже настраивали параметры сети на компьютерах Windows, то все параметры вам понятны и настройка не составит труда. Осваивая различные версии Linux, вы можете встретить более или менее удобные графические утилиты для настройки сети. Но в любой версии Linux совершенно одинаково работают консольные утилиты, которые можно при-менять всегда. ПРИМЕЧАНИЕ Важно помнить, что настройка модулей операционной системы должна выпол-няться только одним способом. Иначе настройки, выполненные из консоли, мож-но потерять, запустив графическую утилиту, предназначенную для той же цели. Средства администратора малой сети 197 Рис. 6.12. Окно Устройство Ethernet Для повторения однотипных настроек все команды можно записать и сохра-нить в исполняемых файлах. Это позволит существенно сократить затраты времени на проведение настроек и не искать графические утилиты в незна-комой версии Linux. Настройка NAT Одна из часто возникающих задач при настройке сети — включить преобра-зование адресов (NAT — Network Address Translate) для подключения поль-зователей к Интернету через один компьютер. В Linux для этого есть простая команда iptables. Сложность здесь только в том, что следует указать пара-метры команды, которые необходимы именно в вашем случае. Команда для выполнения решаемой задачи выглядит так: iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE Возможно, что ваш сетевой интерфейс, через который будет осуществ- ляться доступ в Интернет, имеет другое имя — eth1 или eth2, замените им Глава 6 198 имя eth0, указанное в команде. Больше никаких параметров изменять не потребуется. Конечно, более тонкие настройки потребуют обращения к справке по iptables. Контроль и изменение параметров сети Графическую утилиту “Настройка сети” мы уже рассмотрели. Но есть кон-сольные утилиты, которые позволяют быстро решить вопросы настройки се-ти в любой версии Linux. Ifconfig — одна из таких утилит. Если выполнить команду ifconfig без па-раметров в окне терминала от имени суперпользователя root, то на экран бу-дет выведен перечень всех существующих в системе интерфейсов и их теку-щие настройки. Вывод команды ifconfig на компьютере автора показан ниже: [beard@brd-cent ~]$ su - Пароль: [root@brd-cent ~]# ifconfig eth0 Link encap:Ethernet HWaddr 00:22:15:2F:41:E0 inet addr:192.168.1.102 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::222:15ff:fe2f:41e0/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:396301 errors:0 dropped:0 overruns:0 frame:0 TX packets:356645 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:52770339 (50.3 MiB) TX bytes:65413219 (62.3 MiB) Interrupt:177 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:71530 errors:0 dropped:0 overruns:0 frame:0 TX packets:71530 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:57396905 (54.7 MiB) TX bytes:57396905 (54.7 MiB) vmnet1 Link encap:Ethernet HWaddr 00:50:56:C0:00:01 inet addr:172.16.81.1 Bcast:172.16.81.255 Mask:255.255.255.0 inet6 addr: fe80::250:56ff:fec0:1/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 Средства администратора малой сети 199 TX packets:54 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b) vmnet8 Link encap:Ethernet HWaddr 00:50:56:C0:00:08 inet addr:172.16.247.1 Bcast:172.16.247.255 Mask:255.255.255.0 inet6 addr: fe80::250:56ff:fec0:8/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:52 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b) [root@brd-cent ~]# Как видим, кроме собственно настроек, показана информация о принятых и отправленных пакетах, о пакетах с ошибками, коллизиях и другая полезная информация. Нет информации о шлюзе по умолчанию, через который ком-пьютер имеет доступ в Интернет. О шлюзе поговорим чуть позднее. Та же самая утилита применяется для установки параметров сетевых интер-фейсов. Команда ifconfig eth0 192.168.1.1 netmask 255.255.255.0 установит для интерфейса eth0 IP-адрес 192.168.1.1 и маску подсети 255.255.255.0. После изменения параметров интерфейса его следует “перезагрузить”, вы-полнив две команды: ifconfig eth0 down ifconfig eth0 up Первая команда деактивирует интерфейс, а вторая снова активирует. У утилиты ifconfig есть “родственница” iwconfig, которая предназначена для работы с беспроводными интерфейсами. Работает она аналогично ifconfig. Командой iwconfig eth1 mtu 1400 можно установить значение MTU для беспроводного интерфейса eth1 равное 1400. Это может быть полезно для работы с интерфейсами WiMAX или WiFi, когда через них осуществляется общее подключение. Для настройки шлюза по умолчанию придется применить еще одну утилиту. Ifconfig не позволила нам посмотреть и установить значение этого парамет-ра. Для установки шлюза по умолчанию служит команда route. Достаточно выполнить ее, указав параметры, как в примере: route add -net 0/0 gw 192.168.1.109. IP-адрес следует изменить на необходимый. Глава 6 200 Контроль сетевой активности и соединений Настроив сетевые подключения, мы начинаем ими пользоваться. Конечно, нам интересно посмотреть, как активно работает подключение, сколько ин-формации передается и принимается, нет ли лишних подключений, которые могут привести к перерасходу трафика. Существует много средств для вы-полнения таких задач, но наиболее просто они решаются с помощью кон-сольных утилит ifstat и netstat. На рис. 6.13 приведено окно терминала с выводом команды ifstat -n -T -b -a -t -w 1. Команда с указанными параметрами позволяет посмотреть ак-тивность всех сетевых интерфейсов, включая модемы и беспроводные адап-теры. Каждую секунду выводится новая строка с данными за прошедшую секунду. Рис. 6.13. Окно терминала с выводом команды ifstat -n -T -b -a -t -w 1 Команда netstat -tup отображает все установленные сетевые соединения по протоколам TCP и UDP без разрешения имен в IP-адреса, идентификаторы и имена процессов, обеспечивающих эти соединения. Если совместно с netstat использовать утилиты watch и grep, то можно получить очень по-лезный инструмент для контроля за сетевыми соединениями. Средства администратора малой сети 201 Вывод команды watch –interval 1 netstat -a -n –t приведен на рис. 6.14. Информация в окне терминала обновляется каждую секунду. Добавив к этой команде “довесок” с конвейерным перенаправлением к утилите grep, выбирающей из всего потока данных участки с указанным фрагментом текста, можно отслеживать только интересующие нас события. Так команда watch –interval 1 netstat -a -n -t | grep 192 выводит информацию о соединениях, в IP-адресах которых есть сочетание 192 (рис. 6.15). Рис. 6.14. Вывод команды watch –interval 1 netstat -a -n –t Рис. 6.15. Вывод команды watch –interval 1 netstat -a -n –t | grep 192 Заключение Операционная система Linux развивается очень быстро. Появляются новые версии, которые постепенно становятся все более удобными, имеют в своих дистрибутивах множество полезных программ. Например, Linux Mint 7 (http://www.linuxmint.com/) содержит наиболее новые версии приложений, которые обычно требуются пользователю домашнего компьютера. Сервер-ные версии Linux также не стоят на месте. Тысячи серверов в России рабо-тают под управлением Linux CentOS 5.3 (http://www.centos.org/), которая на сегодняшний день может быть отмечена как одна из самых стабильных вер-сий. Многие пользователи Linux, для которых стабильность и надежность системы важны, используют CentOS на своих компьютерах. В книге приведены примеры работы лишь с некоторыми версиями Linux. Но для начинающего пользователя, желающего использовать эту красивую и обычно бесплатную систему, этих сведений достаточно, чтобы начать ос-ваивать Linux, применив в своей небольшой сети. Отсутствие вирусов, надежность, наличие в дистрибутивах практически всех программ, которые могут понадобиться пользователю ПК, наличие бесплат-ных аналогов программ для Windows, возможность найти в Интернете ин-формацию о работе с большинством версий Linux на русском языке делает Linux все более привлекательной. Автор надеется, что вы, установив на своих компьютерах Linux, не захотите отказываться от него. А то, чего Linux еще не может, можно выполнить на виртуальной машине Windows, работающей в среде Linux и VMware Server. К счастью, ресурсов современных компьютеров достаточно, чтобы одновре-менно запускать две и более операционных систем. Удачи вам! Приложение Здесь приведены наиболее употребительные команды Linux в виде примеров их выполнения с пояснениями к примерам. Таблица П1 может быть справоч-ным руководством по командам, которые распределены по нескольким раз-делам. Дополнительную информацию о командах можно получить, введя ко-манду без параметров или с параметром –h. Таблица П1 Наиболее употребительные команды Linux Системная информация № Команда Описание 1 arch Показать архитектуру машины (1) 2 uname -m Показать архитектуру машины (2) 3 uname -r Показать версию используемого ядра 4 dmidecode -q Показать аппаратные компоненты системы (SMBIOS/DMI) 5 hdparm -i /dev/hda Отобразить характеристики жесткого диска 6 hdparm -tT /dev/sda Выполнить тест чтения жесткого диска 7 cat /proc/cpuinfo Показать информацию о процессоре 8 cat /proc/interrupts Показать прерывания 9 cat /proc/meminfo Проверить использование памяти 10 cat /proc/swaps Показать swap-файл(ы) 11 cat /proc/version Показать версию ядра 12 cat /proc/net/dev Показать сетевые адаптеры и статистику 13 cat /proc/mounts Показать смонтированные файловые системы Приложение 206 Таблица П1 (продолжение) Наиболее употребительные команды Linux Системная информация № Команда Описание 14 lspci -tv Отобразить устройства PCI 15 lsusb -tv Показать устройства USB 16 date Показать системную дату 17 cal 2008 Показать календарь на 2008 год 18 date 081219302008.15 Установить дату и время — МесяцДеньЧасМинутыГод.Секунды 19 clock -w Сохранить изменения даты в BIOS Завершение работы, перезагрузка, завершение сеанса № Команда Описание 20 shutdown -h now Завершить работу системы (1) 21 shutdown -h hours:minutes & Запланировать завершение работы системы (выключение компьютера) 22 shutdown -c Отменить запланированное завершение рабо-ты системы 23 shutdown -r now Перезагрузить (1) 23 reboot Перезагрузить (2) 25 logout Завершение сеанса Файлы и директории № Команда Описание 26 cd /home Перейти в каталог /home 27 cd .. Перейти в каталог на один уровень выше 28 cd ../.. Перейти в каталог на два уровня выше 29 cd Перейти в домашний каталог 30 cd ~user1 Перейти в домашний каталог 31 cd - Перейти в предыдущий каталог 32 pwd Показать путь к рабочему каталогу 33 ls Просмотр списка файлов в каталоге Приложение 207 Таблица П1 (продолжение) Файлы и директории № Команда Описание 34 ls -F Просмотр списка файлов в каталоге 35 ls -l Показать детализированную информацию о файлах и каталогах (права доступа, время создания, владелец, размер) 36 ls -a Показать скрытые файлы 37 ls [0-9] Показать файлы и каталоги, имена которых содержат числа 38 mkdir dir1 Создать каталог с именем dir1 39 mkdir dir1 dir2 Создать два каталога одновременно 40 mkdir -p /tmp/dir1/dir2 Создать вложенные каталоги 41 rm -f file1 Удалить файл с именем file1 42 rmdir dir1 Удалить каталог с именем dir1 43 rm -rf dir1 Рекурсивно удалить каталог dir1 и его содер-жимое 44 rm -rf dir1 dir2 Рекурсивно удалить два каталога dir1 и dir2 и их содержимое 45 mv dir1 new_dir Переименовать/переместить файл или каталог 46 cp file1 file2 Копировать файл 47 cp dir/ . Копировать все файлы каталога в рабочий каталог 48 cp -a /tmp/dir1 . Копировать каталог в рабочий каталог 49 cp -a dir1 dir2 Копировать каталог 50 ln -s file1 lnk1 Создать символьную ссылку на каталог или файл 51 ln file1 lnk1 Создать физическую ссылку на каталог или файл 52 touch -t 0712250000 file1 Изменить штамп времени файла или каталога (YYMMDDhhmm) 53 file file1 Выводить в виде текста информацию о типе файла 54 iconv -l Выводить список известных кодировок Приложение 208 Таблица П1 (продолжение) Файлы и директории № Команда Описание 55 iconv -f fromEncoding -t toEncoding inputFile > outputFile Перекодирует файл inputFile из кодировки fromEncoding в кодировку toEncoding, соз-давая новый файл outputFile 56 find . -maxdepth 1 -name .jpg -print -exec convert “{}” -resize 80x60 “thumbs/{}” ; Пакет команд изменяет размеры графи- ческих файлов из текущего каталога и создает измененные копии (эскизы) в каталоге thumbs (требует наличия конвертора из Imagemagick) Поиск файлов № Команда Описание 57 find / -name file1 Поиск файла или каталога в файловой систе-ме, начиная с корневого каталога 58 find / -user user1 Поиск файлов или каталогов, принадлежащих пользователю user1 59 find /home/user1 -name *.bin Поиск файлов с расширением bin в каталоге /home/user1 60 find /usr/bin -type f -atime +100 Поиск бинарных файлов, не использовавших-ся за прошедшие 100 дней 61 find /usr/bin -type f -mtime -10 Поиск файлов или каталогов, измененных за прошедшие 10 дней 62 find / -name *.rpm -exec chmod 755 ‘{}’ ; Поиск файлов с расширением rpm и измене-ние прав доступа к ним 63 find / -xdev -name *.rpm Поиск файлов с расширением rpm только на жестких дисках. Сменные носители игнориру-ются 64 locate *.ps Поиск файлов с расширением ps (предвари-тельно необходимо выполнить команду updatedb) 65 whereis halt Показать местоположение бинарного испол-няемого файла, содержащего руководства, относящиеся к файлу halt 66 which halt Отображает полный путь к файлу halt Приложение 209 Таблица П1 (продолжение) Монтирование файловых систем № Команда Описание 67 mount /dev/hda2 /mnt/hda2 Монтировать диск с именем hda2 с проверкой существования каталога /mnt/hda2 68 umount /dev/hda2 Монтировать диск с именем hda2. Необходим выход из точки монтирования mnt/hda2 69 fuser -km /mnt/hda2 Быстрое монтирование, когда устройство за-нято 70 umount -n /mnt/hda2 Выполнение umount без записи в файл /etc/mtab. Полезно, когда файл только для чтения или жесткий диск переполнен 71 mount /dev/fd0 /mnt/floppy Монтировать гибкий диск 72 mount /dev/cdrom /mnt/cdrom Монтировать CD или DVD 73 mount /dev/hdc /mnt/cdrecorder Монтировать CD-R/CD-RW или DVD-R/DVD-RW(+-) 74 mount -o loop file.iso /mnt/cdrom Монтировать файл ISO-образа диска 75 mount -t vfat /dev/hda5 /mnt/hda5 Монтировать файловую систему FAT32 76 mount /dev/sda1 /mnt/usbdisk Монтировать USB флэш-диск 77 mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share Монтировать ресурс сети Windows 78 mount -o bind /home/user/prg /var/ftp/user Монтирует директорию в директорию (binding). Доступна с версии ядра 2.4.0. Полезна, на-пример, для предоставления содержимого пользовательской директории через ftp. Вы-полнение данной команды сделает копию со-держимого /home/user/prg в /var/ftp/user Дисковое пространство № Команда Описание 79 df -h Показать список примонтированных разделов 80 ls -lSr | more Показать размер файлов и каталогов, упоря-доченных по размеру 81 du -sh dir1 Оценить место, используемое каталогом dir1 Приложение 210 Таблица П1 (продолжение) Дисковое пространство № Команда Описание 82 du -sk * | sort -rn Показать размер файлов и каталогов, отсор-тированных по размеру 83 rpm -q -a –qf ‘%10{SIZE}t%{NAME}n’ | sort -k1,1n Показать размер дискового пространства, ис-пользуемого RPM-пакетами, с сортировкой по размеру (в системах Fedora, Red Hat и на их основе) 84 dpkg-query -W -f=’${Installed-Size;10}t${Package}n’ | sort -k1,1n Показать место, используемое DEB-пакетами, установив сортировку по размеру (в системах Ubuntu, Debian и на их основе) Пользователи и группы № Команда Описание 85 groupadd group_name Создание новой группы 86 groupdel group_name Удаление группы 87 groupmod -n new_group_name old_group_name Переименование группы 88 useradd -c “Name Surname " -g admin -d /home/user1 -s /bin/bash user1 Создание нового пользователя, принадлежа-щего группе admin 89 useradd user1 Создание нового пользователя 90 userdel -r user1 Удаление пользователя (-r удаляет домаш-ний каталог) 91 usermod -c “User FTP” -g system -d /ftp/user1 -s /bin/nologin user1 Изменить пользовательские атрибуты 92 gpasswd –a (-d)userid group-name Добавить (удалить) члена группы. Использует-ся числовой идентификатор пользователя 93 passwd Сменить пароль 94 passwd user1 Изменить пользовательский пароль (доступно только администратору) 95 chage -E 2005-12-31 user1 Установить дату окончания действия учетной записи пользователя user1 96 pwck Проверка синтаксиса и формата файла /etc/passwd, существования пользователей и их каталогов Приложение 211 Таблица П1 (продолжение) Пользователи и группы № Команда Описание 97 grpck Проверка синтаксиса и формата файла /etc/group, существования групп 98 newgrp group_name Вход в новую группу, чтобы изменить группу по умолчанию для вновь создаваемых файлов Права доступа к файлам № Команда Описание 99 ls -lh Показать права доступа 100 ls /tmp | pr -T5 -W$COLUMNS Вывод списка файлов и каталогов с разделе-нием его в терминале на пять колонок 101 chmod ugo+rwx directory1 или chmod 777 directory1 Установка разрешений доступа на чтение (r), запись (w), исполнение (x) для пользователей владельцев (u), групп (g) и других (o) 102 chmod go-rwx directory1 Удалить разрешения доступа на чтение (r), запись (w), исполнение (x) для группы пользо-вателей (g) и других (o) 103 chown user1 file1 Назначить владельцем файла пользователя user1 104 chown -R user1 directory1 Назначить владельцем каталога и всех фай-лов и каталогов, содержавшихся внутри, поль-зователя user1 105 chgrp group1 file1 Изменить группу-владельца файла 106 chown user1:group1 file1 Изменить владельца и группу владельца файла 107 find / -perm -u+s Просмотреть все файлы в системе с установ-ленным атрибутом SUID 108 chmod u+s /bin/file1 Установка атрибута SUID для бинарного фай-ла, чтобы пользователь при его исполнении получил права владельца этого файла 109 chmod u-s /bin/file1 Снятие атрибута SUID, для бинарного файла 110 chmod g+s /home/public Установка атрибута SGID для каталога (пере-даются права группы владельца) 111 chmod g-s /home/public Снятие атрибута SGID для каталога Приложение 212 Таблица П1 (продолжение) Права доступа к файлам № Команда Описание 112 chmod o+t /home/public Установка атрибута STIKY для каталога — позволяет удаление файлов только законным владельцам 113 chmod o-t /home/public Снятие атрибута STIKY для каталога Специальные атрибуты файлов № Команда Описание 114 chattr +a file1 Разрешает запись в файл только в режиме добавления 115 chattr +c file1 Разрешает сжатие и распаковку файла авто-матически ядром 116 chattr +d file1 Указывает утилите dump игнорировать данный файл во время выполнения резервного копи-рования 117 chattr +i file1 Этот атрибут делает невозможным удаление, изменение, переименование или связывание (создание ссылки) 118 chattr +S file1 Указывает, что при сохранении изменений будет произведена синхронизация, как при выполнении команды sync 119 chattr +s file1 Разрешает безопасное удаление файла, ме-сто, занимаемое файлом на диске, заполняет-ся нулями, что предотвращает возможность восстановления данных 120 chattr +u file1 Позволяет восстанавливать содержание фай-ла, даже если файл будет удален 121 lsattr Показать специальные атрибуты Архивирование и сжатие файлов № Команда Описание 122 bunzip2 file1.bz2 Распаковать файл file1.bz2 123 bzip2 file1 Сжать файл file1 124 gunzip file1.gz Распаковать файл file1.gz 125 gzip file1 Сжать файл file1 Приложение 213 Таблица П1 (продолжение) Архивирование и сжатие файлов № Команда Описание 126 gzip -9 file1 Архивирование с максимальным сжатием 127 rar a file1.rar test_file Создать rar-архив file1.rar 128 rar a file1.rar file1 file2 dir1 Сжать file1, file2 и dir1 одновременно 129 rar x file1.rar Создать архив rar 130 unrar x file1.rar Распаковать архив rar 131 tar -cvf archive.tar file1 Создать несжатый tarball 132 tar -cvf archive.tar file1 file2 dir1 Создать архив, содержащий file1, file2 и dir1 133 tar -tf archive.tar Показать содержание архива 134 tar -xvf archive.tar Извлечение tarball 135 tar -xvf archive.tar -C /tmp Извлечение tarball в /tmp 136 tar -cvfj archive.tar.bz2 dir1 Создать tarball, сжатый в bzip2 137 tar -xvfj archive.tar.bz2 Распаковать архив tar, сжатый в bzip2 138 tar -cvfz archive.tar.gz dir1 Создать tarball, сжатый в gzip 139 tar -xvfz archive.tar.gz Декомпрессируйте сжатый архив tar в gzip 140 zip file1.zip file1 Создать архив, сжатый в zip 141 zip -r file1.zip file1 file2 dir1 Сжатие в zip одновременно нескольких фай-лов 142 unzip file1.zip Распаковать архив zip RPM-пакеты (установка и удаление программ) № Команда Описание 143 rpm -ivh package.rpm Установить пакет rpm 144 rpm -ivh –nodeeps package.rpm Установить пакет rpm, но игнорировать зави-симости 145 rpm -U package.rpm Обновить пакет rpm, не изменяя файлы кон-фигурации Приложение 214 Таблица П1 (продолжение) RPM-пакеты (установка и удаление программ) № Команда Описание 146 rpm -F package.rpm Обновить пакет rpm, если он уже установлен 147 rpm -e package_name.rpm Удалить пакет rpm 148 rpm -qa Показать все пакеты rpm, установленные в системе 149 rpm -qa | grep httpd Показать все пакеты rpm с именем httpd 150 rpm -qi package_name Получить информацию об установленном па-кете 151 rpm -qg “System Environment/Daemons” Показать пакеты rpm определенной группы приложений 152 rpm -ql package_name Показать список файлов, созданных установ-ленным пакетом rpm 153 rpm -qc package_name Показать список файлов конфигурации, соз-данных установленным пакетом rpm 154 rpm -q package_name –whatrequires Показать список зависимостей, требуемых для пакета rpm 155 rpm -q package_name –whatprovides Показать совместимость пакета rpm 156 rpm -q package_name –scripts Показать сценарии, запущенные при инстал-ляции/удалении пакета 157 rpm -q package_name –changelog История просмотров пакета 158 rpm -qf /etc/httpd/conf/httpd.conf Проверить, какой пакет rpm принадлежит дан-ному файлу 159 rpm -qp package.rpm -l Показать список файлов, создаваемых паке-том rpm, если он еще не установлен 160 rpm –import /media/cdrom/ RPM-GPG-KEY Импортировать публичный ключ цифровой подписи 161 rpm –checksig package.rpm Проверить целостность пакета rpm 162 rpm -qa gpg-pubkey Проверить целостность всех установленных пакетов rpm 163 rpm -V package_name Проверить размер файла, разрешения, тип, владельца, группу, контрольную сумму MD5 и последнюю модификацию Приложение 215 Таблица П1 (продолжение) RPM-пакеты (установка и удаление программ) № Команда Описание 164 rpm -Va Проверить все пакеты rpm, установленные в системе. Использовать с предостережением 165 rpm -Vp package.rpm Проверить пакет rpm, еще не установленный 166 rpm2cpio package.rpm | cpio –extract –make-directories bin Извлечь исполняемый файл из пакета rpm 167 rpm -ivh /usr/src/redhat/RPMS/arch/package.rpm Установить пакет, построенный из исходника rpm 168 Rpmbuild –rebuild package_name.src.rpm Создать пакет rpm из исходника rpm YUM-пакеты (установка и удаление программ) № Команда Описание 169 yum install package_name Загрузить и установить пакет 170 yum localinstall package_name.rpm Установка пакета с попыткой разрешения зависимостей 171 yum update package_name.rpm Обновить все пакеты, установленные в системе 172 yum update package_name Обновить пакет 173 yum remove package_name Удалить пакет 174 yum list Показать список всех пакетов, установленных в системе 175 yum search package_name Найти пакет rpm в репозитории 176 yum clean packages Очистить кэш удаления загруженных пакетов rpm 177 yum clean headers Удалить все заголовочные файлы, которые система использовала для разрешения зави-симостей 178 yum clean all Удалить из кэша информацию о пакетах и за-головочных файлах Приложение 216 Таблица П1 (продолжение) Deb-пакеты (установка и удаление программ) № Команда Описание 179 dpkg -i package.deb Установка/обновление deb-пакетов 180 dpkg -r package_name Удаление deb-пакетов 181 dpkg -l Показать все deb-пакеты, установленные в системе 182 dpkg -l | grep httpd Показать все deb-пакеты, установленные в системе с именем “httpd” 183 dpkg -s package_name Получить информацию относительно опреде-ленного пакета, установленного в системе 184 dpkg -L package_name Показать список файлов, принадлежащих па-кету, установленных в системе 185 dpkg –contents package.deb Показать список файлов, принадлежащих ус-тановленному пакету 186 dpkg -S /bin/ping Проверить, какой пакет принадлежит данному файлу 187 apt-get install package_name Установить / обновить пакет 188 apt-cdrom install package_name Установить / обновить пакет с CD-ROM 189 apt-get update Обновить список пакетов 190 apt-get upgrade Обновить все установленные пакеты 191 apt-get remove package_name Удалить пакет из системы 192 apt-get check Проверить зависимости 193 apt-get clean Очистить кэш от загруженных пакетов 194 apt-cache search searched-package Получить список пакетов, содержащих строку “searched-packages” Работа с текстом № Команда Описание 195 cat file1 Показать содержимое текстового файла (на стандартном устройстве вывода) 196 tac file1 Показать содержимое текстового файла в об-ратном порядке (на стандартном устройстве вывода) Приложение 217 Таблица П1 (продолжение) Работа с текстом № Команда Описание 197 cat file1 | command( sed, grep, awk, grep, etc…) > result.txt Работа с текстом в файле и запись результата в новый файл 198 cat file1 | command( sed, grep, awk, grep, etc…) » result.txt Работа с текстом в файле, результат добав-ляется в существующий файл 199 more file1 Постраничный вывод содержимого файла file1 на стандартное устройство вывода 200 less file1 Постраничный вывод содержимого файла file1 на стандартное устройство вывода, но с воз-можностью пролистывания в обе стороны (вверх-вниз), поиска по содержимому и т. п. 201 head -2 file1 Вывести первые две строки файла file1 на стандартное устройство вывода. По умолча-нию выводится десять строк 202 tail -2 file1 Вывести последние две строки файла file1 на стандартное устройство вывода. По умолча-нию выводится десять строк 203 tail -f /var/log/messages Выводить содержимое файла /var/log/messages на стандартное устройство вывода по мере появления в нем текста 204 grep Aug /var/log/messages Поиск слова “Aug” в файле /var/log/messages 205 grep ^Aug /var/log/messages Поиск слов, которые начинаются с “Aug”, в файле /var/log/messages 206 grep [0-9] /var/log/messages Выбрать из файла /var/log/messages все стро-ки, которые содержат числа 207 grep Aug -R /var/log/ Искать строку “Aug” в файлах каталога /var/log и вложенных каталогах 208 sed ’s/stringa1/ stringa2/g’ example.txt Заменить строку “string1” на “string2” в файле example.txt 209 sed ‘/^$/d’ example.txt Удалить все пустые строки из файла example.txt 210 sed ‘/ #/d; /^$/d’ example.txt Удалить комментарии и пустые строки в фай-ле example.txt 211 echo ’esempio’ | tr ‘[:lower:]’ ‘[:upper:]’ Конвертировать текст из строчных букв в про-писные Приложение 218 Таблица П1 (продолжение) Работа с текстом № Команда Описание 212 sed -e ‘1d’ example.txt Удалить первую строку из файла example.txt 213 sed -n ‘/string1/p’ Просмотр строк, которые содержат слово “string1” 214 sed -e ’s/ $//’ example.txt Удалить пустые символы в конце каждой строки 215 sed -e ’s/stringa1//g’ example.txt Удалить из текста слово “string1”, оставив ос-тальной текст неизменным 216 sed -n ‘1,5p;5q’ example.txt Просмотр от первой до пятой строки 217 sed -n ‘5p;5q’ example.txt Просмотр пятой строки 218 sed -e ’s/00/0/g’ example.txt Заменить несколько нолей единственным но-лем 219 cat -n file1 Пронумеровать строки при выводе содержи-мого файла 220 cat example.txt | awk ‘NR%2==1’ При выводе содержимого файла, не выводить четные строки файла 221 echo a b c | awk ‘{print $1}’ Вывести первую колонку. Разделение по умолчанию, по пробелу/пробелам или симво-лу/символам табуляции 222 echo a b c | awk ‘{print $1,$3}’ Вывести первую и третью колонки. Разделе-ние по умолчанию, по пробелу/пробелам или символу/символам табуляции 223 paste file1 file2 Объединить содержимое file1 и file2 в виде таблицы: строка 1 из file1 = строка 1 колонка (1 – n), строка 1 из file2 = строка 1 колонка (n+1 – m) 224 paste -d ‘+’ file1 file2 Объединить содержимое file1 и file2 в виде таблицы с разделителем “+” 225 sort file1 file2 Отсортировать содержимое двух файлов 226 sort file1 file2 | uniq Отсортировать содержимое двух файлов, не отображая повторов 227 sort file1 file2 | uniq -u Отсортировать содержимое двух файлов, ото-бражая только уникальные строки (строки, встречающиеся в обоих файлах, не выводятся на стандартное устройство вывода) Приложение 219 Таблица П1 (продолжение) Работа с текстом № Команда Описание 228 sort file1 file2 | uniq -d Отсортировать содержимое двух файлов, ото-бражая только повторяющиеся строки 229 comm -1 file1 file2 Сравнить содержимое двух файлов, не ото-бражая строки, принадлежащие файлу file1 230 comm -2 file1 file2 Сравнить содержимое двух файлов, не ото-бражая строки, принадлежащие файлу file2 231 comm -3 file1 file2 Сравнить содержимое двух файлов, удаляя строки, встречающиеся в обоих файлах Преобразование кодировок и форматов файлов № Команда Описание 232 dos2unix filedos.txt fileunix.txt Конвертировать файл текстового формата MS-DOS в UNIX (отличие в символах возврата каретки) 233 unix2dos fileunix.txt filedos.txt Конвертировать файл текстового формата из UNIX в MS-DOS (отличие в символах возврата каретки) 234 recode ..HTML page.html Конвертировать содержимое текстового фай-ла page.txt в HTML-файл page.html 235 recode -l | more или iconv -l | more Вывести список доступных форматов Сеть (LAN и WiFi) № Команда Описание 236 ifconfig eth0 Показать конфигурацию сетевого интерфейса eth0 237 ifup eth0 Активировать (поднять) интерфейс eth0 238 ifdown eth0 Деактивировать (опустить) интерфейс eth0 239 ifconfig eth0 192.168.1.1 netmask 255.255.255.0 Выставить интерфейсу eth0 IP-адрес и маску подсети 240 ifconfig eth0 promisc Перевести интерфейс eth0 в promiscuous-режим для “отлова” пакетов (sniffing) 241 ifconfig eth0 -promisc Отключить promiscuous-режим на интерфейсе eth0 Приложение 220 Таблица П1 (продолжение) Сеть (LAN и WiFi) № Команда Описание 242 dhclient eth0 Активировать интерфейс eth0 в DHCP-режиме 243 route -n Вывести локальную таблицу маршрутизации 244 netstat -rn Вывести локальную таблицу маршрутизации 245 route add -net 0/0 gw IP_Gateway Задать IP-адрес шлюза по умолчанию (default gateway) 246 route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1 Добавить статический маршрут в сеть 192.168.0.0/16 через шлюз с IP-адресом 192.168.1.1 247 route del 0/0 gw IP_gateway Удалить IP-адрес шлюза по умолчанию (default gateway) 248 echo “1” > /proc/sys/net/ipv4/ip_forward Разрешить пересылку пакетов (forwarding) 249 hostname Отобразить имя компьютера 250 host www.example.com Разрешить имя хоста в IP-адрес и наоборот (1) 251 nslookup www.example.com Разрешить имя хоста в IP-адрес и наоборот (2) 252 ip link show Отобразить состояние всех интерфейсов 253 mii-tool eth0 Отобразить статус и тип соединения для ин-терфейса eth0 254 ethtool eth0 Отображает статистику интерфейса eth0 с выводом такой информации, как поддержи-ваемые и текущие режимы соединения 255 netstat -tup Отображает все установленные сетевые со-единения по протоколам TCP и UDP без раз-решения имен в IP-адреса и PID и имена про-цессов, обеспечивающих эти соединения 256 netstat -tupl Отображает все сетевые соединения по про-токолам TCP и UDP без разрешения имен в IP-адреса и PID и имена процессов, слушающих порты 257 tcpdump tcp port 80 Отобразить весь трафик на TCP-порт 80 (обычно HTTP) 258 iwlist scan Просканировать эфир на предмет доступности беспроводных точек доступа Приложение 221 Таблица П1 (продолжение) Сеть (LAN и WiFi) № Команда Описание 259 iwconfig eth1 Показать конфигурацию беспроводного сете-вого интерфейса eth1 260 whois www.example.com Поиск в базе данных системы Whois Сеть Microsoft (Samba) № Команда Описание 261 nbtscan ip_addr Разрешить IP-адрес в NetBIOS-имя 262 nmblookup -A ip_addr Разрешить IP-адрес в NetBIOS-имя 263 smbclient -L ip_addr/hostname Показать удаленный ресурс Windows-машины 264 smbget -Rr smb://ip_addr/share Загрузка файлов с удаленной Windows-машины через smb 265 mount -t smbfs (cifs) -o username=user,password=pass //WinClient/share /mnt/share Монтировать удаленный ресурс сети Windows iptables (firewall) № Команда Описание 266 iptables -t filter -L Отобразить все цепочки правил в filter-таблице 267 iptables -t nat -L Отобразить все цепочки правил в NAT-таблице 268 iptables -t filter -F Очистить все цепочки правил в filter-таблице 269 iptables -t nat -F Очистить все цепочки правил в NAT-таблице 270 iptables -t filter -X Удалить любые цепочки, созданные пользова-телем 271 iptables -t filter -A INPUT -p tcp –dport telnet -j ACCEPT Разрешить входящее подключение Telnet 272 iptables -t filter -A OUTPUT -p tcp –dport http -j DROP Блокировать исходящие HTTP-соединения 273 iptables -t filter -A FORWARD -p tcp –dport pop3 -j ACCEPT Позволить “прокидывать” (forward) POP3-соединения Приложение 222 Таблица П1 (продолжение) iptables (firewall) № Команда Описание 274 iptables -t filter -A INPUT -j LOG –log-prefix “DROP INPUT” Включить журналирование ядром пакетов, проходящих через цепочку INPUT, и добавле-нием к сообщению префикса “DROP INPUT” 275 iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE Включить NAT (Network Address Translate) ис-ходящих пакетов на интерфейс eth0. Допусти-мо при использовании с динамически выде-ляемыми IP-адресами 276 iptables -t nat -A PREROUTING -d 192.168.0.1 -p tcp -m tcp –dport 22 -j DNAT –to-destination 10.0.0.2:22 Переадресовать пакеты, адресованные хос-том другому хосту 277 # modprobe iptable_nat # iptables -t nat -A POSTROUTING -o eth2 -j MASQUARADE # /proc/sys/net/ipv4/ip_forward Включить NAT (Network Address Translate) ис-ходящих пакетов на интерфейс eth2. И разре-шить пересылку пакетов (CentOS) Сеть Novell Netware № Команда Описание 278 # ipx_configure –auto_interface=on —auto_primary=on # ipx_interface add -p eth0 802.2I 777 Настройка IPX (можно указать в файле etc/init.d/rc (SUSE11)) Анализ файловых систем № Команда Описание 279 badblocks -v /dev/hda1 Проверить раздел hda1 на наличие bad-блоков 280 fsck /dev/hda1 Проверить/восстановить целостность файло-вой системы Linux раздела hda1 281 fsck.ext2 /dev/hda1 Проверить/восстановить целостность файло-вой системы ext2 раздела hda1 282 e2fsck /dev/hda1 Проверить/восстановить целостность файло-вой системы ext3 раздела hda1 Приложение 223 Таблица П1 (продолжение) Анализ файловых систем № Команда Описание 283 e2fsck -j /dev/hda1 Проверить/восстановить целостность файло-вой системы ext3 раздела hda1 с указанием, что журнал расположен там же 284 fsck.ext3 /dev/hda1 Проверить/восстановить целостность файло-вой системы ext3 раздела hda1 285 fsck.vfat /dev/hda1 Проверить/восстановить целостность файло-вой системы FAT раздела hda1 286 fsck.msdos /dev/hda1 Проверить/восстановить целостность файло-вой системы FAT раздела hda1 287 dosfsck /dev/hda1 Проверить/восстановить целостность файло-вой системы FAT раздела hda1 Форматирование файловых систем № Команда Описание 288 mkfs /dev/hda1 Создать файловую систему Linux на разделе hda1 289 mke2fs /dev/hda1 Создать файловую систему ext2 на разделе hda1 290 mke2fs -j /dev/hda1 Создать журналирующую файловую систему ext3 на разделе hda1 291 mkfs -t vfat 32 -F /dev/hda1 Создать файловую систему FAT32 на разделе hda1 292 fdformat -n /dev/fd0 Форматирование флоппи-диска без проверки 293 mkswap /dev/hda3 Создание swap-пространства на разделе hda3 294 swapon /dev/hda3 Активировать swap-пространство, располо-женное на разделе hda3 295 swapon /dev/hda2 /dev/hdb3 Активировать swap-пространства, располо-женные на разделах hda2 и hdb3 Резервное копирование № Команда Описание 296 dump -0aj -f /tmp/home0.bak /home Создать полную резервную копию каталога /home в файл /tmp/home0.bak 297 dump -1aj -f /tmp/home0.bak /home Создать инкрементальную резервную копию каталога /home в файл /tmp/home0.bak Приложение 224 Таблица П1 (продолжение) Резервное копирование № Команда Описание 298 restore -if /tmp/home0.bak Восстановить из резервной копии /tmp/home0.bak в интерактивном режиме 299 rsync -rogpav –delete /home /tmp Синхронизация между каталогами /home и /tmp 300 rsync -rogpav -e ssh –delete /home ip_address:/tmp Синхронизировать через SSH-туннель 301 rsync -az -e ssh –delete ip_addr:/home/public /home/local Синхронизировать локальный каталог с отда-ленным каталогом через SSH со сжатием 302 rsync -az -e ssh –delete /home/local ip_addr:/home/public Синхронизировать отдаленный каталог с ло-кальным каталогом через SSH со сжатием 303 dd bs=1M if=/dev/hda | gzip | ssh user@ip_addr ‘dd of=hda.gz’ Создать резервную копию локального жесткого диска на удаленном компьютере через SSH 304 dd if=/dev/sda of=/tmp/file1 Резервная копия содержания жесткого диска в файл 305 tar -Puf backup.tar /home/user Создать инкрементальную резервную копию каталога /home/user в файл backup.tar с со-хранением полномочий 306 ( cd /tmp/local/ && tar c . ) | ssh -C user@ip_addr ‘cd /home/share/ && tar x -p’ Копирование содержимого /tmp/local на уда-ленный компьютер через SSH-туннель в /home/share/ 307 ( tar c /home ) | ssh -C user@ip_addr ‘cd /home/backup-home && tar x -p’ Копирование содержимого /home на удален-ный компьютер через SSH-туннель в /home/backup-home 308 tar cf - . | (cd /tmp/backup ; tar xf - ) Копирование одного каталога в другой с со-хранением полномочий и ссылок 309 find /home/user1 -name ‘.txt’ | xargs cp -av –target-directory=/home/backup/ –parents Поиск в /home/user1 всех файлов с расшире-нием txt и копирование их в другой каталог Приложение 225 Таблица П1 (продолжение) Резервное копирование № Команда Описание 310 find /var/log -name ‘.log’ | tar cv –files-from=- | bzip2 > log.tar.bz2 Поиск в /var/log всех файлов с расширением log и создание bzip-архива из них 311 dd if=/dev/hda of=/dev/fd0 bs=512 count=1 Создать копию MBR (Master Boot Record) с /dev/hda на дискету 312 dd if=/dev/fd0 of=/dev/hda bs=512 count=1 Восстановить MBR из резервной копии, сохра-ненной на дискету CD-ROM, DVD-ROM № Команда Описание 313 cdrecord -v gracetime=2 dev=/dev/cdrom -eject blank=fast -force Очистить перезаписываемый CD-ROM 314 mkisofs /dev/cdrom > cd.iso Создать ISO-образ диска в файле cd.iso 315 mkisofs /dev/cdrom | gzip > cd_iso.gz Создать сжатый ISO-образ диска в файле cd_iso.gz 316 mkisofs -J -allow-leading-dots -R -V “Label CD” -iso-level 4 -o ./cd.iso data_cd Создать ISO-образ каталога 317 cdrecord -v dev=/dev/cdrom cd.iso Записать ISO-образ на диск 318 gzip -dc cd_iso.gz | cdrecord dev=/dev/cdrom - Записать сжатый ISO-образ на диск 319 mount -o loop cd.iso /mnt/iso Монтировать ISO-образ 320 cd-paranoia -B Записать треки аудиодиска в WAV-файлы 321 cd-paranoia – “-3” Записать первые три трека аудиодиска в WAV-файлы 322 cdrecord –scanbus Просканировать CD-рекордер на наличие ка-нала SCSI 323 dd if=/dev/hdc | md5sum Выполнить md5sum для диска Приложение 226 Таблица П1 (продолжение) Мониторинг и отладка № Команда Описание 324 top Отобразить запущенные процессы, исполь-зуемые ими ресурсы и другую полезную ин-формацию (с автоматическим обновлением данных) 325 ps -eafw Отобразить запущенные процессы, исполь-зуемые ими ресурсы и другую полезную ин-формацию (единожды) 326 ps -e -o pid,args –forest Вывести PID и процессы в виде дерева 327 Pstree Отобразить дерево процессов 328 kill -9 98989 Остановить процесс с PID 98989 без соблюде-ния целостности данных 329 kill -KILL 98989 Остановить процесс с PID 98989 без соблюде-ния целостности данных 330 kill -TERM 98989 Корректно завершить процесс с PID 98989 331 kill -1 98989 Заставить процесс с PID 98989 перечитать файл конфигурации 332 kill -HUP 98989 Заставить процесс с PID 98989 перечитать файл конфигурации 333 pstree Отобразить дерево процессов 334 lsof -p $$ Отобразить список файлов, открытых процес-сами 335 lsof /home/user1 Отобразить список открытых файлов из ката-лога/home/user1 336 strace -c ls >/dev/null Вывести список системных вызовов, создан-ных и полученных процессом ls 337 strace -f -e open ls >/dev/null Вывести вызовы библиотек 338 watch -n1 ‘cat /proc/interrupts’ Отобразить прерывания в режиме реального времени 339 last reboot Отобразить историю перезагрузок системы 340 last user1 Отобразить историю регистрации пользовате-ля user1 в системе и время его нахождения в ней 341 lsmod Вывести загруженные модули ядра Приложение 227 Таблица П1 (продолжение) Мониторинг и отладка № Команда Описание 342 free -m Показать состояние оперативной памяти в мегабайтах 343 smartctl -A /dev/hda Контроль состояния жесткого диска /dev/hda через SMART 344 smartctl -i /dev/hda Проверить доступность SMART на жестком диске /dev/hda 345 tail /var/log/dmesg Вывести десять последних записей из журнала загрузки ядра 346 tail /var/log/messages Вывести десять последних записей из систем-ного журнала 347 apropos …keyword Выводит список команд, которые так или ина-че относятся к ключевым словам. Полезно, когда вы знаете, что делает программа, но не помните команду 348 man ping Вызов руководства по работе с программой, в данном случае — ping 349 whatis …keyword Отображает описание действий указанной программы 350 mkbootdisk –device /dev/fd0 ‘uname –r’ Создает загрузочный флоппи-диск 351 gpg -c file1 Шифрует файл file1 с помощью GNU Privacy Guard 352 gpg file1.gpg Дешифрует файл file1 с помощью GNU Privacy Guard 353 wget -r www.example.com Загружает рекурсивно содержимое сайта www.example.com 354 wget -c www.example.com/file.iso Загрузите файл с возможностью остановить загрузку и возобновить позже 355 echo ‘wget -c www.example.com/files.iso' | at 09:00 Начать загрузку в указанное данное время 356 ldd /usr/bin/ssh Вывести список библиотек, необходимых для работы SSH 357 alias hh=‘history’ Назначить алиас (псевдоним) hh-команде history Приложение 228 Таблица П1 (продолжение) Мониторинг и отладка № Команда Описание 358 chsh Изменить командную оболочку (сменить shell) 359 chsh –list-shells Показать удаленные подключения 360 who -a Просмотр информации о текущем пользовате-ле, времени последней загрузки системы и др. 361 startx Запуск видеосистемы (xserver) 362 Pidof Определить идентификатор (PID) по имени программы Команды через сочетания клавиш № Команда Описание 363 + Переход к началу строки 364 + Аналог стрелки влево (например, если она не работает) 365 + Отменить редактирование команды или пре-кратить работу (если запущена) 366 + Аналог . Если строка пустая — выход из текущего терминала 367 + Переход к концу строки 368 + Аналог стрелки вправо 369 + Выход из режима дополнения 370 + Аналог 371 + Аналог 372 + Удалить все до конца строки 373 + Очистить экран (набранная строка и даже по-зиция курсора остается) 374 + Поиск по истории набранных команд назад 375 + Остановка вывода на терминал 376 + Поменять местами текущий символ с преды-дущим 377 + Удалить все до начала строки 378 + Преобразует следующую клавишу в ее сим-вольное отображение ( — “^M”, — “^[” и т. д.) Приложение 229 Таблица П1 (продолжение) Команды через сочетания клавиш № Команда Описание 379 + Удалить от курсора до начала слова 380 + дважды Скачок между началом строки и текущей пози-цией курсора 381 + Выход из консольных текстовых редакторов 382 + Вставить из буфера 383 + Притормозить/остановить выполнение коман-ды в фон 384 + Отмена последнего изменения 385 + К первой команде в истории (вообще к самой первой в .bash_history) 386 + > К последней команде в истории 387 + Показать весь список вариантов дополнения (аналог 2Т, см. ниже) 388 + Вставить все возможные варианты дополне-ния 389 + Попытаться дополнить имя файла (из имею-щихся в текущем каталоге) 390 + Вставить последний аргумент из предыдущей команды 391 + Влево на слово 392 + Сделать первую букву слова заглавной (и пе-рейти к следующему слову) 393 + Удалить от текущей позиции до конца слова 394 + Вправо на слово 395 + Сделать первую букву слова строчной (и пе-рейти к следующему слову) 396 + Искать по истории (но не сразу, а после полно-го ввода и нажатия ) 397 +