3. Настройка сети


3.1 Стоит ли мне настраивать мою домашнюю сеть?

Сделать это очень неплохая идея. Это даст вторую жизнь компьютерам, которые вы уже списали со счетов, так как у них не хватает мощности для выполнения простейших приложений самостоятельно. К достоинствам относится совместное использование винчестеров, дисководов zip, CDROM, модемов, принтеров и даже звуковых карт, запуск программ с удаленного терминала (в текстовой или графической моде), пользование возможностями Internet всеми компьютерами в сети тогда как модем один. Если с вашей машиной случились какие-либо проблемы и она не откликается, вы можете исправить их или перегрузить вашу машину (избежав таким образом проблем описанных в "Как мне выключить компьютер?" ), зайдя на нее с другой машины.

3.2 Как мне настроить мою домашнюю сеть?

Ваше железо должно быть уже настроено. Я предполагаю, что вы установили свою сетевую карту в процессе установки RedHat. Если нет, то вы можете установить свою сетевую карту прямо из X-windows. Если у вас есть вторая сетевая карта, то вам надо настроить ее вручную, так как Linux автоматически находит и настраивает только одну (вероятно это скоро будет исправлено).

Запустите X терминал, сделайте su (чтобы получить права суперпользователя) и запустите:

/usr/bin/kernelcfg

Драйвера к большинству сетевых карт под Linux реализованы как модули ядра. Поэтому установка сетевой карты заключается в установке соответствующего модуля с правильными параметрами. Вам не надо перекомпилировать ядро, вам не надо перегружать компьютер (только если у вас не стоит необычная сетевая карта) Для того чтобы разобраться какие параметры надо передать модулю поищите эту информацию в "Руководстве Сетевого Администратора Linux" (Linux Network Administrator Guide - файл /usr/doc/LPD/nag, если вы установили документацию. есть довольно старый перевод - поищите на www.linux.org.ru). Настройка параметров (адрес и прерывание) второй сетевой карты является некой задачей - вы должны быть абсолютно уверены, что у вас нет никаких аппаратных конфликтов; Исследование файлов /opt/interrupts, /opt/ioport и изучение информации, выдаваемой на дисплей при загрузке сможет помочь вам в этом деле. После того как все сделано просмотрите /proc/modules чтобы убедиться, что нужные вам модуле загружены (эту же информацию можно получить, выполнив команду lsmod как суперпользователь). Информация о модулях от kernelcfg поступает в файл /etc/conf.modules, поэтому, если у вас возникнут проблемы с выгрузкой модулей из памяти (у меня они были), то просто подредактируйте этот файл нужным вам образом.

После установки сетевой карты и подсоединения кабелей вам следует настроить саму сеть. Запустите как суперпользователь программу:

netconf

В этой программе есть help (на английском естественно, хотя в локализованных дистрибутивах Linux, таких как KSI, или Urban Soft существует перевод)! netconf может быть запущена в графическом режиме. Если вам хочется получить дополнительную информацию о том как работает сеть - изучите уже упомянутое "Руководстве Сетевого Администратора Linux" (nag).

Какие вам надо заполнить опции и как это сделать зависит от устройства вашей сети. Вам, естественно, захочется заполнить "Basic Host Information" ("Основную информация сетевого компьютера") (имя, псевдоним и IP вашего локального компьютера) и "Information About Other Hosts" ("Информация о других сетевых компьютерах") (имена, псевдонимы и IP других компьютеров в вашей локальной сети) Это информация записывается в файлы /etc/hosts и /etc/sysconfig/network - вы можете подредактировать эти файлы вручную.

Когда вы настраиваете сеть не трогайте то что связано с "loopback driver", который имеет IP равный 127.0.0.1. Он всегда должен присутствовать, этот адрес является адресом по которому машина общается сама собой (эмуляция сети).

Если у вас нет своего IP адреса (это обычно случается, когда вы имеете домашнюю сеть без постоянного контакта с внешним миром), то следует его придумать. Не особенно важно какой он, так как при подсоединении с помощью модема вам выдается динамический IP адрес (компьютер может иметь несколько IP адресов в одно и тоже время). Ваш адрес должен быть создан правильным образом и сетевая маска должна соответствовать одному из типов сетей (A, B или C). Для получения дополнительной информации посмотрите главу IP addresses в документе Network Administrator Guide (/usr/doc/LPD/nag).

Обычно вам нужна сеть класса C (до 254 компьютеров). Первые три цифры IP адреса должны лежать в интервале от 192 до 223. Последние три цифры IP идентифицируют вашу машину и должны лежать в интервале от 1 до 254 (не используйте для этих целей 0 - это означает "вся сеть", или 255 - сетевой адрес broadcast). Два средних набора чисел могут быть любыми в диапазоне от 1 до 254. Например адрес 223.223.223.1 соответствует первой машине в сети 223.223.223.0 (ноль в конце означает всю сеть) класса C , с адресом broadcast 223.223.223.255.

Обычно первая сетевая машина - это компьютер, который связан с внешним миром (так как она подсоединяется первой). Поэтому, я заполнил поле GATEWAY как xxx.xxx.xxx.1 (моя первая машина) на всех компьютерах, кроме самой первой xxx.xxx.xxx.1 машины, где я оставил это поле пустым. Вообще-то, это источник надоедливых ошибок во время загрузки и поэтому я подредактировал /etc/sysconfig/network и вставил (разговор идет про первую машину) следующие строки:

GATWAYDEV=
GATEWAY=
Что касается поля DNS server - я использовал адрес моей первой машины (Я вставил адрес loopback устройства на xxx.xxx.xxx.1 машине и правильный адрес xxx.xxx.xxx.1 на других машинах). Чтобы DNS работала, надо чтобы был запущен "named" сервис - проверьте это с помощью команды setup. Дистрибутив RedHat 5.2 идет с уже преинсталированным DNS как "cashing only", поэтому с моей стороны больше никаких действий не потребовалось. Вы можете вообще отказаться от использования DNS -- если DNS ищет сервер и не может его найти, то это та еще песня.

Поле other networks and hosts я оставил пустым, так как у меня нет других локальных сетей.

Мне не потребовалось ничего, для того чтобы заставить мою сеть работать в стандартной поставке RH5.2, кроме установки железа и заполнения информации о сети с помощью netconf на каждом компьютере.

Для тестирования соединения между машинами используйте команду ping.

3.3 У меня проблемы с модемным соединением по ppp.

На вашем месте я бы установил kde и воспользовался программой kppp. С помощью этой программы очень легко настроить ваше ppp соединение. Единственная вещь, которую мне пришлось сделать (кроме заполнения информации при настройке) - это создание устройства /dev/modem, путем создания символической ссылки на устройство /dev/ttyS1.

ln -s /dev/ttyS1 /dev/modem

Устройство ttyS1 соответствует последовательному порту COM2 (под DOS). Для COM1 используйте ttyS0, для COM3 - ttyS2.

Если вы хотите запустить ppp соединение из командной строки, то запустите netconf (как суперпользователь) для того чтобы настроить ваш первый интерфейс ppp (ppp0). Когда это будет сделано вы можете воспользоваться ppp0 интерфейсом для соединения с помощью команды:

ifup ppp0

и прервать соединения с помощью команды

ifdown ppp0

Настройка установки ppp соединения из командной строки на моей машине прошла не сложнее чем при использовании программы kppp. Существует масса скриптов для установки/прерывания ppp соединения, но в них, как правило, сразу не разберешься (зато разобравшись эти скрипты сильно экономят время), и поэтому много новичков испытывают с ними трудности.

Если вы подсоединились по ppp, но в процессе идентификации пользователя у вас возникли проблемы, то возможно что ваш Internet провайдер (ISP -Internet Service Provider ) пользуется другим протоколом для идентификации. Попробуйте использовать pap (по умолчанию), или therminal base, или chap.

Если ppp отказывается работать, то возможно вы неправильно настроили модем (или может быть это Windows модем? Тогда выкиньте его на помойку и купите нормальный модем (в принципе существуют способы обойти эту проблему).

Попробуйте программу minicom - может быть с помощью нее вы заставите ваш модем работать. minicom немного похожа на telix или procomm под Linux.

Bill Unruh ( unruh@physics.ubc.ca ) пишет:

"Для того чтобы получить детальную информацию о настройке ppp соединения, обратите внимание на WWW страницу axion.physics.ubc.ca/ppp-linux. Информация на этой странице особенно полезна, если удаленные пользователи (возможно ISP вам это не говорил) PAP или CHAP. И хотя kppp полезная программа - есть ситуации в которых она ошибается."

3.4 Как мне выйти в WWW с моего сетевого компьютера, не имеющего модема?

Естественно, что в вашей локальной сети должен быть компьютер с модемом (или другим Internet соединением). Настройте IP маскарадинг (IP masquerading). Этот способ позволит все запросы, которые отправляются вашему Internet провайдеру, делать таким образом, будто они идут с одного компьютера и провайдер пропускает их. Простейший маскарадинг требует выполнить всего одну команду (на компьютере с модемом):

/sbin/ipfwadm -F -p m

Эта команда устанавливает маскарадинг как основной способ передачи Internet запросов, и хотя этот способ нарушает безопасность в локальной сети, но для домашней сети это, вероятно, не имеет значения. (Опасность заключается в том, что кто-нибудь из вашей локальной сети может настроить маршрут запросов через ваш компьютер (тунелирование), и, таким образом, скрыть от всех кто он такой). Для получения дополнительной информации просмотрите файл

/usr/doc/HOWTO/mini/IP-Masquerade.
Способ, обеспечивающий более сильную защиту, описан ниже:

ipfwadm -F -p deny
ipfwadm -a m -S 192.168.1.1/32 -D 0.0.0.0/0
ipfwadm -a m -S 192.168.1.3/32 -D 0.0.0.0/0
ipfwadm -a m -S 192.168.2.0/24 -D 0.0.0.0/0

По умолчанию это устанавливает стратегию передачи запросов как "deny" (отказать) и для двух машин с IP равным 192.168.1.1 и 192.168.1.3 явно делает маскарадинг. Это так же делает маскарадинг для любой машины из сети 192.168.2.0. Номер /32 означает точка-точка (ppp) протокол, /24 обозначает сеть класса C. Опция -D 0.0.0.0/0 указывает на путь (route), который компьютеры под маскарадингом используют по умолчанию для выхода в Internet.

Если вы хотите, чтобы эти команды всегда исполнялись при загрузке системы, то добавьте последние строчки в файл /etc/rc.d/rc.local. Этот файл немного похож по своей функциональности на autoexec.bat под DOS. Как всегда, рекомендуется просмотреть документацию по командам, чтобы разобраться с другими опциями:

man ipfwadm

3.5 Как и зачем мне использовать Samba?

Samba - это сетевое взаимодействие между Linux и Windows. С помощью Samba Linux эмулирует сетевой сервис сервера Windows NT, что позволяет объединять компьютеры на базе MSWindows3.1/95/98 в сеть. Samba не просто заменяет WinNT, она делает эту работу гораздо лучше чем сама NT!

Одна из трех машин моей домашней локальной сети может загружать и Win95, и Linux. Я так сконфигурировал мою сеть, что когда я гружу Win95, другая Linux машина берет на себя обязанности Samba сервера. С помощью этого сетевого сервиса Windows машина получает доступ к сетевому принтеру, общим директориям. Вы получаете возможность воспользоваться telnet, ftp и так далее. Необходимо настроить Samba только на одной Linux машине.

Для начала я как суперпользователь запускаю программу setup, выбираю меню ntsysv и убеждаюсь что сервис smb доступен. (В программе setup по нажатию клавиши F1 вызывается помощь - это к тому, что вдруг вы заинтересуетесь другими опциями). Если вы не нашли сервиса smb, то, вероятно, вы его просто не установили при установки дистрибутива RedHat 5.2.

Затем надо настроить сервер Samba. Это относительно не сложно, так как вся настройка сервера Samba делается путем редактирования одного файла /etc/smb.config. В этом файле есть очень хорошие комментарии. Минимальная настройка включает указание имени рабочей группы (workgroup name). Заметьте, что если вы не определили опцию "host allow", то сервис доступен любому компьютеру, что, в принципе, не страшно для домашней сети. В примере /etc/smb.conf, поставляемом с RH5.2 есть и другие опции. Их можно изменить для того, чтобы добиться от сервера каких-то определенных действий, но чтобы подцепить к сети Windows машину их менять не надо.

В конце, вам надо настроить вашу Windows 95 (или что там у вас) для работы в сети. Делается тоже самое, как если бы сетевые сервисы предоставлялись сервером WinNT. Удостоверьтесь, что вы поставили галочку, разрешающую работу в сети ("клиент для Microsoft Network") и вписали имя рабочей группы. Для того чтобы получить доступ к сети, когда Windows загрузится, воспользуйтесь своим пользовательским именем и паролем для Linux. Для тестирования работоспособности, кликните на иконке "Сетевое окружение" ("Network Neighborhood") - там вы должны увидеть ваш Linux сервер.

Как суперпользователь на Linux машине вы можете запустить, остановить и проверить текущее состояние сервера Samba с помощью команд:

samba start
samba status
samba restart
samba stop

Вы можете погулять по WWW с помощью Netscape для Windows если вы подсоединены к Linux компьютеру через Samba, который в свою очередь подсоединен к Internet. Для того чтобы это сделать, вам надо настроить ваш IP маскарадинг (как это сделать описывается здесь), сказать в /etc/smb.conf:

dns proxy = yes
и сказать WIndows, чтобы она использовала dns сервер (Панель управления - Сеть - TCP/IP). В качестве DNS сервера определить имя и адрес Linux Samba машины.

Все выше описывает минимальную настройку сервера Samba. Для получения дополнительной информации используйте следующие источники:

man samba; man smb.conf; man smbclient; man smbmount

less /usr/doc/HOWTO/SMB-HOWTO

Кроме того, изучите файл /etc/smb.conf. Наличие под рукой хорошей книги - очень неплохая идея!


_ Выход _