CP-1251
Project Ballantain v1.0.0
IP masquerade on a floppy.
Powered by Linux.
(C) 1998 1999 by Serge V. Storozhevykh
НОВАЯ ВЕРСИЯ от 17-05-99
- Исправлена досадная
ошибка в распознавании плат 3COM509,
теперь такие платы работают
превосходно.
- Добавлена миграция на
жесткий диск, только лишь запусти
move2hdd.bat
- Добавлен прозвон к
провайдеру по нескольким номерам.
- Исправлена ошибка не позволявшая
вводить пустые ответы при настройке
чата с провайдером.
- Добавлена
поддержка для выделенных линий. Вам
может придется подредактировать файл
a:\etc\rc_masq под конкретные условия
подключения к провайдеру.
ПРИМЕЧАНИЕ:
Это последняя, финальная и
исправленная версия роутера Ballantain.
На этом дальнейшее развитие Ballantain
прекращено. Проект Ballantain закрыт.
Может быть я только буду исправлять
какие нибудь ошибки. Вместо Ballantain
открыт новый проект - FREESCO,
роутер для сетей со статической
маршрутизацией, поддерживающий до 3-х
эзернет адаптеров и до 2-х модемов,
опционально бридж или, для самых
умных, и бридж и роутер одновременно (кстати
весьма прикольно и непредсказуемо
работает в такой конфигурации). Как
обычно легкий сетап и как обычно
помещается на одном диске 1.44 и как
обычно может запускаться и с
жесткого диска. Возможность
использовать свапфайл, возможность
старта всего лишь в 6 мегабатах
памяти, возможность расширения
дополнительными пакетами ну и, плюс
как обычно, халява ставят FREESCO
вне конкуренции.
- Что
это?
- Ballantain это способ подключить
небольшую локальную сеть к интернету
через один модем и обеспечить всем
пользователям локальной сети
прозрачный доступ к интернету.
Идеальное средство для небольшой
сети состоящей из Windows 95 клиентов.
- А поподробнее?
- Это линукс на
одном гибком диске настроенный так
чтобы работать в качестве роутера.
Опционально DHCP сервер для
динамической раздачи IP адресов в
локальной сети.
Еще короче: Linux + IP
masquerad + diald + dhcpd + telnetd
- Кажется звучит
интересно. А что мне надо чтобы
использовать Ballantain?
- Локальную сеть, компьютер с модемом и сетевой
картой.
Компьтер - не хуже 386/8+M ram/1.44 fdd (остальное неважно). Для начальной
настройки системы понадобятся
монитор и клавиатура, которые в
дальнейшем можно будет отключить и
продать, а деньги переслать мне.
Сетевая карта - идеально подойдет ISA
3com509 или PCI 3com905, эти карты опознаются
автоматически и не требуется никакой
настройки. Так же хорошо (автоматически)
должны опознаваться 3сom501, 3com505, 3com507,
3com515, ne2000 PCI, карты на базе чипа Realtec 8139.
Вполне вероятно что будут работать
некоторые версии Intel EtherExpress Pro 10/100.
Хорошо работают с явным заданием
адреса и прерывания карты ne2000,
большинство карт на чипах Realtec,
некоторые Intel EtherExpress.
Модем - надеюсь
вы знаете что такое модем. Это
недоразвившаяся цвето- музыкальная
приставка к компьютеру. Выбирать
надо по количеству цветных лампочек
на передней панели.
Совет - если у вас
очень старый компьютер, скорее всего
его встроенные COM порты не имеют FIFO
или вообще низкоскоростные, в таком
случае идеальным выбором будет
внутренний модем.
Кстати, всякие новомодные
винмодемы вообще не будут работать,
так что не промахнитесь при
покупке.
- У меня сетевая
карта на чипе ВЛКСМ1917 производства
колхоз Заря республики Заполярное
Сомали. Что мне делать?
- Попробуйте в
настройках системы указать адрес и
прерывание этой карты, может быть она
будет работать. Для ISA карт адрес
будет выглядеть как 0xYYY, для PCI 0xYYYY где
YYYY восьмеричное число. Прерывание -
десятеричное число.
- Не помогло, что еще можно сделать?
- Купить нормальную карту или
позаимствовать нормальную карту из
клиентского компьютера, а на ее место
поставить вашу любимую карту имени
колхоза Заря.
- Как это все работает?
- Пакеты от клиентов идущие в
интернет попадают в Ballantain. Ballantain при
необходимости дозванивается до
провайдера, устанавливает
соединение, подменяет в этих пакетах
исходящий IP адрес на адрес выданный
вам провайдером и отсылает их наружу,
с ответными пакетами из интернета
Ballantain делает обратную подмену и
отсылает клиенту. Через некоторое
время после прохождения последнего
пакета Ballantain разрывает связь с
провайдером и переходит в режим
ожидания. Вся ваша локальная сеть
снаружи выглядит одним единственным
компьютером подключенным к
интернету и этот единственный
компьютер - Ballantain. Таким образом
клиенты напрямую недоступны из
интернета и защищены от возможных
атак. Ну а Ballantain? А Ballantain это линукс и
он немного получше защищен от атак
чем Windows.
- Вы сказали DHCP сервер. Это
лучше чем наш новеловский файл
сервер?
- Самую малость. Если вся ваша
сеть состоит из Windows 95 клиентов (и
возможно Novell сервера или NT сервера)
вы видимо используете протокол NETBEUI и/или
IPS/SPX. Для работы c интернетом вам
понадобится протокол TCP/IP, вот тут то
вам и облегчит жизнь DHCP сервер. Он
предназначен для автоматической
конфигурации протокола TCP/IP на
клиентских компьтерах, вам надо
будет всего лишь добавить этот
протокол на Windows компьютерах и
указать что клиент получает IP адрес
автоматически, обо всем остальном
позаботится DHCP.
- Хорошо, у меня есть
файл ipmasq.vXX (ipmasqf.vXX) и требуемый
компьтер, что дальше?
- Пользователи DOS/Windows программой
rawrite.exe записывают файл ipmasq.vXX на гибкий
диск. Юниксоиды делают иначе: dd
if=ipmasq.vXX of=/dev/fd0 Загрузитесь с
полученного диска. В ответ на
подсказку загрузчика boot: напишите
setup и когда вам надоест сидеть и ждать
нажмите клавишу ENTER (самая большая
после пробела). Кстати писать eng или rus
уже нет смысла раз уж вы читаете этот
текст.
Настройка системы.
После
загрузки вы увидите меню:
- modem settings
- ISP settings
- miscellaneous settings
- <bring up link> rules
- network settings
0. exit
Вопросы делятся на
3 категории:
зеленые - те на которые
необходимо ответить
желтые - можно
отвечать, можно пропускать. Сильного
влияния на работоспособность
системы не оказывают
красные - лучше
не трогайте пока вы точно не уверены
что делаете.
Настройка параметров
модема.
Вы увидите какие параметры
были до начала настройки, потом setup
попытается найти модемы в вашей
системе и выведет список найденных.
Если список будет пустым значит у вас
проблемы с модемом. Пока вы их не
решите нет смысла продолжать дальше.
(*** кстати на этом месте мой тестовый
386/8M компьютер иногда глючит. *** и,
кстати, тестовый 14400 модем тоже -
опознается на 115200, но работает только
если поставить ему скорость 19200)
Выглядит настройка примерно так:
Previous settings:
==================
# Modem part of diald.cong for
Ballantain
#
# com1 - cua0, com2 - cua3 etc. device /dev/cua0 speed
115200
#
# Modem initialization string for connect
# Yes. It's
commented, but we really use it
#MDMINI="ATZ"
===================
Modem(s) found on: /dev/cua3 at 0x2e8 (irq = 3)
is a 16550A (spd_vhi)
Modem connected to /dev/cuaX. 0, 1, 2, 3. [3]?
Скорее всего ваш модем будет
определен и в вопросе к какому порту
подключен модем ответ по умолчанию
уже будет соответствовать
последнему найденному модему и можно
будет просто нажать ENTER.
Max baud rate of this
port. 115200, 57600, 38400, etc. [115200]?
Ответ по
умолчанию тоже скорее всего будет
соответствовать истине. (если у вас
внешний модем и медленный порт без FIFO
или скорость модема <=14400 поставьте
скорость поменьше, например 38400)
Modem init string. Usually ATZ or
AT&F. [ATZ]?
С этим по моему все ясно, если неясно то просто нажмите ENTER.
Настройки связанные с вашим
провайдером.
На экран опять будут
выведены предыдущие настройки, но не
все. Например те, где фигурирует имя и
пароль на экран не выводятся.
Previous settings:
==================
# network part of diald.conf for
Ballantain
# dynamic
# if your ISP supplies us with dynamic IP,
then:
local 127.0.0.2 # fake local side ppp IP addr
remote 127.0.0.3
# fake remoute side ppp IP addr
==================
Previous
settings:
==================
# ISP related stuff
#
PHONUM="T4004444 D5005333"
DNS="194.170.1.6"
#
usually your ISP DNS addr
LOGIN=script
# login type: script, pap, chap
==================
Does your ISP supply you with dynamic IP
addr [y]?
Скорее всего вам надо будет
нажать просто ENTER в ответ на этот
вопрос. Если все таки у вас есть
постоянный IP адрес ответьте n и
введите адреса, ваш и провайдера.
!!!
Эта настройка также используется для
случая роутера на выделенной линии.
Dialing method and ISP phone number [T4004444]?
Если ваша
телефонная линия позволяет
использовать тональный набор
впереди телефонного номера
провайдера укажите T, иначе - P.
Впишите столько номеров провайдера
сколько надо разделив их пробелами.
DNS address [194.170.1.6]?
Адрес Domain_Name_Server
провайдера.
Login type. PAP, CHAP, script. [script]?
Метод обмена паролем с провайдером.
Если вы выберете метод "скрипт"
вам надо будет описать всю
последовательность диалога с
провайдером.
Разберем на примере
моего провайдера. После соединения
провайдер выдает следующие
подсказки и вопросы:
**** Emirates Internet ****
Username: ahmed
Password: xxxxxxx
emirates-twb> ppp
Скрипт
будет таким: ждем подсказки "name:"
- отвечаем "AHMED", ждем подсказки
"assword:" - отвечаем "PASSWORD",
ждем подсказки ">" - отвечаем
"ppp". После этого на стороне
провайдера запускается протокол ppp.
Вернемся к нашему setup и опишем данный
диалог.
!!! Теперь разрешен ввод
пустых ответов и в связи с этим нет
ответов по умолчанию, т.е. при нажатии
на ENTER в качестве ответа будет
использована пустая строка.
0 Wait for [name:--name:]?
Если написать name:--name: то система будет
ждать подсказки name: , по истечении
некоторого времени если не дождется
будет послан символ <CR>
и опять ожидание name:
0 Reply with [ahmed]?
Это
то что бы собираемся ответить на
первую подсказку.
1 Wait for [assword:]?
Опять
ждем от провайдера магическое слово
assword :-)
1 Reply with [xxxxxx]?
А в ответ напишем свой пароль
2 Wait for [>]?
Ждем подсказки >
2 Reply
with [ppp]?
Для запуска протокола нам надо
ввести ppp
3 Wait for []?
Больше мы ничего не
ждем от провайдера и поэтому
оставляем это поле пустым.
3 Reply with []?
Больше мы ничего не будем посылать
провайдеру и поэтому оставляем это
поле пустым.
Для лучшего понимания
почитайте man на программу chat. Вы
можете использовать minicom для того что
бы дозвониться до провайдера и
посмотреть что он выводит и что
ожидает, при этом вы можете увидеть вместо
внятного текста некий мусор это
скорее всего будет означать что со
стороны провайдера протокол ppp
стартует автоматически и вам надо
использовать PAP или CHAP метод
аутентификации.
Если вы выберете
методы PAP или CHAP вопросы будут
полегче:
Login name. []?
Password. []?
Прочие
настройки системы.
Единственная
прочая настройка это время через
которое должен сработать screen saver и
погасить экран:
Previous settings:
==================
#
Misc system wide settings.
# BLANK=0
# Turn off screen after 0-60
min. 0 - never.
==================
По умолчанию 0 т.е.
не гасить экран (или вам жалко
монитор от этого старого дохлого 386
компьютера?) Кстати на 5-ой консоли
выводится системный лог с некоторым
количеством полезной информации и
строка с состоянием модема и ppp
интерфейса.
Правила дозвонки до
провайдера.
Previous settings:
==================
# Rules
part of diald.conf for Ballantain
#
accept any 600 any
# bring up
the link for any packets for xxx sec
#include /etc/filter.cfg
# or
use customizable filter
==================
Bring up link for 0-xxx
sec. 0 - use filter.cfg. [600]?
Вариантов 2 и в то же
время бесконечное множество. По
умолчанию предлагается поднимать
линию для любого пакета идущего
наружу и держить линию поднятой 600
секунд после последнего пакета. Это
не всегда хорошо и вы можете
попробовать второй вариант или даже
поредактировать файл правил
поднятия линии. Редактировать лучше
всего из запущенной системы командой:
edit /mnt/etc/filter.cfg (потом надо
перезагрузить систему). Естественно
перед редактированием желательно бы почитать
документацию на diald что бы хоть
немного понимать что там надо менять.
Видимо будет хорошей идеей сделать
на клиентских Windows компьютерах
основным протоколом NETBEUI или IPX/SPX, а
TCP/IP использовать только для интерета,
тогда Ballantain не будет дозваниваться до
провайдера по любому поводу.
Настройка сети.
Previous settings:
==================
#
Network configuration. Ethernet part.
#
NE_IO="io=0x300"
#
Ethernet card I/O port addr
NE_IRQ="irq=11"
# Ethernet
card IRQ
NETWORK=10.0.0.0
NETMASK=255.0.0.0
MASKBIT=8
BRCAST=10.255.255.255
IPADDR=10.10.10.1
DHCPD=y
RTRTYPE=dialup
#
dialup or leased line router
==================
Network. 10.0.0.0,
172.22.0.0, 192.168.0.0 [10.0.0.0]?
Subnet mask. [255.0.0.0]?
Subnet
mask bits. [8]?
IP address of this computer on local network.
[10.10.10.1]?
Это кстати будет адрес вашего
gateway в интернет.
Ethernet card I/O port address.
[0x300]?
Ethernet card IRQ line. [11]?
Do you want DHCP server y/n
[y]?
Do you want dialup or leased line router. [dialup]?
Я не
буду расписывать здесь что все это
значит. Если вы не понимаете сами что
тут к чему вам надо в первый класс
начальной школы по TCP/IP. Могу только
добавить что настройки по умолчанию
на мой взгляд достаточно
удовлетворительны для большинства
случаев.
Выход.
После окончания
настройки системы выберите выход,
система перезагрузится и возможно
будет уже готова к работе. (хе-хе-хе,
может быть:).
Загрузите Ballantain и
проследите что на экране не было
никаких сообщений о том что вам надо
сконфигурировать сетевую карту.
Сотрите пот со лба - вам кажется
повезло с сетевой картой.
Проверим
соединение с провайдером? Введите
команду ping www.aha.ru (да простит меня за
это мой самый первый провайдер,кстати
зороший провайдер). В 5-ой консоли (пмереключение
между консолями <ALT>+Fn, т.е. для
перехода в 5-ю консоль нажмите
<ALT>+F5) в системном логе можно
увидеть как происходит процесс
установления соединения с
провайдером. Предположим вам еще раз
повезло - соединение с провайдером
установлено, пинги пошли.
Можно
попробовать telnet . Работает?
Поздравляю большая часть сделана.
Займемся конфигурацией клиентов -
Windows 95. Если вы разрешили работу DHCP
сервера при конфигурации Ballantain все
будет не просто, а очень просто. Всего
лишь добавьте протокол TCP/IP и
отметьте что этот компьютер получает
IP адрес автоматически. Перезагрузите
Windows, запустите программу winipcfg и
убедитесь что ваш Windows клиент получил
все необходимые адреса от DHCP сервера,
теперь проверьте что пинги ходят от
клиента до Ballantain. В DOS окне выполните
команду ping 10.10.10.1 (или какой вы там
дали адрес Ballantain).
Случай ручной
настройки TCP/IP Windows 95 мы не будем
рассматривать в расчете что вы
достаточно продвинуты что бы сами
это сделать при необходимости.
!!! Если
вы используете DHCP сервер будет
хорошей идеей никогда не выключать
компьютер с Ballantain как и любой другой
сервер.
Вот собственно и все. Запустите например Internet Explorer и
попытайтесь открыть какую нибудь
страницу. Скорее всего первый пакет
от Internet Explorer будет с'еден и вам
придется повторно обратиться к этой
странице. Это нормально (кстати во
Фриско это исправлено).
Управлять поведением diald (демона
который дозванивается по запросу до
провайдера) можно командой control или
из локальной сети через telnet.
Переключения между консолями Linux Alt+F1,
Alt+F2, Alt+F5. Адрес и номер прерывания для
plug&play карт 3com просто игнорируются,
так что не беспокойтесь о них.
- Куда,
кому и сколько мне надо заплатить за
это?
- Никому и никуда. Иначе говоря халява, то есть даром.
- А как у вас (а теперь и у нас) с
security?
- По разному. Система
максимально защищена (насколько я
смог сделать:) со стотоны интернета и
немного с внутренней стороны. Защита
со стороны интернета обусловлена
отсутствием каких либо сервисов (inetd,
in.ftpd etc) и жесткими правилами
forwarding/masquerading. Есть только два сервиса
telnetd и dhcpd, но оба работают только на
локальную сеть. С внутренней стороны
слабая парольная защита от чайников,
так что есть смысл не подпускать
никого к компьютеру с Ballantain (впрочем
как и к любому другому серверу) и уж
конечно же никому не давать диск с
настроенным Ballantain (всегда давайте
друзьям только оригинал).
Пароли
хранятся в заbzip2ованном виде в файлах:
access.cfg - пароли для доступа с консоли и
через telnet двух пользователей: root и user.
root естественно имеет все права, user -
только управление diald.
Исходные
пароли (в дистрибутиве) - root и user
Поменять можно командой passwd
chat.cfg pap.cfg
- заbzip2ованный пароль для доступа к
провайдеру. меняется при настройке ISP
в setup.
- А я вот нашел ошибку и еще
хотел бы предложить .... Что делать?
- Написать автору
- А вот мне
бы хотелось что бы Ballantain работал еще
и в качестве файл сервера. Я слышал
есть такой эмулятор Novell называется
mars, вы не могли бы его встроить в
Ballantain?
- Нет не могли бы. Во первых
система итак уже с трудом работает на
компьютере с 8М памяти, а во вторых
Ballantain был создан для решения вполне
конкретной задачи что он и делает.
Если вам надо что то большее купите 40М
жесткий диск и поставьте на него
менее игрушечный линукс :)
- А мне все
равно чего то в Ballantain нехватает,
может второго эзернета?
- Проект
Ballantain закрыт окончательно,
попробуйте обратить свой взгляд на
проект FREESCO - роутер для сетей со
статической маршрутизацией. FREESCO
поддерживает до 3-х эзернет
адаптеров и до двух модемов, один для
входящих/выходящих звонков, другой
только для входящих.
Немного технической
информации:
- Kernel - v2.0.35 + IP masquerad + FPP
emulation
- Filesystems - ext2, msdos
- diald - v0.16.5
- pppd - v2.3.5
- umount - от RedHat 5.1
- Utilites - в основном из
поставок Slackware '96,'97
|