FREESCO для чайников.
Автор: Николай Сучеленков aka HardNik
Небольшое введение в большой мир Unix.
О чем данный цикл статей? Прежде всего о том как решить следующие задачи:
- Предоставить доступ в Интернет нескольким компьютерам через один модем, xDSL модем или коаксиальный кабель от провайдера.
- Понять основные принципы двигателя Интернет - протоколов TCP/IP.
- Получить представление о базе Глобальной сети - операционных системах Unix.
Наиболее быстрый и простой способ решения этих задач применить Freesco - ОС семейства Unix (точнее Linux), способной работать на компьютерах без жесткого диска, загружаясь с дисковода 3"5 и на процессорах начиная с 386DX. Принцип построения систем Unix основан на использовании множества маленьких специализированных программ, в отличии от Windows, в которой в большое универсальное ядро системы заложено все что может пригодится (а часто и никогда не востребуется). Данный факт позволяет собрать из компонентов Unix компактное специализированное для конкретной задачи ядро.
Freesco и представляет собой такую сборку, предназначенную для управления Вашей сетью. Существуют множество других дистрибутивов и сборок Unix для выполнения подобных задач (мир Unix основан на многовариантности и конкурентности идей), из которых Freesco выделяется простотой, дружественным интерфейсом и оттестированностью.
Небольшое отступление о Гуру, криках "Вынь мастдай" и многострадальном Биле.
Не знаю, как где, но если Вы придете на собрание Бишкекской UUG(Unix User Grope) в футболке с надписью
"Выкиним рыжую ирландскую морду в его Окно", и везде высказываться о "глючности и поганости Винды" - ярлык
недалекого балбеса вам обеспечен. Выскажу одну мысль: Виндоуз, и в особенности семейство NT - одна из самых
надежных проверенных и удобных для разных людей ОС, а глючит обычно не система, а юзер,
возомнивший себя продвинутым. Эпохальные разработки Микрософта связаны с именами не только Гейтса но
и создателей Делфи, Мозаики, сподвижников Вирта, разработчиков Явы. Все они теперь - руководители подразделений MS.
OC как и языки программирования всего лишь инструмент для решения Ваших Задач. И только в контексте отдельной задачи они могут быть лучше или хуже. С точки зрения сетевого администрирования у Unix есть некоторые преимущества, только и всего.
Итак, для начала давайте решим следующую задачу: нмеется телефонная линия, диал-ап доступ и шесть компьютеров, необходимо обеспечить доступ в Интернет с каждой машины, независимо от включенности любой из них, автодозвон с любого компьютера, соединение по требованию, разрыв при простое, установить защитный экран от хакеров, и кучу других вкусностей и полезностей, о которых пользователи компьютеров могут и не подозревать, а вы можете почувствовать себя маленьким богом по прозвищу сисадмин.
Для работы потребуются: системный блок 486 - Pentium100 c 16 MB ОЗУ(можно и 386DX c 8MB, но на свалку скоро P2 пойдут, чего жадничать), без жесткого диска(он же винчестер, он же hard (так , кстати, называется моя фирма), он же HDD), обязателен дисковод гибких дисков на 3"5; сетевая карточка (далее NIC - Network Interface Card) на 10 Mb c разъемом под витую пару(RJ-45) желательно 3Com, можно на шине ISA(они уж точно ничего не стоят), или PCI серий 50x-x, можно применить и любую китайскую на чипе Realtek 8029, просто возни больше будет. Конечно нужен модем. Лучшим вариантом будет внутренний модем US Robatics на ISA шину. Впрочем, есть и другие хорошие модемы, главное ни в коем случае не использовать PCI-ный - с вероятностью 99,99% они будут софтовыми (даже от USR). Можно подключить и внешний модем на сом-порт.Небольшое отступление для не знакомых с аппаратной частью: "PCI" и "ISA" это стандартные разъемы на материнской плате, куда втыкаются все карточки(видео, звук, модемы и т.д.). ISA черненький: PCI беленький, покороче, на 486-х может отсутствовать. Программы общаются с модемами и сетевыми карточками используя два ресурса: адрес ввода-вывода (I/O address) и прерывания (IQR- Interrupt ReQuest). В принципе, все просто, не теряйтесь. Маленькое предостережение: по запарке можно вдавить PCI карточку в ISA разъем - просто следите за совместимостью контактов.
На время установки и настройки роутера понадобится монитор и клавиатура,
их можно временно использовать с любой вашей машины. Есть только одно "но".
Разъем современной клавиатуры может не подходить к старой машине. Не беда - везде продаются переходники,
стоимостью меньше бакса, называются "Adapter keyboard PS/2 to AT".
Естественно, нужен кабель до хаба вашей организации. Ну вот, собственно, и все с железом, займемся софтом.
На данный момент существуют два распространенных дистрибутива Freesco - версии 27 и 32.
Какой выбрать? Если у вас нет xDSL или слабая машина - ставьте 27-ую. Она менее требовательна к ресурсам,
к ней создано большее количество утилит, но она менее удобна при установке и эксплуатации.
Поэтому я все-таки рекомендую 3-ю ветку версий. Скачиваем дистрибутив с нашего сайта или с
http://www.freesco.net.
Распаковываем zip-архив в любую папку под Виндой. Вставляем чистую дискетку и запускаем пакетнный
файл make_fd.bat из распакованной папки. Загружаем с полученной дискеты роутер. Вот собственно и все -
Вы проинсталлировали полноценную систему Linux - задача с которой раньньше не справлялись
многие опытные сетевые Гуру.
Остался один "маленький" вопрос: и что с этим делать? Спешу вас обрадовать - абсолютно все! Полноценный веб-сервер, bash, PHP, Perl, C, C++, файловый менеджер типа незабвенного Нортона, громадное количество редакторов на любой вкус: ftp, tftp, pop, IRC, потокового аудио, SNMP, DNS, telnet, DHCP - сервера и клиенты в Вашем полном распоряжении. И это еще далеко не все. Все это прекрасно работает на 486 процессоре. И вот здесь придется сказать: стоп, товарищи. И сделать еще одно, необходимое именно сейчас, отступление.
По роду своей работы посещая семенары Intel, я часто слышал вопрос: "Что такое сервер?". Среди множества определений, призываю учитывать и следующее - сервер, это не обязательно мощная супер-пупер машина, просто она придназначена для выполнения одной-двух задач не более, имеющих важное значение для сетевой инфраструктуры. Сервером может быть старый Пентиум-100 с Win95 и лазерным принтером; древний P2 c модемным пулом, года 95 кластер Sun c DNS базой, и т.д. Наш с вами роутер тоже выполняет важную сетевую задачу, и все процессы исполняемые его CPU обязаны лишь способствовать ей. Посему на данной машине Вам необходимо отключить все лишнее. Перейдем к тому, как эти идеи воплотить на практике.
При первом запуске Freesco версий 3х автоматически входит в режим установок (setup), в отличии от версии 27. В любом случае при запуске в дальнейшем Вы можете зайти в setup, выбрав нужный пункт из меню загрузки. Первой надписью на мониторе после тестов BIOS и обращения к загрузчику с FDD , будет:
SYSLINUX 1.48 1999-09-26 Copyright (C) H. Peter Anvin
Это обыкновенный загрузчик, такой же, как IO.dos или Ntldr . "К сожалению", работает он быстро, и Вы можете не заметить, кому обязаны своей признательностью за эту утилиту. Затем экран очищается, выводится надпись :
FREESCO router v 032
и линуксовский пингвин в псевдографике.
Следует заметить, что окончание "SCO" в названии системы не имеет никакого отношения к логотипу SCO коей абвиатурой пользуется известная группа мошенников-вымогателей, манкирующая несуразностями законодательства некоторых стран. Не путайте белое с черным.
Далее следует меню загрузки, с описанием своих пунктов. Приведу смысловой перевод с комментариями этих пунктов:
1.setup - запуск в режиме установок, наиболее важный режим, который я опишу подробно.
2.debag - запуск в режиме отладки, необходим разработчикам и при некоторых проблемах с аппаратной частью.
3.mv2hd - move to hdd инсталляция freesco на жесткий диск, если он у вас имеется ( не торопитесь это делать сразу).
4.shell - запуск только ядра и оболочки, нечто вроде пункта "command prompt only" в меню загрузки Windows.
Если не выбрать ничего, то через 8 секунд произойдет загрузка в обычном режиме, но при первом запуске вы все равно загрузитесь в режиме setup. Если этого не произошло - просто выключите компьютер и при последующем запуске при появлении меню, наберите "setup" и нажмите клавишу "Ввод".
Далее появляется надпись "Loading ramdisk" и происходит копирование образа системы в память. После этого загружается ядро, о чем индицирует надпись "Loading kernel" и множество утилит, запускаемых в файле, схожем с autoexec в DOS.
После загрузки Вам будет предложено ввести логин(учетную запись) и пароль. Вводим "root" и "root" - учетная запись с таким паролем создается при установке. Да, при вводе пароля вводимые символы не отображаются на мониторе, сделано это для блокировки сканеров клавиатуры или видеобуфера. В дальнейшем, вы поймете, что для настоящей сетевой среды эти средства не только не лишни но еще и недостаточны. В шутке:"Лучший администратор - шизик с манией вторжения в свою сеть."- есть доля истины.
Мы окажемся в программе установок, где нам будет задан вопрос: "включить цвет при выводе или нет? ". Соответственно, можно ввести "с" или "m". Параметр, записанный в квадратных скобках( [c] ), описывает действующие установки, и если просто нажать "Ввод", он останется. Это соглашение принято во всей системе. Перейдем к выбору в меню настроек.
Просмотрев возможные настройки введите "d" - под этим пунктом система настраивается для работы в качестве роутера с диал-ап доступом в Интернет, а точнее только к провайдеру(IPS), который имеет каналы к другим сетям, и собственно сам является частью всемирной сети. Тонкость в том, что устоявшийся термин "подсоединить Интернет" - неверен по сути, правильнее было бы говорить "Включиться в Интернет", поскольку ваш компьютер в сети будет равноправен серверу Белого Дома или серверам известных поисковых систем - в этом идеология и основа Интернет.
Вам будут последовательно задаваться вопросы, ответы на которые записываются в специальный файл, содержание которого вы сможете затем просмотреть и даже поправить в ручном режиме (это общий принцип систем Unix : все настройки хранятся в обычных текстовых файлах, прозрачны для понимания и доступны для просмотра и редактирования, а книг типа "Секреты реестра" или "Недокументированные возможности" для Linux не существует).
Ответ на первый вопрос:
611 Hostname of this computer? [router]
оставьте без изменения - нажмите "Ввод" и ваш компьютер останется с именем "router".
Цифра 611 -это номер настройки в конфигурационном файле, он поможет вам не потеряться в листинге в дальнейшем.
При следующем вопросе:
612: Domain name [inet]
так же оставьте умолчание.
После этого вы увидите карту аппаратных настроек сетевых карточек в вашей машине. Пока что положим, что Ваша карточка определится по умолчанию и выйдем из текущего меню набрав "x" и "Ввод".
Следующее меню логических настроек сетевых карт, тоже пропустим, опять набрав "x" и "Ввод".
Программа предложит сама определить установленные модемы. Если модем внешний, проверьте включен ли он и введите "y".
После опроса, если модем определился, у вас возникнет зеленая строчка с логическим названием устройства, присвоенным системой (например,"cua3"), максимальной скоростью передачи, аппаратным адресом ввода-вывода (в шестнадцатеричном представлении) и прерыванием; и автоопределенным типом чипа ввода-вывода.
У меня на машине это следующая строчка:
cua3 - [Max speed 115200] at 0x02e8 (irq = 3) is a16550A
если подобная запись есть - все в порядке, если нет, поставьте для начала другой модем.
Далее Вам предложат настроить ваш модем. Не стоит этого делать сразу, откажитесь.
Вам будут последовательно заданы следующие вопросы:
41, 411,412,413, определяющих режим прохождения DNS запросов, т е разрешения цифровых адресов в Интернет
к так называемым "урлам" - строчкам типа "www.rambler.ru", которые Вы привыкли набирать в браузере.
Оставьте в них установки по умолчанию, попутно изучите основы по DNS на сайте "Первые шаги".
А вот на вопрос под номером 431:
431Enable DHCP server y/n [n]
Надо бы ответить "ДА", и слегка остановимся на этом вопросе.
Сервер DHCP - это программа, которая выдаст компьютерам вашей локальной сети адреса, что очень полезно для Windows-станций. Единственное, надо убедиться, что в вашей сети нет уже действующего DHCP сервера, что очень маловероятно, если нет машин с ОС NT Server, и не установлена опция "общий доступ" на одной из машин с W98. Ответы на вопросы 432,433,434,435, касающиеся настройки DHCP сервера оставьте без изменений.
Не меняйте настроек 441-это включение локального Веб-сервера и 451,
452-Веб сервер для дистанционного управления вашим роутером.
На вопрос 453 введите символ "-" иначе ваша машина регулярно будет соединяться с сервером точного времени
для синхронизации своих часов, и отбирать траффик у пользователей.
Последовательно сохраните умолчания в пунктах 461, 47, 51, 42, 50, 141, 142, 15, 13, 19, 161, 162, 49 -
вы пока отключите множество сетевых сервисов.
После ответов на эти вопросы экран заполнится списком провайдеров, к которым Вы хотели бы приконнектится.
Введите слово"new" и вам будет предложено ввести название соединения. Наберем для примера "myconn".
Следующий вопрос - номера телефонов модемного пула провайдера, они вводятся через пробел с обязательной
буквой перед номером с указанием метода дозвона: импульсный (P) или тоновый (T).
Большинство следующих настроек оставим без изменений, остановившись на вводе логина,
выдаваемого обычно провайдером:
32 PAP/CHAP ISP login
И, естественно, пароля:
33 PAP/CHAP password
Необходимо ответить на вопрос о первичном DNS сервере провайдера(эту информацию обязан предоставить IPS):
14 Primary DNS?
В списке соединений появится теперь ваш "myconn". Осталось только выбрать его как соединение по умолчанию.
Можно выйти из экрана со списком соединений набрав "x".
На предложение поменять пароль для пользователя "root" введите новый пароль. Не используйте имен, кличек,
комбинаций вида "12345" или "qwerty" - вас взломают в считанные минуты, если не секунды, хотя бы для того,
чтобы украсть логин и пароль от провайдера, будете потом пытаться соединиться, и получать странные,
на ваш взгляд ответы.
Измените пароль для пользователя "admin"-под ним вы будете удаленно управлять роутером.
Пароль PPP соединения менять не надо( вы только что его вводили), просто нажмите "Ввод" и программа сообщит,
что пароль не изменен. Вот и все, вам осталось сохранить изменения, набрав "s" в главном меню и перезагрузиться.
Перезагрузку в Freesco можно вызвать нажав как и в Дос "Ctrl" + "DEL" + "ALT" .
После загрузки роутера в рабочем режиме Вы должны увидеть диагностические сообщения о запуске
настроенных нами служб, а именно:
Enabling NAT and firewalling - включение маскировки внутренних адресов от внешних запросов,
DHCP сервера и защитного экрана (firewall).
Starting port forwarding - запуск службы, пропускающей некоторые запросы из вне к определенным машинам
и службам внутри Вашей сети( например Веб сервер в вашей локалке, который должен быть доступен из Интернет).
Starting control HTTP server - запуск специального Веб сервера для удаленного управления и диагностики роутера.
Сервер веден только из браузеров на ваших машинах.
Starting rc_user - помните о текстовых файлах конфигурации в Unix? Так вот rc_user - один из них,
созданный для ваших индивидуальных комманд при запуске системы, запускается он последним из всех rc-файлов
(конечно, мы разберем эти моменты подробнее, но попозже).
Далее вам напоминают, что адрес панели управления
http://[сетевой адрес или урл роутера]:[порт подключения к серверу], и приглашают ввести логин и пароль.
Так вот, не делайте этого. Ситуация в том, что в отличии от WinNT-серверов все сетевые службы
и система уже работают. И хотя на WinNT сетевые службы тоже включены до входа пользователя в систему,
в документации MS утверждает, что сервер не загрузился до конца без ввода логина
(что для сервера согласитесь странновато, но зто факт: 1)Microsoft Corporration,
1997 Поддержка Microsoft Windows NT 4.0 на странице 538; 2)Microsoft Corporration,
1997 Корпоративные технологии Microsoft Windows NT Server 4.0 на странице 476; 3) Андреев АГ и др.
Microsoft 2000 Server. Русская редакция . на стр 83. ).
Из личной практики замечу что действительно MTS ведет себя странно без входа в графическую среду (W2000server).
Если все нормально, то при вызове броузера на любой рабочей станции, роутер начнет дозваниваться к провайдеру.
Собственно, на этом можно остановиться - наша задача выполнена, все работает. Можете забыть про роутер,
у меня есть машина, настроенная 4 года назад, я уже и пароль забыл, а клиенты до сих пор выходят
в сеть через нее. А если вам стало интересно разобраться в механике всего, то я выполнил и свою личную задачу,
давайте разбираться.
Дальнейшее изучение сетевых возможностей Unix мы будем проводить на примере решения следующей задачи.
Почти на каждом предприятии, где эксплуатируется сеть из 5 -30 компьютеров, возникает потребность
разграничить остальных пользователей от отдела бухгалтерии . И хотя настоятельные требования бухгалтерии
чаще всего основаны на низкой квалификации сотрудников и нежеланием изучать корпоративные информационные
технологии, попробуем решить эту задачу, заложив основу для дальнейшего развития коммуникационной
инфраструктуры предприятия.
Сеть Ethernet, которую вы используете, физически представляет собой топологию "звезда", т.е. к одному хабу
протянуты лучи кабелей до компьютеров (будем называть их хостами).
Тем не менее, логическая структура Ethernet - "Шина", где хосты соединены последовательно через общую шину.
Внутренность хаба можно представить как кусок шины с подключенными выводами.
Добавление второго хаба или переход на дешевые свич-хабы не изменяют общую картину.
Делаем вывод - в сегменте Ethernet ограничить доступ к хостам не получится, отсюда,
необходимо разбить сеть на несколько сегментов.
Нам потребуется роутер с двумя сетевыми картами( далее NIC), одна из которых подключается к хабу ©1,
вторая к хабу ©2. Параметры машины можно взять из первого примера.
Дальнейшая работа потребует от вас ясного представления об адресации в сети. Любая информация передается порцией байтов, называемой пакетом. Мы будем работать с сетью Ethernet, в которой существуют свои стандарты, суть которых в следующем. Пакет Ethernet имеет длину не более 1500 байт (эту цифру желательно запомнить, особенно если вы будете работать с модемами ADSL), состоит из заголовка со служебной информацией и самих данных. В заголовке записаны адреса Ethernet карточек отправителя и получателя. Называются они МАС адреса и берутся из ПЗУ NIC. Предполагается, что все выпущенные в мире сетевые адаптеры имеют разные МАС адреса.
Кроме распространенного Ethernet существуют множество других стандартов локальных сетей. Интернет задумывался как "сеть сетей", и следовательно, не может зависеть от Ethernet, а использует его лишь как носитель своих собственных пакетов. Пакеты эти соответствуют набору стандартов TCP/IP, или следуя не ёмкому, но устоявшемуся переводу "стеку протоколов TCP/IP". В части TCP описаны методы интерпретации сетевых пакетов, а в IP - адресация и часть методов доставки пакетов.
Описанную картину хорошо представить себе в виде матрешки в которой IP пакеты упакованы в Ethernet пакты, а сами IP пакеты могут в свою очередь нести пакеты более высокоуровневых протоколов. Некоторая избыточность передаваемой информации в такой матрешке обеспечивает гибкость Интернет и редкое изменение базовых стандартов.
Каждый компьютер в Интернет идентифицируется уникальным IP адресом из четырех байтов. Одним байтом можно отобразить значения в десятичной системе от 0 до 255, и IP адреса записывают четырьмя десятичными числами от 0 до 255, разделенными точкой, например 195.38.164.2 , 192.168.0.1 .
Вернувшись к понятию Интернет как "сети сетей", заметим, что каждый компьютер принадлежит своей сети и не может идентифицироваться без нее. Все адресное пространство IP поэтому разбито на стандартные диапазоны сетей, и адрес 195.38.164.2 содержит в себе и адрес сети, в данном случае 195.38.0.0. Получить из IP адреса компьютера адрес сети в которой он находится, можно применив "маску сети" , имеющей в нашем примере вид 255.255.0.0 т е бит в маске, соответствующий биту в IP адресе, отвечающему за намер сети равен 1, а номеру компьютера в сети -бит со значением 0. Существует альтернативное обозначение сети как 195.38.0.0/24, где число после слеша обозначает количество единиц при двоичном представлении в маске сети.
Адреса в Интернете выдает специальная организация InterNic. Провайдерам назначают целый диапазон адресов, и когда вы присоединяетесь к нему, вам выдается IP адрес из его диапазона. В то же время выделены специальные сети, которые не отображаются в Интернет, а предназначены для закрытых локальных сетей. Адреса внутри таких сетей вы можете использовать произвольно. Но для нашей задачи потребуются две сети. Поэтому мы применим разбиение на подсети и будем считать, что у нас не одна сеть 192.168.0.0/24 , а две : 192.168.1.0/16 и 192.168.2.0/16 ( ведь в своей сети вы можете сами исполнять роль InterNic и делить ее на подсети как вам вздумается).
Если некоторые моменты вам непонятны, не огорчайтесь, уточнить такие места можно и позже, лучше на практике, главное иметь правильное общее представление .
Уточнить некоторые моменты у автора, а также оставить свои комментарии можна на форуме
23554250