Особенность совместного использования ресурсов для Linux - возможность доступа SMB к разделяемым файлам и принтерам. Такой доступ можно осуществить несколькими способами. Самый простой из них - использование двух программ-клиентов из инсталляционного пакета Samba: smbclient и smbprint.
Этот способ связан с некоторыми ограничениями, особенно для доступа к файлам. Smbclient обеспечивает FTP-подобный доступ к совместно используемым удаленным файлам. Конечно, тогда
для работы с файлами не применяются обычные команды Unix (например, ср и rnv), и доступ к совместным ресурсам из других приложений ограничен (в отличие от работы с NFS-монтированной удаленной файловой системой, которая выглядит как локальная файловая система для приложений Linux). Альтернативой является использование пакета smbf s, позволяющего 8MB монтировать совместно используемые файловые системы в Linux, подобно файловым системам NFS и локальным файловым системам.
Если вы используете версию Red Hat Linux, прилагаемую к книге, то, скорее всего, пакет Samba будет проинсталлирован при инсталляции Linux. Чтобы убедиться, что Samba проинсталлирован, выполните команды:
$ rpm -q samba
$ rpm -q samba-client
$ rpm -q samba-common
Если Samba не установлен в системе, инсталлируйте его с Red Hat CD-ROM. Как обычно, следует предварительно монтировать CD-ROM (например, в /mnt/cdrom), а затем использовать команду rpm для инсталляции файла samba-2 .0.3-8.1386 .rpm.
#
rpm -i /mnt/odrom/RadHat/RPMS/samba-a.0.7-36.1386.rpm
# rpm -i /mnt/cdrom/RedHat/RPMS/samba-client-2.0.7-36.1386.rpm
# rpm -i /mnt/cdrom/RedHat/RPMS/samba-common-a.0.7-36.1386.rpm
Примечание
Только пакеты samba-client и samba-common включены в состав диска Publisher's Edition CD-ROM, включенного в книгу. Этого достаточно для подключения к разделяемым ресурсам из Microsoft Windows в локальной сети (см. команду smbmount ниже), но недостаточно для предоставления ресурсов вашего Linux-компьютера в совместное использование другим компьютерам, использующим Microsoft Windows в локальной сети.
Инсталляция Samba из Internet
Если необходимо использовать последнюю версию Samba, загрузите ее исходный код или пакет RPM. Следуйте инструкциям на странице узла Samba http: / /www. samba. org, чтобы найти ближайший сайт-зеркало. В США одно из зеркал имеет адрес http:./ /usl. samba. org/samba/ ftp/.
После загрузки файла распакуйте архив и прочтите инструкции по компиляции и инсталляции Samba из исходного кода. Эта процедура меняется от версии к версии, поэтому мы ее не описываем.
Если вы не хотите заниматься компиляцией и не имеете двухдискового инсталляционного набора Red Hat 7.1, то простейший способ инсталляции Samba состоит в загрузке RPM-файлов с узла ftp. redhat. com или www. rpmf ind. net с последующей инсталляцией командой rpm -i.
Что инсталлируется
При установке Samba инсталлируются следующие файлы.
/usr/sbin/smbd:
сервер Samba, который управляет соединениями с клиентами.
/usr/sbin/nmbd:
сервер NetBIOS, который позволяет клиентам определять местонахождение серверов в сети Windows.
/usr/bin/smbclient:
базовый клиент Samba для доступа к серверам SMB.
/etc/smb.conf:
файл конфигурации Samba.
Программа smbclient обычно инсталлируется в /usr/bin. Она используется для перемещения файлов,с разделяемых ресурсов SMB-сервера и обратно посредством FTP-подобного интерфейса.
Первый этап использования smbclient - установление соединения с ресурсами SMB-сервера Простейшая форма команды такова:
$ srnbclrient
\\server\resourcename
Конечно, в действительности все сложнее. Если необходимо указать пароль для получения доступа к защищенному ресурсу, то команда становится более громоздкой:
$ smbclient
\\server\resourcename password
Имеется несколько флагов, позволяющих изменить характер соединения программы smbclient с сервером. Основные флаги перечислены в табл. 29.2.
Табл. 29.2.
Основные флаги программы smbclient
Флаг |
Действие | ||||||
-L
host -I IP_address -N -U usemame -W workgroup -Т tar options | Флаг выводит на экран список сервисов, доступных на сервере, заданном параметром host; при использовании этого флага нет необходимости указывать ресурс Флаг полезен, если не может быть найден адрес по имени; smbclient полагает, что компьютер расположен по указанному ГР-адресу Флаг подавляет приглашение password. Особенно полезен, когда доступ к ресурсу осуществляется без пароля. Если этот флаг не установлен, а пароль не требуется, пользователь все же получает приглашение для ввода и должен нажимать клавишу Enter для ввода пустого пароля Используя этот флаг, можно указать username для установки соединения с ресурсом. Без этого флага сервер использует содержимое переменных среды USER или LOGNAME; и если они пустые, сервер не получает username. Отправить пароль к серверу можно, введя знак процента (%) после username, а затем введя пароль: -U username%pas sword Определяет, какая рабочая группа используется при соединении с сервером Позволяет перемещать данные в tar-файл локальной системы Linux и обратно. Например, -Тх backup . tar восстанавливает файлы из backup . tar на удаленном ресурсе, в то время как -Тс backup . tar создает tar-файл с именем backup . tar, содержащий все файлы и каталоги удаленного ресурса | ||||||
Операция |
Описание |
||
cd directory |
Переход в другой каталог 8MB совместно используемого ресурса |
||
del file |
Удаление указанного файла с сервера (также используется команда rm) |
||
dir |
Отображение содержимого текущего каталога сервера (также используется команда Is) |
||
get file |
Получение указанного файла с удаленного сервера и сохранение его с тем же именем в текущем каталоге локальной системы; можно задать другое имя для файла на локальной системе: get file localfilename |
||
lcd directory |
Переход в указанный каталог на локальной системе |
||
mget filemask |
Получение всех файлов на удаленном сервере, удовлетворяющих указанной маске файла |
||
mkdir directory |
Создание указанного каталога на удаленном сервере (также используется команда md) |
||
триt f i1 ema sk |
Копирование всех файлов локального каталога, удовлетворяющих указанной маске файла, в текущий каталог удаленного сервера |
||
prompt |
Включение/выключение подсказки для операций с несколькими файлами (mput и mget). При задании значения on пользователи получают подсказку при копировании каждого файла |
||
put file |
Копирование указанного файла из текущего локального каталога в текущий каталог на удаленном сервере, имя файла остается прежним. Имя файла на удаленном сервере можно изменить: put file remote filename |
||
quit |
Выход из программы smbclient (также используется команда exit) |
||
recurse |
Включает/выключает доступ к подкаталогам для операций с несколькими файлами (mput и mget). Когда задано значение on, команда при копировании файлов осуществляет поиск по всем подкаталогам текущего каталога |
||
rmdir directory |
Удаление каталога с удаленного сервера (также используется команда rd) |
||
Пакет smbfs обеспечивает непосредственное монтирование удаленных ресурсов 8MB в Linux таким же образом, как тома NFS монтируются в Linux. Использовать smbfs после инсталляции крайне просто. Если вы используете Red Hat Linux 7.1, то smbfs должен устанаативаться в ходе инсталляции пакета samba -2 .0.7-36. 1386 .rpm.
Использование
smbmount
Основой пакета smbfs является программа smbmount. Программа smbmount - это инструмент, который используется для монтирования совместно используемых ресурсов 8MB в системе Linux. В наиболее общем виде команда smbmount имеет форму: # smbmount / / servername/resourcename
mountpoint
Как и в команде mount, точка монтирования mountpoint представлена существующим каталогом в локальной системе (который может быть, а вероятно, и должен быть, пустым). Прямые косые черты (/) используются вместо обратных (\) в спецификации разделяемых ресурсов 8MB во избежание проблем, связанных с использованием обратных косых черт в некоторых оболочках.
Предупреждение
Здесь имеется одна тонкость: smbmount не использует NetBIOS для поиска имени сервера. Если имя сервера SMB отличается от имени TCP/IP сервера, команда smbmount работать не будет. В такой ситуации используется хост-имя Unix для сервера.
Полная документация по команде smbmount приведена на странице руководства smbmount (man smbmount).
Сценарий smbprint - это инструмент, который делает возможным печать с использованием smbclient через стандартную очередь печати Unix. Он выполняет печать на удаленном принтере SMB.
Сценарий smbprint в большинстве инсталляций Samba находится в /usr /bin/srnbprint.
Чтобы использовать этот сценарий, необходимо создать запись printcap для удаленного принтера и файл конфигурации, в котором указано расположение принтера.
Запись printcap:
gueuename:\
:sd=/var/spool/samba:\
:af=/var/spool/samba/accountingfile:\
:if=/usr/bin/smbprint:\
:mx=0:\
:lp=/dev/null:
Проанализируем приведенную запись.
sd=/var/spool /samba -
указывает каталог спуллинга.
af=/var /spool/ 8eanba/a.ccowntingf
He - указывает файл счетов. Этот файл должен
находиться в том каталоге, что и файл конфигурации, возможно, в каталоге spool.
if =/usr/bin/smbprint
-
задает входной фильтр (smbprint).
lp=/dev/null
-
определяет, что принтер физически не соединен с компьютером, на котором находится файл printcap.
Затем необходимо создать файл конфигурации с именем . conf ig в том же каталоге, что и файл accounting. Этот файл содержит три записи.
sеrvеr=ИмяСервера
password=
"пароль "
После создания записи и файла конфигурации большинство файлов можно будет печатать, используя команду 1рг.
$ 1pr -P
ИмяОчереди ИмяФайла
Поскольку этот способ печати используется в приложениях, подобных Netscape Communicator, данная конфигурация работает для большинства принтеров и приложений.
Записи конфигурации Samba находятся в файле /etc/smb. conf. Файл smb. conf состоит из множества записей, которые содержат заголовок и ряд параметров. Например, следующая последовательность позволяет совместно использовать в сети каталог / trap.
[temp]
comment = Temporary file space path = /tmp read only = no public = yes
Заметьте: заголовок помещен в квадратные скобки ([temp]), каждый параметр записан в отдельной строке, имеющей жестко заданную структуру:
параметр
=
значение.
Секция [global]
Большинство файлов smb. conf начинаются с секции [global], в которой указываются некоторые важные параметры, определяющие общее поведение Samba. Обычно секция [global] содержит следующие параметры:
printing
-
указывает на используемый тип системы печати; для последних версий систем Linux - это Iprng.
printcap name
-
указывает местоположение файлаprintcap; обычно это /etc/printcap.
load printers
-
указывает, будут ли совместно использоваться принтеры.
guest account
-
задает, какой пользователь Linux используется для установки гостевых соединений. Большинство администраторов Linux указывают nobody из-за сильного ограничения привилегий.
workgroup
-
указывает, к какой рабочей группе или домену принадлежит сервер Samba.
security
-
предписывает, как аутентифицировать пользователей для доступа к ресурсам системы. Доступны четыре значения: user, server, domain и share.
user
- если для данного параметра установлено значение user, то Samba проводит аутентификацию с использованием файла локальных паролей Unix. Это наиболее часто используемый способ (и самый простой).
server
-
если для параметра установлено значение server, Samba проводит аутентификацию при помощи доменного сервера Windows NT/2000, заданного параметром password server. Другой Samba-сервер может работать в режиме эмуляции доменного сервера Windows NT/2000.
domain
-
требует задания NetBIOS-имени для Samba-сервера доменного контроллера Windows. NetBIOS-имя обычно совпадает с хост-именем, если имеет длину не более 15 символов.
Параметр |
Описание |
||
comment path browseable printable public writable create mode |
Содержит информацию о секции, но не влияет на ее выполнение Указывает путь спуллинга spool; пользователь может создать свой собственный каталог spool для Samba (например, Red Hat Linux создает /var/ spool / samba) Как и для домашних каталогов, значение по гарантирует, что пользоваться принтерами могут только пользователи с правом доступа Этот параметр должен иметь значение yes, иначе печать не будет работать (как можно печатать на непечатающем принтере?) Если установлено значение yes, то гостевые подключения смогут пользоваться услугами печати; во многих сетях для этого параметра задают значение по для предотвращения чрезмерной загрузки принтера гостевыми пользователями Принтеры не допускают запись, поэтому данный параметр должен иметь значение по Определяет разрешения для файлов spool, созданных при печати; обычно для этого параметра задают значение 0700 |
||
Взаимодействие NetWare-Linux гораздо менее устойчиво, чем взаимодействие Windows-Linux. По этой причине мы рассмотрим доступные опции без деталей их реализации.
Примечание
В области свободно распространяемого программного обеспечения существует клиентский пакет Novell NetWare, называющийся ncpf s. Этот пакет реализует ограниченное количество функций. Существует также бета-версия сервера NetWare с именем mars_nwe. Оба продукта работают лишь с определенными версиями NetWare и продуктов, взаимодействующих с NetWare. Оба пакета входят в Red Hat Linux 7.1. Может возникнуть необходимость установки IPX на вашем компьютере. Пакет утилит IPX доступен на диске Red Hat Linux 7.1 CD-ROM, включенном в книгу, в подкаталоге /RedHat/RPMS, в файле ipxutils-2.2.0.18-3.1386. rpm.
Вместе ncpf s и mars_nwe обеспечивают полное бесплатное решение для взаимодействия Linux-NetWare. Пакет ncpfs можно загрузить с узла ftp.gwdg.de/pub/linux/misc/ncpfs, а пакет mars_nwe - с узла http: / /www. compu-art. de/download/mars_nwe.html. Большая часть документации, в особенности для mars_nwe, составлена на немецком языке, но неплохие руководства доступны в IPX-HOWTO по адресу http: / /www. linuxdoc. org/ HOWTO/ IPX-HOWTO.html.
Однако оба пЯкета имеют ограничения.
• Пакеты совместимы только с NetWare 3.x.
• Ncpfs не поддерживает обратную совместимость с серверами NetWare 2.x.
• Ncpfs не работает с некоторыми NetWare-совместимыми серверами, такими как Windows NT 3.51.
•
Совместное использование файлов и принтеров Linux сетями Windows
•
Доступ к файлам и принтерам сети Windows из систем Linux
•
Подключение Linux к сети Novell
В этой главе рассмотрены возможности Linux, благодаря которым эта операционная система стала привлекательным обеспечением для многих существующих сетей Intranet.
Если в организации развернута стандартная сеть Windows, то Linux может усовершенствовать эту сеть и выполнить в ней роль эффективного, квалифицированного и мощного файл-сервера и сервера печати. С более низко» ценой, чем у Windows NT/2000, и устойчивостью работы, превосходящей Windows 95/98/Me, Linux может стать идеальным файл-сервером и сервером печати для организаций с ограниченным бюджетом, в которых необходимо организовать совместное использование файлов рабочими станциями.
Также Linux может получать доступ к файлам, хранящимся на файл-сервере Windows, как будто они находятся на локальном жестком диске системы Linux. Эту возможность можно использовать в самых различных целях. Например, если на вашем компьютере работает Web-сервер Linux, но разработки для Web выполняются в системе Windows. В таком случае, Linux Web-сервер может автоматически устанавливать связь с предопределенным каталогом в системе разработки Windows и копировать новые файлы на Web-сервер. Тогда ручное обновление содержимого Web-сервера становится ненужным. -
Мы рассмотрим возможность интеграции системы в сеть Novell. Хотя инструментальные средства для интеграции системы Linux в сети Novell не так хорошо развиты и устойчивы, как
источники информации по этому вопросу.
Типичным способом объединения сети Linux-Windows является настройка системы Linux для работы в качестве файл-сервера и сервера печати для клиентов Windows в сети. Такой тип интеграции осуществляется при помощи Samba. Samba - это набор программного обеспечения, поддерживающего протокол 8MB (Server Message Block - Блок сообщений сервера) в Linux. Протокол SMB является основой совместного использования файлов и печати в сети Windows. Клиентами для SMB-сервера под управлением Linux могут быть LAN Manager, Windows 95/98/Me, Windows NT/2000, OS/2 и различные системы Linux.
Если сеть работает с TCP/IP, то конфигурирование сети завершено и можно запускать Samba. Но при работе в сети NetBIOS необходимо дополнительно проверить, имеются ли в файле /etc/services следующие строки (если этих строк в файле нет, добавьте их).
netbios-ns 137/tcp # NETBIOS Name Service
netbios-ns 137/udp
netbios-dgm 138/tcp # NETBIOS Datagram Service
netbios-dgm 138/udp
netbios-ssn 139/tcp # NETBIOS session service
netbios-ssn 139/udp
Теперь конфигурирование Samba полностью завершено и можно запустить программное обеспечение. По умолчанию версия Samba для Red Hat Linux запускается при начальной загрузке, поэтому доступ к Samba есть всегда. Кроме того, для запуска и останова Samba вручную можно использовать системный сценарий /etc/re.d/init.d/ smb.
Например, следующая команда запускает Samba,
#
/etc/re.d/init.d/smb start
а следующая - останавливает:
#
/etc/re, d/init.-d/smb stop
Для одновременного останова и запуска smbd и nrabd используйте команду
#
/etc/re.d/init.d/smb restart
Следующими двумя командами пользователь root системы запускает Samba вручную.
/usr/sbin/smbd -D
/usr/sbin/nmbd -D
Существует ряд конфигураций, используемых для выполнения DOSEmu в Linux. Перечислим их.
Загрузка DOS с дискеты.
Загрузка DOS с образа диска.
Загрузка DOS из отдельного раздела.
Чтобы упростить задачу и пояснить работу программного обеспечения, в главе рассмотрена только загрузка DOS с образа диска. Более сложные конфигурации, включая загрузку с других носителей, хорошо описаны в документации, которая после установки DOSEmu находится в каталоге /usr/doc/dosemu/.
Примечание
Подробная информация и документация для DOSEmu находится в http: / /www. dosemu. org. Полезные сведения включены в файлы HOWTO на сайте
http://www.dosemu.org/docs/
HOWTO/. С этого сайта можно загрузить последнюю версию DOSEmu с полными инструкциями по инсталляции!
Чтобы запустить DOS, необходимо иметь файл конфигурации /etc/dosemu.conf. Это очень сложный файл, который имеет обширную документацию.
Пакет DOSEmu облегчает эту задачу, поскольку имеется предварительно сконфигурированный файл образа диска и файл dosemu. conf для загрузки с образа диска. Сам образ диска находится в /var/lib/dosemu/hdimage. Он содержит бесплатный вариант DOS FreeDOS и множество полезных команд и утилит, среди которых fdisk, format, unix2dos и Iredir (утилита переадресации каталогов Linux в символы дисков DOS).
Чтобы пояснить, что понимается- под конфигурированием среды DOSEmu, приведем содержимое включенного по умолчанию в Red Hat Linux 7.1 файла dosemu. conf:
#####################################################
# Это файл /etc/dosemu.conf, содержащийся в /var/lib/dosemu/global.conf #
# Конфигурация Linux DOSEMU для версий >= 3 (dosemu-0.97.1) #
# ./doc/README.txt (раздел 2.) содержит описание синтаксиса и
# использования dosemu.conf. #
#
# Права доступа определены в #
# /etc/dosemu. users | |||||
# | |||||
################################################# | |||||
# Примечания для редактирования этого раздела : #- . | |||||
# В $ ххх = (n) n - это числовая или двоичная величина | |||||
# = | |||||
# В $ zzz = "s" s - это строка | |||||
# | |||||
# Пожалуйста, редактируйте только между скобками и кавычками, | |||||
# остальное сохраняйте нетронутым. | |||||
| | |||||
$_debug = "-а" # тот же формат, что в опциях команды -D | |||||
# (но без -D впереди) | |||||
$_features= " # список временных установок, смотрите примечания | |||||
# в файле ChangeLog. Например", "0:1 2:0", | |||||
# который означает: | |||||
# установить feature 0 в 1 и feature 2 в 0. | |||||
$_timint = (on) # эмуляция типа прерывания таймера INT08 | |||||
$_matheo = (on) # или отключение | |||||
$ сри = (80386) # эмулятора CPU, допустимые значения: 80 [345] 86 | |||||
$ rdtsc = (off) # если возможно использовать в Pentium | |||||
# счетчик цикла | |||||
$_cpuspeed = (0) # 0 = калиброванный dosemu, иначе указать | |||||
# (например, 166.666) | |||||
$_pci = (off) | |||||
$_xms = (1024) # Кбайт | |||||
$_ems = (1024) # Кбайт | |||||
$_ems_frame = (0xe000) | |||||
$_dpmi = (off) # Кбайт | |||||
$_dosmem = (640) # Кбайт, < 640 | |||||
$_hardware_ram = " # список значений сегмента /диапазонов, как | |||||
# "0xc8000 диапазон 0xcc000.0xcffff" | |||||
$_securc ="hgd" # безопасность для: п (обычные пользователи) , | |||||
# g (гости) , d (dexe) | |||||
# пустая строка: зависит от 'restricted' | |||||
# "0": всегда опасный (не рекомендуется) | |||||
$_odd_hosts = " # черный 'список, как "lucifer.hell.com billy, the. cat" | |||||
$_diskless_hosts=" ' # черный список, как "hackerl newbee gatewayl" | |||||
$_emusys = " # пустой или 3 симв., config.sys -> config.XXX | |||||
$_emubat = " # пустой или 3 симв., autoexec.bat -> autoexec. XXX | |||||
$_emuini = " # пустой или 3 симв., system.ini -> system. XXX | |||||
$_hogthreshold = (1) # 0 — вся мощность CPU для DOSEMU | |||||
$_irqpassing = " # список номеров IRQ (2-15) , переданных DOS, | |||||
# например "3 8 10" | |||||
$_speaker = " # или "native", или "emulated" | |||||
$_term_char_set = " # Глобальная кодовая страница и выбор |
||
# набора символов. |
||
# "" — автоматическая, или: ibm, latin, |
||
# latinl, Iatin2 |
||
t * |
||
$_term_color = (on) # терминал с поддержкой цвета |
||
$_term_updfreq = (4) # время между обновлениями |
||
# (единицы: 20 == 1 секунда) |
||
$_escchar = (30) # 30 == Ctrl-", приставка спец. последовательности |
||
$_rawkeyboard = (0) # обход нормального ввода с клавиатуры - |
||
'# возможна опасность |
||
$_layout = "auto" t одно из: f innish (-latinl) , de(-iatinl) , be', it, us |
||
# uk, dk(-latinl) ,. keyb-no, no-latinl, dvorak, po |
||
# sg (-latinl), fr (-latinl) , sf (-latinl) , es( -latinl) |
||
Я # sw, hu(-latin2), hu-cwi, keyb-user |
||
tt hr-cp852, hr-latin2 |
||
# или 'auto' ( для генерации таблицы из текущих |
||
# параметров консоли Linux) |
||
$_keybint = (on) # эмуляция прерывания клавиатуры ПК |
||
$_X_updfreq - (5) # Время между обновлениями (единицы: 20 =»= 1 секунда) |
||
$_X_title = "DOS in а ЮХ" # Надпись в строке заголовка окна |
||
$_X_icon_name = "xdos" # Текст для значка, когда минимизировано |
||
$_X_keycode = (auto) # on == перевод клавиатуры через таблицу |
||
# символов dosemu |
||
$_X_blinlcrate = (9) # скорость мерцания курсора |
||
$_X_font = "" # basename из /usr/XHRG/lib/X11/fonts/misc/* |
||
# (без расширения) например, "vga" |
||
$_X_mitsbm = (on) # Использовать разделяемые расширения памяти |
||
$_X_sharecmap = (off) # Разделять карту цветов с другими приложениями |
||
$_X_fixed_aspect = (on) # Установить фиксированный размер для |
||
# графического окна |
||
$_X_aspect_43 = (on) # Всегда использовать отношение 4:3 для графики |
||
$_X_lin_filt = (off) # Использовать линейный фильтр для интерполяции >15 Ьрр |
||
$_X_bilin_filt° = (off) # Использовать билинейный фильтр для |
||
# интерполяции >15 Ьрр- |
||
$_X_model3fact = (2) # Фактор начального размера для видеорежима 0x13 |
||
# (320x200) |
||
$_X_winsize = " # "х,у" начального размера окна |
||
# (по умолчанию с плавающей точкой) |
||
$_X_gamma = (1.0) # гамма-коррекция |
||
$_X_vgaemu_memsize = (1024) # размер (в Кбайтах) буфера фреймов |
||
# для эмуляции vga |
||
$_X_lfb = (on) # использовать линейный буфер фрэймов в режиме VESA |
||
$_X_pm_interface = (on) # использовать защищенный режим интерфейса |
||
# для режима VESA |
||
$_X_mgrab_key = " # имя KeySym для активации захвата мыши, |
||
# пусто == off |
||
$_X_vesamode = " # "xres , yres ' . . . xres , yres" |
||
# список vesamodes для добавления. Список содержит |
||
# пары, разделяемые пробелами: "xres, yres" |
||
$_video = "vga" |
# одно из: plainvga, vga, ega, mda'," mga, cga |
||
$_console = (0) |
# использовать видео 'console' |
||
$_graphics = (0) |
# использовать BIOS карты для установки графики |
||
$_videoportaccess = (1) |
# позволить доступ к видеопорту, |
||
# когда доступно 'graphics' |
|||
$_vbios_seg = '(0xc000) |
# установка адреса VBIOS (например, ОхеООО) |
||
$_vbios_size = (0x10000) |
# установка размера BIOS (например, 0x8000) |
||
$_vmemsize = (1024) |
# размер буфера регенерации |
||
$_chipset = |
# одно из: plainvga, trident, et4000, diamond, avance |
||
# cirrus, matrox, wdvga, paradise, ati, s3, sis |
|||
$_dualmon = (0) |
# если имеется один vga. и один hgc (2 монитора) |
||
$_vbootf loppy = "" |
# если необходимо загружаться с виртуального дисковода: |
||
# имя "файла образа диска под /var/lib/dosemu |
|||
# например, "f loppyimage" отключает $ hdimage |
|||
# "floppyimage +hd" не отключает $ hdimage |
|||
$_floppy_a ="threeinch" |
# или "fiveinch", или "atapi", или пусто, |
||
# если не существует. |
|||
# Устройство может быть добавлено как |
|||
# J'threeinch:/dev/fd0" |
|||
$_floppy_b = "" |
# dito для В: |
||
$_hdimage = "hdimage . first' |
# список hdimages под /var/lib/dosemu |
||
# назначенный в порядке, подобном |
|||
# "hdiraage_c hdimage_d hdimage_e" |
|||
# Если имя начинается с Vdev/', то используется |
|||
# раздел доступа вместо виртуального hdimage. |
|||
# например, "/dev/hdal" или "/dev/hdal:ro" |
|||
# только для чтения. |
|||
# Текущие монтированные устройства и swap |
|||
# отменяются. |
|||
# Hdimages и устройства могут быть смешаны, |
|||
# например, "hdimage_c /dev/hdal /dev/hda3 :ro" |
|||
# Заметим, wholedisk' не поддерживается. |
|||
$_hdimage_r = $_hdimage |
# hdimages для ограниченного доступа (если иначе) |
||
$_aspi = "" |
# список общих устройств SCSI доступных для |
||
# встроенного драйвера aspl |
|||
# (формат записи 'устройство: тип: цель', например, |
|||
# "sg2:WORM sg3 : Sequential-Access: 6 sg4: CD-ROM" или |
|||
# "sg2:4 sg3:l:6 sg4:5" (что одинаково)) |
|||
$_coml = " |
# например, "/dev/mouse" или "/dev/cuaO" |
||
$_com2 = " " |
# например, "/dev/modem" или "/dev/cual" |
||
$_com3 = " |
# dito "/dev/cua2" |
||
$_com4 = "" |
# dito "/dev/cua3" |
||
$_ttylocks = " |
# Каталог Lock (например "/var/lock") |
||
# по умолчанию ("") /usr/spool/uucp |
|||
$_mouse = " |
# одно из: microsoft, mousesystems, logitech, |
||
* mmseries |
|||
# mbuseman, hitachi, busmouse, ps2 |
|||
$_mouse_dev = |
# одно из: com1, com2, com3, com4 или /dev /mouse |
||
$_mouse_flags = " |
# список пустой или один или более: |
||
# "emulateSbuttons cleardtr" |
|||
$_mouse_baud = (0) |
# скорость в бодах, 0 == не установлено |
||
$_pr inter = "Ip" |
# список (/etc/printcap) имен принтеров, в виде |
||
# LPT1, LPT2, LPT3 (не все необходим, пусто - если нет) |
|||
$_printer_timeout = (20) |
# время задержки в секундах перед спуллингом |
||
$_ports = "" |
# список номеров портов, например, "Oxlce Oxlcf 0x238" |
||
# или "0xlce диапазон 0x280, Ox29f 310" |
|||
# или "диапазон 0xla0, (OxlaO+15)" |
|||
$_ipxsupport = (off) |
# или on |
||
$_novell_hack = (off) |
|||
$_vnet = (off) |
# 'on' для многопакетного (используется для dosnet) |
||
$_sound = (off) |
# звуковая поддержка on/off |
||
$_sb_base = (0x220) |
|||
$_sb_irq = (5) |
|||
$_sb_dma = (1) |
|||
$_sb_dsp = "/dev/dsp" |
|||
$_sb_jnixer = "/dev/mixer" |
|||
$_ropu_base = "0x330" |
|||
Команда |
Описание |
||
eject . com emumouse . com exitemu . com lredir.com unix . com |
Выдвигает дисковод CD-ROM Настраивает драйвер мыши DOSEmu Выход из DOSEmu Переадресует каталог Unix в символ диска DOS Выполняет команду Linux из DOSEmu |
||
Выполнение приложений DOS в Linux
VMware
Почему не Wine?
Один из главных аргументов против использования Linux в качестве ежедневной операционной системы для работы с текстовыми документами - недостаточное количество приложений для Linux. Добавьте к этому невозможность выполнения приложений Windows, и Linux превратится всего лишь в прихоть, еще один пример великой технологии и плохого маркетинга.
В действительности, Linux
может
выполнять большинство приложений DOS и многие приложения Windows, и в будущем предполагается еще большая совместимость с Windows. Существует два коммерческих продукта, позволяющих реализовать такие предположения: VMware и Win4Lin. Оба они дают возможность запускать Microsoft Windows в Linux. Возможности Win4Lin ограничены Microsoft Windows 95/98, но VMware способен выполнять все версии Microsoft Windows в Linux. Для VMware существует программный продукт, позволяющий также запускать все версии Linux в Microsoft Windows NT/2000. В этой главе мы рассмотрим базовую инсталляцию VMware Workstation для Linux.
Сегодня Linux поддерживает DOS, а ряд популярных приложений DOS может выполняться под Linux с минимальными усилиями.
Кроме того, предпринимаются попытки обеспечить полную совместимость Windows с Linux. Вероятно, лидером в этой области можно назвать Wine. Полностью следуя основной парадигме Linux, команда разработчиков Linux реализовала Wine как свободно-распространяемый, а не коммерческий Windows-совместимый продукт. С помощью заинтересованных коммерческих разработчиков Wine был включен в набор продуктов, опираясь на который фирмы, распространяющие программное обеспечение, могут быстро переносить свои приложения из среды Microsoft Windows в среду Linux.
Чтобы DOSEmu была полезной, она должна работать не только с образами дисков или дискетами. Необходим доступ к частям файлового дерева Linux, как к дискам DOS. Эта возможность позволит среде DOS осуществлять доступ к данным и приложениям, сохраненным в любом существующем разделе DOS, Linux или жестком диске системы.
Работа с DOSEmu начинается еще до ее загрузки: необходимо убедиться, что разделы, к которым будет осуществляться доступ, монтированы в структуру каталога Linux. Например, если имеется раздел DOS, можно монтировать его в /dos.
После того, как организован доступ к нужным каталогам и разделам, запустите среду DOS командой .
$ dos
или *
$ xdos
После запуска DOS используется команда Iredir для переадресации каталогов Linux в символы дисков DOS. Синтаксис команды Iredir следующий:
$ Iredir символ диска:
\fs/каталог linuх
Команда Iredir делает нужный каталог Linux доступным в DOS с использованием указанною символа диска. Например, чтобы сделать раздел DOS, монтированный в Linux как /dos, доступным в среде DOSEmu как диск D:, используйте команду
$ Iredir D: linux\fs/dos
Примечание
При работе с образом диска, заданным по умолчанию в Red Hat, команда Iredir находится в каталоге с: \dosemu. Если этот каталог в пути отсутствует, то следует использовать полный путь для команды (с: \dosemu\lredir) или сделать с: \dosemu текущим каталогом.
Другим полезным приложением команды Iredir является поддержка доступа пользователей к их домашним каталогам на указанном символе диска DOS. Для этого используется следующая вариация команды Iredir:
$ Iredir E: linux\fs\${HOME}
В этой команде информация о домашнем каталоге пользователя извлекается из переменной НОМЕ среды Linux, в которой Red Hat сохраняет домашний каталог текущего пользователя.
Если начальная загрузка происходит с образа диска, но всю загрузку желательно выполнить с использованием файла conf ig. sys, находящегося в другом месте (например, в монтированном разделе DOS), то выполняется два действия.
Следует отредактировать файл conf ig. sys на начальном образе диска (в приведенном ниже примере он расположен в каталоге /var/lib/dosemu/bootdir. first), который используется для загрузки средой DOSEmu. Первая строка файла (предполагаем, что раздел DOS монтирован под Linux в / dos) должна быть следующей.
install=c:\dosemu\lredir.exe с: linux\fs/dos
Следует убедиться, что файлы conf ig. sys на образе диска и в разделе DOS идентичны. Т.е. строка из шага 1 должна быть включена в файл conf ig. sys раздела DOS.
Перед выполнением остальных команд из conf ig. sys и autoexec. bat образ диска будет размонтирован, а раздел DOS - перенаправлен на С: в среду DOS.
Пакет Wine совершенно отличается от VMware по двум причинам: он не является коммерческим продуктом и его цель - обеспечить в системах Linux полностью бесплатную среду, в которой выполняются приложения Windows.
Последнее особенно важно. Пока разрабатываемые версии Wine ориентированы на инсталляцию некоторых системных файлов Windows, цель проекта - достичь альтернативы: если на системе Linux инсталлирован Wine, то для выполнения Windows-приложений нет необходимости инсталлировать сам Windows.
Как и многие приложения Linux, Wine находится в постоянной разработке и изменении, и рассматривается как предварительная версия программного обеспечения. В документации по Wine указано, что данное программное обеспечение не должно рассматриваться как окончательный готовый код и должно использоваться с осторожностью. Домашняя страница Wine - http : / / www. winehq. com/; новые версии Wine выпускаются часто и с этого сайта всегда можно загрузить последнюю версию пакета.
Компиляция, конфигурирование и инсталляция Wine отражают фазу раннего развития продукта. Но даже в этом случае возможна надежная поддержка приложений Windows, включая Word 6 (25 процентов этой книги были написаны именно так).
VMware отнрсится к категории коммерческого программного обеспечения и не подчиняется лицензии GNU General Public License. Но вы можете попробовать стандартную версию VMware в течение 30 дней без нарушения лицензионного соглашения. Загрузить VMware можно с корпоративного сайта http: / /www. vmware. com.
На момент написания книги были доступны две версии VMware. VMware Workstation позволяет запускать любую из перечисленных выше операционных систем на виртуальной машине. VMware Express позволяет запускать только Windows 95/98 под Linux. В зависимости от выбранной вами версии VMware для настольного компьютера, лицензия для коммерческого использования обойдется вам от 59 $ до 329 $. В этой главе мы рассматриваем загрузку и установку версии VMware Workstation 2.0.4 (build 1142) для Linux. Для других версий VMware процедура может несколько отличаться.
Даже несмотря на незавершенность, Wine следует признать успешным проектом. Сторонние разработчики программ используют инструментарий Wine для переноса своих продуктов из Windows в Linux. Другими словами, они применяют Wine, чтобы позволить своим программам работать под Linux, не переписывая код.
Corel - фирма, поддерживающая комплект офисных программ WordPerfect, - начала работать с Wine в 1998 году В этой фирме разработан собственный вариант инструментария Wine для поддержки версий WordPerfect для Linux, начиная с версии 7, включая все последующие вплоть до последней -WordPerfect Office 2000 для Linux. Фирма Corel также перенесла комплект CorelDraw Graphics, используя Wine.
Хотя фирма Corel разработала инструментарий Wine независимо от группы разработчиков проекта Wine, они позже объединили усилия в соответствии с лицензией GNU General Public License.
Фирма Deneba - один из лидеров в области графики и САПР - предприняла усилия по переносу своих высокоэффективных приложений Canvas в среду Linux. Поставленная задача переноса была решена средствами Wine в течение шести месяцев. Фактически, большая часть работы (пре-бета) была завершена с минимальными доработками библиотек Wine за два месяца.
Указанные приложения работают сами по себе. Никакой эмуляции наподобие VMware не нужно. Такой подход составляет основу Wine. Кстати название Wine расшифровывается как Wine Is Not an Emulator (Wine - не эмулятор).
Поскольку DOSEmu не является частью стандартного дистрибутива Red Hat Linux 7.1, вам придется его загрузить. На момент написания книги последней версией дистрибутива была версия 1.0.1, доступная как в виде сжатого архива (tar. gz), так и в RPM-формате на домашней странице DOSEmu по адресу http: / /www. dosemu. org/stable.
Если вы работаете с Red Hat Linux 7.1 (или любым дистрибутивом, использующим RPM-пакеты), загрузите и установите DOSEmu. Например, загрузив его в каталог / trap, вы можете установить эмулятор из режима корневого пользователя с помощью команды:
rpm -i /tmp/dosemu-1.0.1-1.1386.rpm
Необходимо запустить VMware в X Window. Откройте интерфейс командной строки, например, терминал GNOME, Konsole в GNOME или KDE. Запустите VMware Workstation с помощью следующей команды:
$ /usr/bin/vmware
Когда VMware запустится, появится меню с тремя базовыми опциями, показанное на рис. 30.3. Простейший способ установки операционной системы в VMware предполагает выбор опции Run The Configuration Wizard (Запустить мастер конфигурирования) и щелчок на ОК.
Рис. 30.3.
Запуск VMware Затем VMware предложит вам ряд опций, среди которых можно выбрать следующие.
Operating System (Операционная система):
В VMware Workstation можно установить Windows
3.1,95,
98, NT 4.0,2000, Linux или другой известный Unix-клон FreeBSD.
Disk Type Setting (Тип диска):
Можно установить новую операционную систему на новый виртуальный диск или существующий физический.
New Virtual Disk (Новый виртуальный диск):
Позволяет создать виртуальный диск в файле Linux. Этот файл может быть достаточно большим; максимальный размер по умолчанию составляет 2000МВ.
Existing Physical Disk (Существующий физический диск):
Если вы уже установили другую операционную систему на данный компьютер, можете задать доступ к ней через VMware. Ниже мы будем полагать, что создается новый виртуальный диск.
CD-ROM Access (Доступ к CD-ROM):
Можно разрешить виртуальной машине доступ к существующему в системе накопителю CD-ROM.
Floppy Access (Доступ к гибким дискам):
Можно разрешить виртуальной машине доступ к существующему в системе накопителю гибких дисков.
Networking (Работа с сетью):
Предусмотрены две базовых сетевых опции. Если на компьютере установлен работающий сетевой Ethernet-адаптер, можно выбрать опцию Bridged Networking, что обеспечит доступ к локальной сети. Выбор опции Host-only Networking позволит создать двухмашинную сеть, включающую ваш компьютер и операционную систему на виртуальной машине.
После завершения выбора опций, VMware подтвердит сделанные установки. Например, на рис. 30.4 показаны типичные параметры для установки Windows 2000 на Linux-компьютер.
Рис. 30.4.
Конфигурирование VMware
Подтвердив выбор, вы фактически завершаете создание виртуальной машины внутри своего компьютера. Щелкнув на кнопке Power On (Включение питания) на пустом экране VMware, вы "включаете" виртуальную машину. Теперь можно приступать к установке программ с гибких дисков или компакт-дисков CD-ROM.
Совет
Поскольку Red Hat Linux 7.1 включает ядро Linux версии 2.4.2, то она не будет работать с VMware версий, предшествующих 2.0.4.
Другой способ запуска Microsoft Windows 95/98 под Linux основан на использовании Win4Lin фирмы NeTraverse, которая доступна на сайте http: / /www. netraverse. com.
Можно загрузить VMware в формате tar. gz или RPM-формате. Для всех версий VMware, доступных на момент написания книги, процедура установки выглядела одинаково. Если вы устанавливаете версию VMware, отличную от 2.0.4, используемые команды могут несколько отличаться. Последние указания по этому поводу доступны на сайте http: / /www. vmware. com.
Например, если вы загружаете файл tar. gz в каталог / trap, то необходимо будет развернуть архив, перейти в созданный установочный каталог и запустить сценарий установки в режиме корневого пользователя с помощью следующих команд:
$ tar xzvf VMvmware-2.0.4-1142.tar.gz $ cd vmware-distrib $ ./vniware-install.pl
А если вы загрузили RPM-файл в каталог / trap, то необходимо будет его развернуть, перейти в созданный установочный каталог и запустить сценарий установки в режиме корневого пользователя с помощью следующих команд:
S rpm -i vmware-2.0.3-799.1386.rpm $ /usr/bin/vmware-config.pl
После распаковки базового программного обеспечения из файла tar. gz или RPM-файла, дальнейшая процедура в обоих случаях выглядит одинаково. Как правило, большинство подсказок требуют однозначных ответов^ Но если вы уже установили Samba (см. главу 29), то необходимо ответить "по" на следующий вопрос:
Do you want this script to automatically configure your system to allow
your virtual machines to access the host file system? (Должен ли данный сценарий автоматически сконфигурировать вашу систему, чтобы позволить виртуальным машинам получить доступ к файловой системе хоста?)
В противном случае VMware сконфигурирует Samba, причем вовсе не так, как вам нужно.
Примечание
Если вы установили оценочную версию VMware, обратитесь на сайт http: / /www. vmware. com за оценочной лицензией. Следуйте полученным от VMware no e-mail инструкциям установки оценочной лицензии на вашем компьютере.
VMware (www. vmware. com) - технология виртуальных машин. Речь идет о создании виртуального компьютера, использующего все существующие ресурсы данного персонального компьютера. Выполнение виртуального компьютера обеспечивается в отдельном окне, в котором можно инсталлировать любую операционную систему, обычно выполняющуюся на аппаратном обеспечении персонального компьютера.
Версия VMware Workstation, доступная на момент написания книги, поддерживает DOS, Windows 3.1, Windows 95/98, Windows NT/2000 и популярные Unix-дистрибутивы для персональных компьютеров, например FreeBSD и Linux. Ведутся работы над обеспечением поддержки Windows ХР. Поскольку речь идет об установке и выполнении реальной операционной системы, в рамках которой доступна вся аппаратура PC ("виртуальная машина"), то вопросы совместимости практически никогда не возникают. Таким образом, в Linux реализуется способ запуска различных операционных систем для разработки, тестирования и достижения совместимости. Можно одновременно запускать множество экземпляров VMware, каждый из которых выполняет свою операционную систему.
Конечно, необходимо мощное аппаратное обеспечение. Чтобы получить приемлемую эффективность, нужен быстрый процессор Pentium II или Pentium III и большой объем памяти, поскольку Linux и любая клиентская операционная система, выполняющаяся с VMware, будут совместно использовать доступную память. Объем 96 Мбайт представляет собой минимум, необходимый для работы VMware под Linux, любые расширения оперативной памяти (даже до 256 Мбайт и более) пойдут только на пользу.
Поддержка приложений DOS в Linux наиболее существенна и включена в большинство дистрибутивов Linux.
В среде DOSEmu можно инсталлировать и выполнять DOS, (в том числе и последние версии, например DOS 6.2, и даже версии, поставляемые в составе Windows 95/98), а также запускать большинство приложений DOS. Конечно, существуют ограничения, влияющие на графику и операции со шрифтами, но в целом DOS и ее приложения работают хорошо.
Среда DOS может выполняться внутри отдельного окна X Windows, тогда приложение DOS будет, по сути, одной из программ Linux.
Основные возможности DOSEmu следующие:
запуск приложения DOS несколькими пользователями одновременно;
монтирование каталогов Unix на специальный символ диска в среде DOS;
печать на принтер Unix.
При работе с автономной системой Linux необходимо обеспечить самую общую безопасность. Поскольку система не соединена с локальной сетью, а связь с Internet, предположим, осуществляется лишь в короткие промежутки времени по модему, то требования к безопасности системы относительно невысоки.
Некоторые фундаментальные принципы должны соблюдаться уже на этом уровне безопасности.
Следует убедиться, что пароли достаточно сложны и не могут быть легко отгаданы или подобраны. Пароль представляет собой комбинацию букв, чисел и других символов, которая не должна быть словом с точки зрения грамматики человеческого языка. Пароли необходимо часто менять. Особенно важно, чтобы эти требования соблюдались для пароля администратора (пользователя root). (Сложный пароль - это комбинация больших и малых букв, цифр и знаков пунктуации, что делает его сложным для отгадывания.)
Примечание
Существует ряд программ, предназначенных именно для разгадывания паролей. Если пароль представляет собой просто слово из словаря, то его можно распознать в течение
нескольких минут, даже располагая всего лишь ресурсами обычного персонального компьютера. Пароль, состоящий из смеси букв разных регистров и цифр потребует для разгадывания на таком же компьютере уже нескольких недель. Один из простых способов построения сложных (но не забываемых!) паролей основан на использовании базовой фразы. Например, устойчивый к угадыванию пароль OM15lftP легко построить как аббревиатуру по первым буквам слов фразы "On March 15, I'm flying to Paris."
• Убедитесь, что компьютер достаточно хорошо защищен физически. Если компьютер содержит важные данные, не следует оставлять его в открытом офисе, когда идете обедать. Не следует выходить на прогулку, если выполнен вход в систему, особенно если это вход в режиме администратора (root) в консоли или в окне терминала.
• Не создавайте ненужные счета пользователей. Если постоянно систему используют только два человека, создайте счета только для них. Это позволит отслеживать, кто использует систему, и где происходят нарушения защиты.
• Самое ваясное - не сообщать никому пароли (пользователей и администратора), даже людям, которые уполномочены регулярно использовать систему. Следите за надежностью пароля администратора (root). Если он попадет в руки пользователя-злоумышленника, то система может быть разрушена в течение одного дня.
• Поскольку не существует полностью защищенной системы, следует кодировать особо важные данные. Существует много инструментов кодирования, включая кодирование PGP. Руководство по PGP можно найти в Internet по адресу: http: //www. linuxdoc .org/HOWTO/MuttGnuPG-PGP-HOWTO. html. Старая версия документа доступна на узле Linux Focus по адресу
http://www.linuxfocus.org/English/Novemberl997/article7.html
.
Новые аспекты безопасности возникают в момент соединения системы Linux с локальной сетью. Даже если следовать всем приведенным правилам для автономной системы (которые необходимо соблюдать и в случае, когда система находится в локалвной сети), для хакера остается возможность получения доступа к системе Linux благодаря слабости сетевой защиты.
Две простых ограничения помогут уменьшить существующую опасность.
• Не следует запускать ненужные сетевые сервисы. Если нет необходимости в доступе к системе через telnet, то убедитесь, что демон Telnet (вероятно, /usr/sbin/in. telnetd) не инсталлирован и в /etc/ inetd. conf нет записи для него. Аналогично, если компьютер не работает как почтовый сервер, не следует запускать демон sendmail, который может приоткрыть некоторые нежелательные пути проникновения в систему. Те же правила действуют и для большинства сетевых серв-исов: FTP, finger, news, DNS и многих других. Запускайте демонов только тех сетевых сервисов, которые необходимы для соединения с сетью и выполнения ваших задач.
Совет
Если вы используете файл /etc/inetd. conf, обычный для других версий Linux (включая Red Hat Linux 6.x), можете сконвертировать его в формат Red Hat 7.1 xinetd с помощью команды /usr/sbin/inetdconvert.
Если вы пользуетесь другой версией Linux, в которой нет файла /etc/xinetd.conf, убедитесь, что для демона нет записи в файле /etc/inetd. conf (запись можно закомментировать символом [#] в первой позиции соответствующей строки).
• Убедитесь в эффективном использовании файлов /etc/hosts. allow и /etc/hosts .deny (см. гл. 28). Необходимо не только не позволять доступ с любого IP-адреса ко всем сервисам, которые не выполняются на данной системе, но и проверять, что разрешается лишь входящий доступ к сервисам, выполняемым на хост-компьютерах, при наличии соответствующего разрешения. Например, если выполняется сервер FTP для входящего доступа только двум пользователям, следует позволить доступ к FTP-сервису именно с двух систем, а не позволять FTP-соединение любому пользователю ЛВС.
Другие настройки сети конфигурировать не нужно. В завершение заметим: файлы hosts. allow и hosts. deny созданы для того, чтобы маршрутизатор мог защитить себя от нежелательных атак, пресекая попытки удаленного входа в систему через сеть. Маршрутизатор необходимо конфигурировать в консоли, а не через сетевой login. Возможно, лучшее решение - не изменять данные файлы.
•
Проблемы базовой безопасности
•
Конфигурирование брандмауэра в ходе установки
•
Конфигурирование брандмауэра после установки
•
Создание маршрутизатора на основе Linux
Эта глава посвящена двум взаимосвязанным темам: безопасность и связь сетей с Internet.
Мы проанализируем несколько уровней безопасности Linux. Рассмотрим, как сохранить надежность автономных систем Linux и обсудим более широкие проблемы обеспечения безопасности ЛВС, которые имеют выход в Internet. Мы также разберем, как построить брандмауэр для защиты системы в ходе установки и после нее.
Мы ознакомимся с работой Linux Router Project (Проект Маршрутизатора Linux), который
позволяет использовать простую дискету со специальным дистрибутивом Linux для создания Linux-маршрутизатора, работающего как шлюз между локальной сетью и соединением с Internet.
После инсталляции Red Hat Linux 7.1 настройки брандмауэра можно изменить с помощью утилиты lokkit. Если потребуется, монтируйте инсталляционный компакт-диск CD-ROM в каталоге /mnt/cdrom и выполните следующие команды установки пакета:
# rpm -i /Mnt/cdrom/RedHat/RPMS/lokkit-0.43-6.1386.rpm
Установив утилиту lokkit, ее можно запустить из командной строки следующей командой:
# /usr/sbin/lokkit
После запуска утилиты lokkit, на экране появится окно Firewall Configuration, показанное на рис. 31.2. В нем можно установить защиту высокого или среднего уровня или вообще отказаться от услуг брандмауэра па пашем компьютере. В рамках lokkit можно переключаться между опциями с помощью шшиши Tab и устанавливать опции клавишей пробела.
Рис. 31.2.
Окно утилиты lokkit конфигурирования Firewall Configuration
Выберите опцию High (Высокий) или Medium (Средний) уровня защиты и щелкните на кнопке Customize (Настроить). На экране появится меню Firewall Configuration - Customize, подобное показанному на рис. 31.3.
В этом меню представлен ряд опций настройки, которые были доступны в меню Firewall Configuration, использовавшемся в ходе инсталляции Red Hat. Опции сетевой платы содержат инфракрасное устройство (irlanO) и обычный Ethernet-адаптер (ethO). Выберите необходимые опции, как это описывалось выше, и нажмите ОК. В результате вы вернетесь в исходное окно, показанное на рис. 31.2. Далее можно нажать ОК. и утилита lokkit сохранит конфигурацию брандмауэрав файле /etc/sysconf ig/ipchains.
Примечание
Если вы используете утилиту lokkit после инсталляции, брандмауэры с высоким и средним уровнями защиты не открывают DHCP-порт.
Рис. 31.3.
Настройка брандмауэра
Примечание
По умолчанию командой брандмауэра для Red Hat Linux 7.1 является ipchains. Новая команда для ядра 2.4.x - iptables. Можно заблокировать ipchains, и команда iptables будет автоматически использоваться брандмауэром. Однако утилита lokkit не поддерживает конфигурирование iptables. Документация для iptables еще не закончена; свежее HOWTO-руководство можно найти по адресу http: / /va. samba. org/netf ilter/unreliable-guides/packet-f iltering-HOwro/index.html. Как только документация будет готова, а будет доступна по адресу www. linuxdoc. org Web.
Если вы не собираетесь подключать свой компьютер к локальной сети и не собираетесь получать доступ в Internet, то вам брандмауэр не нужен. Если вы подключаетесь к Internet изредка на короткое время, то риск и, соответственно, потребность в брандмауэре невысока. Но если ваш компьютер подключен к локальной сети, которая часто выходит в Internet, вы можете подвергнуться атакам всем разновидностей. Если ваш компьютер непосредственно подключен к Internet по выделенному каналу, наподобие DSL или кабельного модема, то опасность стать объектом атаки максимальна.
В ходе инсталляции Red Hat Linux 7.1 можно сконфигурировать брандмауэр для устанавливаемой системы Linux, как показано на рис. 31.1. Позже мы разберем, как пользоваться утилитой lokkit для создания новой конфигурации брандмауэра. В завершение вы познакомитесь с простым брандмауэром и оцените его возможности.
Вообще, брандмауэр блокирует весь трафик, за некоторыми исключениями. К исключениям относятся настраиваемые шлюзы, позволяющие определенные виды входного и выходного трафика на специальном порте или канале.
В TCP/IP — языке Internet - предусмотрено ди 65 536 портов. Каждый из этих портов подобен "двери", через которую осуществляются определенные разновидности обмена данными. Для выполнения базовых коммуникаций вашему компьютеру потребуется ряд таких дверей. Программа инсталляции Red Hat Linux 7.1 позволяет устанавливать брандмауэры с высоким или средним уровнем защиты, причем вы можете настраивать порты, открываемые для обмена.
Примечание
В TCP/IP все 65536 портов делятся на три категории. Полностью определенные порты (от О до 1023) используются для сервисов, подобных Web-страницам, e-mail и чатам Internet. Зарегистрированные порты (от 1024 до 49151) включают прочие сервисы, подобные Internet-телефонии и NIFS. Можно использовать и другие порты (от 49152 до 65535) в специальных
целях. Официальный список доступен через Internet Assigned Numbers Authority no адресу www. iana. org/assignments/port-numbers. Многие из ЭТИХ портов перечислены в файле
/etc/services.
Рис. 31.1.
Конфигурирование брандмауэра в ходе установки Linux
Далее необходимо сконфигурировать основные настройки сети: указать маршрутизатору, кто вы, какой интерфейс соединен с какой сетью и тому подобное.
Для этого отредактируйте файл главных настроек сети - опция 1 в подменю настроек сети (доступно при выборе опции 1 в главном меню конфигурирования). Файл главных настроек сети открывается в редакторе.
Настраиваемый маршрутизатор будет пересылать сообщения из одной сети в другую. Поэтому необходимо сконфигурировать опции IP Forwarding, т.е. в следующих строках заменить NO на YES.
IPFWDING_KERNEL=YES IPFWDING_FW=YES
Далее позаботьтесь о том, чтоб вы смогли назначить хост-имя маршрутизатору, изменив в следующей строке N0 на YES.
CONFIG_HOSTNAME=YES
Укажите IP-адреса и сетевые маски плат Ethernet. Найдите строки
#IFO_IFNAME=eth0 IFO_IPADDR=dhcp
IFO_NETMASK=255.255.255.255
IFO_BROADCAST=255.255.255.255
IFO_IP_SPOOF=YES
Откорректируйте настройки для eth0 и активизируйте интерфейс, удалив # перед первой строкой.
IFO_IFNAME=eth0
IFO_IPADDR=200.200.200.254
IFO_NETMASK=255.255.255.0
IFO_BROADCAST=200.200.200.255
IFO_IP_SPOOF=YES
Найдите следующие строки.
#IFl_IFNAME=ethl
IF1_IPADDR=192.168.0.20
IF1_NETMASK=255.255.255.0
IF1_BROADCAST=192.168.0.255
IF1_IP_SPOOF=YES
Измените их для ethl (для внешней, защищенной сети) и удалите знак диеза.
IFl_IFNAME=ethl
IF1_IPADDR=10.10.10.1
IF1_NETMASK=255.255.255.0
IF1_BROADCAST=10.10.10.255
IF1 IP SPOOF=YES
Так конфигурируются соответствующие платы Ethernet маршрутизатора для связи с подключенными к ним сетями (убедитесь, что платы Ethernet физически соединены с нужными сетями).
Далее, закомментируйте хост-информацию. Добавьте знаки диезов на первых позициях соответствующих строк. Поскольку данный компьютер работает только как маршрутизатор, хост-информация вообще не нужна.
#HOSTO_IPADDR=192,168.7.123
#HOSTO_GATEWAY_IF=default
#HOSTO_GATEWAY_IP=192.168.1.200
#HOSTO_IPMASQ=NO
#HOSTO_IPMASQ_IF=default
Все обнаруженные сетевые платы перечислены в окне Firewall Configuration (Конфигурирование брандмауэра). На рис. 31.1 показаны две сетевых платы eth0 и eth1. Предположим, что компьютер выполняет функции маршрутизатора между двумя сетями. Адаптер eth0 подключен к локальной сети, a ethl подключен к Internet. Если вы определите одну из этих плат как надежное устройство (trusted device), установив соответствующую опцию, то брандмауэр для этого адаптера будет отключен.
Если вы доверяете всем пользователям всех компьютеров в локальной сети, выберите опцию Customize (Настройка). Это позволит вам определить eth0 как надежное устройство.
С другой стороны, доверять кому бы то ни было подключение к Internet нельзя и выбор ethl недопустим. В противном случае брандмауэр не сможет защитить вас от атак из Internet.
Добавьте в файл /etc/network_direct. conf следующую строку:
[ "IF$" ] && ipfwadm -F -a -m -S "$NETWORKl"/24 -D 0.0.0.0/0
He поясняя синтаксис команды ipfwadm (с которым можно ознакомиться на Web-странице
http://www.dreamwvr.com/ipfwadm/ipfwadm-faq.html)
, отметим, что эта команда выполняет следующее,
• Позволяет осуществлять IP-пересылку для исходящих соединений из защищенной сети во внешний мир.
• Позволяет выполнять IP-подмену (IP masquerading) так, что исходным адресом всех исходящих соединений будет внешний IP-адрес маршрутизатора, а не настоящий адрес хост-компьютера в защищенной сети. Поскольку извне защищенной сети IP-адрес внутри нее не виден, отсутствует возможность использовать этот адрес для проникновения в систему.
• Обрабатывает все возвращаемые соединения так, что данные в ответе на исходящее соединение возвращаются на нужный хост-компьютер.
Теперь сохраните файл (Ctrl+W) и выйдите из редактора (Ctrl+C).
Примечание
Рассмотрение базовой безопасности для более современной утилиты ipchains выходит за рамки этой книги. Для получения более подробных сведений обращайтесь к ссылкам по вопросам безопасности из документации Linux Router Project на сайте irp. cOwz. com. Неплохой пример по этим сценариям приведен в "Seattle Firewall" на сайте seawall.source-forge, net.
ЕСЛИ
вы считаете, что и высокая и средняя степень защиты слишком ущемляют ваши интересы, можете установить исключения для выбранных портов. В окне, показанном на рис. 31.1, выберите опцию Customize (Настроить). Это позволит вам открыть в брандмауэре каналы для необходимых данных. Список Allow Incoming включает типовые трафики, которые могут потребоваться для доступа к Internet. Текстовое поле Other Ports (Другие порты) позволяет открыть другие порты по выбору.
Входной трафик
В списке Allow Incoming (Разрешен входной трафик) шесть типов портов. Они соответствуют разновидностям данных, которые вы собираетесь получить при подключении к Internet, или когда к вашему компьютеру подключаются другие, а он играет роль Web-, e-mail- или FTP-сервера:
DHCP. Разрешен по умолчанию в ходе инсталляции Red Hat Linux. Как мы ранее обсуждали, цель состоит в том, чтобы позволить DHCP-серверам, расположенным вне вашей сети конфигурировать компьютеры в ней.
SSH. Аббревиатура для Secure Shell (Безопасная оболочка). Когда используется SSH, вся процедура входа в сеть шифруется. Если вы хотите использовать пакет Secure Shell для администрирования вашего компьютера с удаленного сайта, вам необходимо будет подключаться через установленный вами брандмауэр. Разрешение SSH открывает порт 22, который предназначен для входов Secure Shell. Чтобы использовать SSH, вам потребуется пакет opensshserver-2.5.2р2-5.1386.rpm.
Telnet. Telnet представляет незащищенный способ входа и ввода команд для удаленного компьютера. Подключившись к удаленному компьютеру через Telnet, вы можете пользоваться интерфейсом командной строки так же, как будто вы локальный пользователь. Поскольку операции обмена Telnet не зашифрованы, любой пользователь, располагающий средством прослушивания вашей сети (оно называется sniffer (анализатор)), может записать пароль и другие передаваемые сведения.
WWW (HTTP). Если вы установили на своем компьютере Web-сервер, вы должны разрешить эту опцию. В противном случае пользователи, пытающиеся получить Web-страницы с вашего компьютера, не получат ничего. Эта опция не нужна для получения Web-страниц из Internet.
Изложенные принципы помогут вам организовать работу с дистрибутивом Linux Router Project для создания (кроме всего прочего) более совершенных маршрутизаторов, способных поддерживать соединения ISDN, пользователей коммутируемого соединения РРР и TnLernet-соединения по выделенной линии. Для этого потребуются дополнительные комбинации модулей и особые конфигурации систем. Необходимую информацию можно получить на Web сайте
http://www.linuxrouter.org
.
Ниже приведена процедура, позволяющая подготовить гибкий диск Linux Router Project в рамках системы Linux. На момент написания книги необходимые файлы можно было загрузить с одного из сайтов, перечисленных по адресу http: / /www. linuxrouter. org/download. shtml.
Загрузите файл образа Linux и сохраните его, где вам удобно, например, в / tup/. На момент написания книги самый свежий образ диска idipt-image_1440KB_FAT_2.9.8_Linux_2.2. gz.
Смените текущий каталог на каталог, в котором находится загруженный файл, командой cd /tmp.
Разверните архив. Образ диска хранится в gz ip-формате, который можно развернуть командой; gunzip idiot-image_1440KB_FAT_2.9.8_Linux_2.2.gz
Скопируйте файл образа диска на флоппи-диск, используя команду dd if=idiot-image_1440KB_FAT_2.9.8_Linux_2.2 of=/dev/fd0
Теперь у вас есть загрузочный диск для дистрибутива Linux Rquter Project. Но это еще не все Необходимы также драйверы сетевых плат, использующие ту же версию ядра (в данном случае -
2.2.16-1).
Повторите описанный процесс для файла 2.2.16-1. tar. gz, доступного на том же сайте Скопируйте его в каталог /tmp. Разверните и разархивируйте его с помощью команды tar xzvf 2.2.16-1. tar.gz. Скопируйте сетевые модули из развернутого подкаталога /tmp
2.2.16-1/modules/net-, на второй гибкий диск. В дальнейшем вам понадобятся оба диска.
Примечание
На момент, написания книги версия 2.9.8 Linux Router Project находилась в стадии бета-тестирования. Другими словами, до тех, пока она не перейдет в категорию финальной реализации, не рекомендуется использовать ее в производственном оборудовании.
Убедитесь, что аппаратное обеспечение достаточно для решения поставленных задач. Хотя компьютер 386SX с оперативной памятью 8 Мбайт можно использовать как маршрутизатор, а компьютер 486DX2 66 МГц с 12 Мбайт ОЗУ - еще лучше, сегодня желательно работать с Pentium 100 МГц или более мощной системой с оперативной памятью объемом не менее 16 Мбайт. Если происходит загрузка с дискеты, то нет необходимости в жестком диске. Если желательно добавить много модулей add-on в конфигурацию Linux Router Project, то объем программного обеспечения может превысить емкость дискеты и придется рассмотреть возможность загрузки с жесткого диска или загрузочного Zip-диска и увеличить объем оперативной памяти до 32 Мбайт. Подробности загрузки с других носителей описаны на домашней странице Linux Router Project.
Тема компьютерной безопасности обширна и не подлежит адекватному рассмотрению в одной главе книги. Фактически, все книги посвящены только некоторым аспектам компьютерной и сетевой безопасности.
Мы поговорим о компьютерной безопасности вообще и тех базовых концепциях, которые можно применить в конкретных условиях.
Чтобы дальнейшее конфигурирование имело смысл, перед запуском программного обеспечения маршрутизатора Linux следует определить среду, в которой маршрутизатор будет работать.
В первую очередь необходимо определить IP-адреса. В незащищенной сети используются адреса от 200.200.200.0 до 200.200.200.255 с маской сети 255.255.255.0. Маршрутизатор, который соединяет сеть с внешним миром, имеет адрес 200.200.200.1, а маршрутизатор, который создается, на своей незащищенной стороне имеет адрес 200.200.200.254. Это подлинные IP-адреса, они уникальны и вся сеть Internet знает об их существовании. Если маршрутизатор для внешнего мира позволяет, то компьютер из Internet может соединяться с любым хост-компьютером в незащищенной локальной сети.
Защищенная сеть использует адреса с 10.10.10.0 до 10.10.10.255 с маской сети 255.255.255.0. Маршрутизатор, соединяющий защищенную локальную сеть с незащищенной, на своей защищенной стороне использует IP-адрес 10.10.10.1. Это ложные, немаршрутизируемые IP-адреса. Внешний мир не знает о существовании хост-компьютеров в локальной сети, у него с ними нет прямой связи. Маршрутизатор (в роли брандмауэра) скрывает существование безопасной сети от остального мира (включая незащищенную сеть).
В создаваемом маршрутизаторе устройство eth0 будет соединено с незащищенной локальной сетью (IP-адрес 200.200.200.254), а устройство ethl будет соединено с защищенной сетью (IР-адрес 10.10.10.1).
Из защищенной сети можно выполнять только исходящие, но ни в коем случае не входящие
соединения. Более того, будет использоваться возможность ядра Linux, известная как IP
masquerading
(IP-подмена), для использования механизма защиты
network address translation
(трансляция сетевого адреса). При трансляции сетевого адреса маршрутизатор не только выполняет маршрутизацию данных из защищенной ЛВС и обратно, но, когда компьютер со стороны защищенной ЛВС соединяется через маршрутизатор, он также скрывает IP-адрес соединяющегося компьютера и транслирует его в адрес незащищенной ЛВС. Соединение нельзя отследить обратно, к действительному IP-адресу хост-компьютера, что помогает скрыть хост-компьютеры защищенной сети от остального мира.
Поскольку защищенная сеть использует немаршрутизируемые IP-адреса, хост-компьютеры незащищенной сети не знают о существовании защищенных хост-компьютеров и не могут связаться с ними. Аналогично, маршрутизатрр, соединяющий незащищенную сеть с Internet, не знает о существовании внутренней, защищенной сети, и никогда не направляет пакеты прямо к хост-компьютерам внутренней сети.
Даже если отдельная система Linux в локальной сети хорошо защищена, в случае, когда ЛВС имеет выход в Internet, оставшаяся часть локальной сети открыта для самых разнообразных атак.
Защита сети - сложная работа, требующая детальных знаний о сетевой безопасности. В основе обеспечения минимальной безопасности сети лежат две технологии (и их вариации).
Напомним, что сеть соединена с Internet посредством некоторого маршрутизатора, который перемещает данные из локальной сети и обратно. Маршрутизатор может обеспечить некоторый уровень защиты и гарантировать, что большинство атак злоумышленников не проникнут в локальную сеть.
Защита на уровне маршрутизатора обычно выполняется одним из двух способов.
Использование брандмауэра (firewall), фильтрующего пакеты.
Фильтрация пакетов -
это задача, которую способен выполнить любой маршрутизатор. Каждый раз, когда маршрутизатор получает пакет информации из Internet, предназначенный для компьютера в ЛВС, IP-адрес отправителя, IP-адрес адресата и порт соединения проверяются и сравниваются с таблицей, чтобы проверить может ли ЛВС получить пакет. Если пакет получить нельзя, он уничтожается. В рамках этого подхода соединения указанных хост-компьютеров с указанными хост-компьютерами или для специфических портов (а также их комбинаций) можно разрешить или запретить.
Использование прокси-брандмауэра.
Прокси-брандмауэр (Proxy firewall) -
другой подход, основанный на предотвращении прямых соединений между компьютерами с внутренней стороны брандмауэра и со стороны Internet. Если хост-компьютер локальной сети соединяется с хост-компьютером Internet, то он соединяется с прокси-системой. Прокси-система выполняет соединение с системой в Internet, осуществляя переключение для всех передающихся данных. Proxy играет аналогичную роль посредника тогда, когда разрешены любые входящие соединения с ЛВС. Для защиты локальной сети и полного отделения от Internet прокси-бранд-мауэр имеет возможность фильтрации пакетов. Его можно сконфигурировать для поддержки определенных типов трафика через брандмауэр в каждом направлении или для запрета соединений на основе различных переменных, включая IP-адрес отправителя, IP-адрес адресата и используемый порт соединения.
Чтобы понять основы безопасности в сети, ознакомьтесь с Linux Security НОWTO на http: / / www.linuxdoc.org/HOWTO/Security-HOWTO.html.
Систему Linux легко сконфигуриронать как маршрутизатор между локальной сетью и Internet С поддержкой соединения через стандартный аналоговый телефонный модем или линии ISDN. Этот маршрутизатор можно сконфигурировать как фильтр пакетов или прокси-брандмауэр. Установка маршрутизатора на основе Linux дешевле, чем покупка полного аппаратного решения для обеспечения маршрутизации и предлагает больше опций защиты, чем многие аппаратные маршрутизаторы.
После конфигурирования маршрутизатора сохраните изменения на дискете. Для этого выберите Ь в основном меню конфигурирования. Достаточно перезаписать только модуль etc, поскольку файлы изменены лишь в каталоге /etc. Чтобы выполнить копирование, выберите пункт 2 в мелю backup.
После записи изменений и перезагрузки системы новая конфигурация маршрутизатора будет доступна. Теперь маршрутизатор работает как простейший брандмауэр.
В этом параграфе описаны этапы создания маршрутизатора на основе Linux-системы с использованием дистрибутива Linux Router Project.
Разработанный как минимальная инсталляция Linux, дистрибутив Linux Router Project размещается на единственной дискете 1,44 Мбайт и содержит компоненты, необходимые для маршрутизации между двумя сетями Ethernet или между Ethernet и Internet, соединенными посредством РРР. Модули add-on реализуют поддержку дополнительного аппаратного обеспечения в глобальных сетях. Доступны и другие возможности, например управление SNMP.
Удобство установки маршрутизатора с использованием дистрибутива Linux Router Project вместо полномасштабных версий Linux (таких, как Red Hat) в том, что вся предварительная работа уже выполнена. Не нужно определять то, что должно быть инсталлировано для маршрутизации. Программное обеспечение включает простую, управляемую через меню систему конфигурирования, которая позволяет проверить, все ли необходимые настройки выполнены.
Программное обеспечение Linux Router Project доступно на Web-сайте этой книги (http: / / linux. juxta. com/). Для полной информации, обновления и получения модулей add-on посетите Web-сайт Linux Documentation Project (http:./ /www. linuxrouter. org/).
Ниже приведен подробный пример конфигурирования маршрутизатора между защищенной и незащищенной сетями. К сожалению, программное обеспечение Linux Router Project (LRP) построено на базе версии 2.0 и 2.2 ядра Linux. LRP для ядра версии 2.0 включает устаревшую команду ipfwadm, содержащую брешь в защите. LRP для ядра версии 2.2 включает ipchains, надежность которой выше. Полная поддержка команды iptables для версии 2.4 ядра Linux пока не реализована.
При среднем уровне защиты число открытых каналов в брандмауэре больше. Открываются полностью определенные порты (от 0 до 1023), а также порты для NFS (2049), X Server (6000-6009) и X Fonts (7100). Открываются порты, необходимые для обслуживания DNS и DHCP, как описано выше. Другими словами, при среднем уровне защиты большинство зарегистрированных портов остаются открытыми, что автоматически позволяет вам получать доступ к множеству спец. услуг, подобных передачам RealAudio.
Если вас смущает наличие слишком многих открытых портов при среднем уровне защиты, выберите высокий уровень, и настройте брандмауэр вручную (ем. ниже). Если вы знаете, какие сервисы вам нужны, можете изменить настройки, чтобы открыть только те порты, которые вам нужны.
Загрузочный диск Linux Router Project, первый из числа созданных, вами, не включает никаких модулей сетевых плат. Они расположены на втором гибком диске. Ниже приведена процедура копирования необходимых модулей с гибкого диска на RAM-диск, который создан с помощью загрузочного диска Linux Router Project.
Нажмите клавишу
Q
, чтобы выйти из меню Linux Router Project.
Вставьте и смонтируйте второй гибкий диск (с модулями сетевых плат) с помощью команды mount /dev/fdO /rant.
Скопируйте необходимые модули в каталог /lib/modules на RAM-диске. Например, если для ваших плат нужны драйверы пе2000 и pcnet32, выполните команды ср /mnt/ne. о /lib/modules и ср /mnt/pcnet32.о /lib/modules.
Вернитесь в конфигурационное меню Linux Router Project с помощью команды /usr / sbin/ Ircfg.
Сконфигурируйте файл /etc/modules, чтобы включить драйверы сетевых плат. Чтобы получить доступ к этому файлу, выберите в первом меню 3, во втором меню 2, а в третьем - 1. Добавьте имя модуля, например, pcnet32 и пе при необходимости, включая необходимые порты и адреса, например, irq=10 и io=0x3 00. Нажмите F1, чтобы получить доступ к списку команд редактора по умолчанию.
Установите IP-подмену для необходимых модулей. Например, если вам необходимо установить FTP-доступ через данный маршрутизатор, удалите символ диеза (#) перед ip_masq_f tp.
Запишите файл с помощью команды Alt+S. Выйдите из редактора с помощью команды Alt+Q. Вернитесь в главное меню с помощью двух команд Q.
В завершение, для проверки построенной конфигурации перезагрузите систему. Оставьте загрузочный диск Linux Router Project в накопителе. Компьютер должен распознать установленные сетевые платы.
Брандмауэр с защитой наивысшего уровня вообще не подключен к внешним сетям. Но поскольку большинство пользователей хотят иметь, по крайней мере, выход в Internet, на практике такая защита нереализуема. Следующим приемлемым вариантом можно считать односторонний брандмауэр: выходной трафик разрешен, но входной трафик блокируется брандмауэром. Теоретически это неплохой вариант, но он лишает пользователя возможности выполнять навигацию в Internet.
Кроме запрашиваемых объектов, наподобие Web-страниц, установленный по умолчанию брандмауэр Red Hat Linux 7.1 с высоким уровнем защиты допускает две разновидности входного трафика: адресные сведения с DNS-серверов и конфигурационные сведения с DHCP-серверов.
DNS. В гл. 21 мы разбирали, что сервер имен, известный также как Domain Name Service (DNS), представляет собой базу данных доменных имен Web-сайтов, наподобие www. Sybex. com, и соответствующих им IP-адресов, наподобие 192.168.0.131. Компьютеру нужен IP-адрес, чтобы сообщить в Internet, где искать необходимый вам Web-сайт. Если вы задали IP-адрес хотя бы одного DNS-сервера в ходе инсталляции (проверьте файл /etc/resolv. conf), брандмауэр оставит для вас порт 53 открытым.
DHCP.
В главе 4 мы разбирали, что сервер Dynamic Host Configuration Protocol (DHCP) конфигурирует IP-адресную информацию в локальной сети. Если вы пользуетесь внешним DHCP-сервером, вы должны дать ему возможность обращаться к компьютерам локальной сети через брандмауэр. Если вы разрешили DHCP в разделе Allow Incoming (Разрешить вход) на рис. 31.1, то брандмауэр оставит для вас порты 67 и 68 открытыми.
Брандмауэр с высоким уровнем защиты не допускает никакого другого трафика. Вы не сможете пользоваться обычными Internet-утилитами, наподобие RealAudio, и большинством чат-программ. Вы даже не сможете разделять NFS-файлы через такой брандмауэр. Если на вашем компьютере установлен Web-сервер, никто не сможет найти ваши Web-страницы.
Чтобы загрузиться в режиме Linux-маршрутизатора, достаточно вставить дискету и перезагрузить компьютер.
Программное обеспечение Linux Router Project создаст диск RAM и загрузит содержимое диска начальной загрузки на диск RAM. Затем с RAM-диска загрузится и остальное программное обеспечение маршрутизатора. Любые изменения в конфигурации могут записываться на загрузочный диск и использоваться при следующей загрузке.
После загрузки на экран выводится приглашение для входа в систему. Следует войти в систему как администратор (root-пользователь) без пароля и запустить программное обеспечение маршрутизатора Linux. На экране появится меню конфигурирования (см. рис. 31.5). рассмотрим этапы создания простейшей сети, описанной ранее.
Модули сетевых плат: возьмите второй гибкий диск из созданных вами. Предположим, что вы смонтировали его в каталоге /mnt/ floppy. Скопируйте необходимые для каждой из ваших сетевых плат модули из каталога /mnt /floppy в каталог /lib/modules.
Основные настройки: конфигурирование IP-адресов, масок сети и маршрутов для двух плат Ethernet.
Основы безопасности: конфигурирование параметров безопасности сети, необходимое для трансляции адреса сети.
Дальнейшее конфигурирование: конфигурирование дополнительных параметров сети, таких как серверы имен и хост-таблицы.
Рис. 31.5.
Главное меню Linux Router Project
Меню конфигурирования полностью цифровое и доступ к пунктам меню осуществляется вводом выбранного номера меню и нажатием Enter. Например, ввод 1 для Network Settings (Сетевые установки) в главном меню конфигурирования выводит на экран подменю настроек сети. Выбор пункта подменю открывает файл для редактирования (конфигурирования) в простом редакторе. Чтобы эффективно использовать редактор, достаточно знать, как сохранить файл (нажать Ctrl+W и затем нажать Enter для подтверждения имени файла) и выйти из программы (нажать Ctrl+C). Можно использовать редактор, способный выполнить более обширный набор операций, но в данном случае достаточно простого редактирования.