Linux-сервер своими руками
Шрифт:
Тестировать подключение нужно непосредственно на той АТС, к которой подключен пользователь. Не повторяйте распространенной ошибки, когда администратор, настроив сервер удаленного доступа, пытается протестировать соединение, позвонив с другого номера той же АТС. Учитывая качество наших телефонных линий, результаты тестирования на разных АТС будут отличаться. Лучше всего тестировать подключение, находясь на рабочем месте удаленного пользователя.
Обратите внимание на «карьеру» нашего сервера: мы постепенно наращиваем его, добавляя новые функции. Сначала он был рядовым сервером локальной сети, затем он начал предоставлять доступ пользователей к Интернет, а потом мы построили сервер удаленного доступа.
1.7. Что такое сервер? (или Курс Молодого Администратора)
Эта глава предназначена для начинающих системных администраторов, которые вообще с трудом представляют, что такое сервер и с чем его едят. Я принципиально не буду называть
1.7.1. Архитектура сети: одноранговая и клиент/сервер
Начнем с самого главного — архитектуры сети. Существуют две основные архитектуры сети: одноранговая (peer-to-peer) и клиент/сервер (client/ server), причем вторая практически вытеснила первую. В одноранговой сети все компьютеры равны — имеют один ранг. Любой компьютер может выступать как в роли сервера, то есть предоставлять свои ресурсы (файлы, принтеры) другому компьютеру, так и в роли клиента, другими словами — использовать предоставленные ему ресурсы. Одноранговые сети преимущественно распространены в домашних сетях или небольших офисах. В самом простом случае для организации такой сети нужно всего лишь пара компьютеров, снабженных сетевыми платами и коаксиальный кабель (нужна еще пара терминаторов (заглушек), но я обещал сильно не углубляться).
Когда сеть создана физически (компьютеры связаны с помощью коаксиального кабеля), нужно настроить сеть программно. Для этого необходимо, чтобы на компьютерах были установлены сетевые операционные системы (Linux, FreeBSD, Windows NT, Windows 98) или сетевые системы с поддержкой сетевых функций (Windows 95, Windows for Workgroups).
Компьютеры в одноранговой сети объединяются в рабочие группы. Каждая рабочая группа имеет свой идентификатор — имя рабочей группы. Если вы сейчас работаете в Windows 9x, узнать имя рабочей группы вы можете, запустив апплет Сеть с Панели управления (см. рис. 1.4).
Рис. 1.4. Идентификатор рабочей группы в ОС Windows 9x
Для примера допустим, что в вашей одноранговой сети три компьютера А, В, С. Первые два входят в рабочую группу WG1, а компьютер С — в рабочую группу WG2 (см. рис. 1.5).
Рис. 1.5. Схема одноранговой сети
Даже несмотря на то, что компьютеры входят в один сегмент сети (физически подключены к одному кабелю), компьютеры А и В не будут «видеть» компьютер С, а компьютер С не будет видеть компьютеры А и В. Если выполнить команду поиска компьютера в Windows 9x (Пуск→Поиск→Найти компьютер), компьютер «увидит» компьютеры А и В, но будет сообщено, что они находятся в другой рабочей группе — WG1.
Единственное ограничение доступа, которое возможно в одноранговой сети, это использование пароля для доступа к какому-нибудь ресурсу. Для того, чтобы получить доступ к этому ресурсу, например, принтеру, нужнознать пароль. Это называется управлением доступом на уровне ресурсов. В сети клиент/сервер используется другой способ управления доступом — на уровне пользователей. В этом случае можно разрешить доступ к ресурсу только определенным пользователям. Например, ваш компьютер А через сеть могут использовать два пользователя: Иванов и Петров. К этому компьютеру подключен принтер, который можно использовать по сети. Но вы не хотите, чтобы кто угодно печатал на вашем принтере, и установили пароль для доступа к этому ресурсу. Если у вас одноранговая сеть, то любой, кто узнает этот пароль, сможет использовать ваш принтер. В случае с сетью клиент/сервер вы можете разрешить использовать ваш принтер только Иванову или только Петрову (можно и обоим).
Для получения доступа к ресурсу в сети клиент/сервер пользователь должен ввести свой уникальный идентификатор — имя пользователя (login — логин) и пароль (password). Логин пользователя является общедоступной информацией и это правильно: возможно, если кто-нибудь захочет отправить пользователю сообщение по электронной почте, то для этого ему достаточно знать его логин (естественно, и имя сервера электронной почты, который «знает» этого пользователя).
Использование логина и пароля для доступа к ресурсам называется аутентификацией пользователя (user authentication). Существуют и другие виды аутентификации, например, аутентификация источника данных
После рассмотрения архитектуры одноранговой сети можно прийти к выводу, что единственное преимущество этой архитектуры — это ее простота и дешевизна. Сети клиент/сервер обеспечивают более высокий уровень производительности и безопасности.
В отличие от одноранговой сети, в сети клиент/сервер существует один или несколько главных компьютеров — серверов. Все остальные компьютеры сети называются клиентами или рабочими станциями (workstations). Как я уже писал выше, сервер — это специальный компьютер, который предоставляет определенные услуги другим компьютерам. Существуют различные виды серверов (в зависимости от предоставляемых ими услуг): серверы баз данных, файловые серверы, серверы печати (принт-серверы), почтовые серверы, Web-серверы и т.д.
В табл. 1.1 перечислены лишь немногие функции, выполняемые сервером, и рекомендуемое программное обеспечение, которое необходимо для реализации этих функций.
Функции и программное обеспечение сервера Таблица 1.1
Функция | Программное обеспечение | Дистрибутив | Глава |
---|---|---|---|
Авторизация удаленных пользователей (dialup) | Пакет ррр | Да | 17 |
Автоматическое конфигурирование узлов сети | dhcp | Да | 8 |
Доступ (совместный) к файлам | NFS, FTPd (ProFTPD, wu-ftpd) | Да | 8, 13 |
Доступ к сети Microsoft | Пакет samba | Да | 9 |
Кэширование передаваемой информации | Пакет Squid | Да | 15 |
Маршрутизация | route(d) | Да | 8, 14 |
Обмен сообщениями электронной почты | Пакеты sendmail (или postfix/qmail) и imap | Да (Да/Нет), Да | 13 |
Подсчет передаваемого по сети трафика | ядро Linux, IPChains | Да | 8, 14 |
Передача секретной информации | modSSL | Да (не во всех дистрибутивах) | 12 |
Разрешение (резолвинг) имени компьютера в IP-адрес | Пакет bind | Да | 10 |
Сетевая печать | Lpd, Samba, CUPS | Да | 6, 9 |
Функции Web-сервера | Пакет apache | Да | 12 |
Фильтрация пакетов | IPChains (IPTables в новых версиях Linux) | Да | 14 |
Управление базой данных | MySQL / PostgreSQL / InterBase | Да / Да / Не во всех | 16 |
IP-Маскарадинг | IPChains | Да | 14 |
В графе Дистрибутив отмечено, входит ли указанное программное обеспечение в состав распространенных дистрибутивов, а в графе Глава указывается глава книги, в которой описана настройка интересующей вас функции.
Для экономии средств, как правило, один сервер сочетает в себе функции нескольких серверов, например, почтовик может быть также и Web-сервером. Услуги, которые может предоставлять сервер, ограничиваются только его физическими возможностями — чем мощнее сервер, тем больше услуг и с большим качеством он может предоставлять, поэтому в качестве сервера выбирается довольно мощный компьютер. Хотя эта формула (чем мощнее, тем лучше) не всегда оправдана, например, если ваш сервер используется для предоставления доступа к Интернет небольшой сети, то в этом случае с поставленной задачей прекрасно справится старенький 486DX/66 — 32 Мб ОЗУ. Однако, если вы являетесь Интернет-провайдером, то есть предоставляете коммерческий доступ к сети Интернет, такой конфигурации будет явно недостаточно.