---------------------------------------------------------------
 Origin: http://www.linuxsupportline.com/~router/
---------------------------------------------------------------

                           IP masquerad on a floppy.

                           Project Ballantain v1.0.0
                               Powered by Linux.

         (C) 1998 1999 by Serge V. Storozhevykh (svs@hempseed.com)

НОВАЯ ВЕРСИЯ от 17-05-99

Q.  И что же там новенького?
A.  1) Исправлена досадная ошибка в распознавании плат 3COM509,
       теперь такие платы работают превосходно.
    2) Добавлена миграцич на жесткий диск. Только лишь запусти move2hdd.bat
    3) Добавлен прозвон к провайдеру по нескольким номерам.
    4) Исправлена ошибка не позволявшая вводит пустые ответы при настройке
       чата с провайдером.
    5) Добавлена поддержка для выделенных линий.
       Вам может придется поредактировать файл a:\etc\rc_masq под
       конкретные условия подключения к провайдеру.


ПРИМЕЧАНИЕ: Это последняя, финальная и исправленная версия роутера Ballantain.
      На этом дальнейшее развитие Ballantain прекращено.
      Проект Ballantain закрыт.
      Может быть я только буду исправлять какие нибудь ошибки.
      Вместо Ballantain открывается новый проект - FREESCO,
      роутер для сетей со статической маршрутизацией, поддерживающий
      до 3-х эзернет адаптеров и до 2-х модемов, опционально бридж
      или для самых умных и бридж и роутер одновременно (кстати весьма
      прикольно и непредсказуемо работает в такой конфигурации).
      Как обычно легкий сетап и как обычно помещается на одном диске 1.44
      и как обычно может запускаться и с жесткого диска.
      Возможность использовать свапфайл, возможность старта всего лишь
      в 6 мегабатах памяти и возможность расширения дополнительными пакетами
      ставят FREESCO вне конкуренции.
      В течении месяца (от сегодняшнего дня 17-05-99) я выпущу
      альфа версию FREESCO, а пока вы можете полюбоваться на скриншоты
      администрирования FREESCO через телнет и через броузер.
      http://from.tsx.org (virtual address)
      http://www.linuxsupportline.com/~router (real address)


Q.  Что это?
A.  Ballantain это способ подключить небольшую локальную сеть к интернету
    через один модем и обеспечить всем пользователям локальной сети
    прозрачный доступ к интернету.
    Идеальное средство для небольшой сети состоящей из Windows 95 клиентов.

Q.  А все таки что это?
A.  Это линукс на одном гибком диске настроенный так чтобы работать в
    качестве роутера. Опционально DHCP сервер для динамической раздачи IP
    адресов в локальной сети.
    Еще короче: Linux + IP masquerad + diald + dhcpd + telnetd

Q.  Кажется звучит интересно. А что мне надо чтобы использовать 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 или вообще низкоскоростные, в таком случае
    идеальным выбором будет внутренний модем.

Q.  У меня сетевая карта на чипе ВЛКСМ1917 производства колхоз Заря
    республики Заполярное Сомали. Что мне делать?

A.  Попробуйте в настройках системы указать адрес и прерывание этой карты,
    может быть она будет работать. Для ISA карт адрес будет выглядеть как
    0xYYY, для PCI 0xYYYY где YYYY восьмеричное число.
    Прерывание - десятеричное число.

Q.  Не помогло. Что делать?
A.  Купить нормальную карту или позаимствовать нормальную карту из клиентского
    компьютера, а на ее место поставить вашу любимую карту имени колхоза Заря.

Q.  Как это все работает?
A.  Пакеты от клиентов идущие в интернет попадают в Ballantain. Ballantain
    при необходимости дозванивается до провайдера, устанавливает соединение,
    подменяет в этих пакетах исходящий IP адрес на адрес выданный вам
    провайдером и отсылает их наружу, с ответными пакетами из интернета
    Ballantain делает обратную подмену и отсылает клиенту. Через некоторое
    время после прохождения последнего пакета Ballantain разрывает связь
    с провайдером и переходит в режим ожидания.
    Вся ваша локальная сеть снаружи выглядит одним единственным компьютером
    подключенным к интернету и этот единственный компьютер - Ballantain.
    Таким образом клиенты напрямую недоступны из интернета и защищены от
    возможных атак. Ну а Ballantain, а Ballantain это линукс и он немного
    получше защищен от атак чем Windows.

Q.  Вы сказали DHCP сервер. Это лучше чем наш новеловский файл сервер?
A.  Самую малость. Если вся ваша сеть состоит из Windows 95 клиентов
    (и возможно Novell сервера или NT сервера) вы видимо используете
    протокол NETBEUI и/или IPS/SPX. Для работы c интернетом вам понадобится
    протокол TCP/IP, вот тут то вам и облегчит жизнь DHCP сервер.
    Он предназначен для автоматической конфигурации протокола TCP/IP на
    клиентских компьтерах, вам надо будет всего лишь добавить этот протокол
    на Windows компьютерах и указать что клиент получает IP адрес
    автоматически, обо всем остальном позаботится DHCP.

Q.  Хорошо, у меня есть файл ipmasq.vXX (ipmasqf.vXX) и требуемый компьтер,
    что дальше?
A.  Для пользователей DOS/Windows программой rawrite.exe запишите файл
    ipmasq.vXX на гибкий диск.
    Юниксоиды делают иначе: dd if=ipmasq.vXX of=/dev/fd0
    Загрузитесь с полученного диска. В ответ на подсказку загрузчика ОС
    boot: напишите setup и когда вам надоест сидеть и ждать нажмите клавишу
    ENTER (самая большая после пробела).
    Кстати писать eng или rus уже нет смысла раз уж вы читаете этот текст.


                        Настройка системы.

    После загрузки вы увидите меню:
      1) modem settings
      2) ISP settings
      3) miscellanous settings
      4) <bring up link> rules
      5) network settings
      0) exit

    Вопросы делятся на 3 категории:
    зеленые - те на которые необходимо ответить
    желтые  - можно отвечать, можно пропускать. Сильного влияния на
              работоспособность системы не оказывает
    красные - лучше не трогайте пока вы точно не уверены что делаете.

1.  Настройка параметров модема.
    Вы увидите какие параметры были до начала настройки, потом 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 connecе
# 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 поставьте скорость поменьше)

Modem init string. Usually ATZ or AT&F. [ATZ]?

    С этим по моему все ясно. Если неясно то просто нажмите ENTER.

2.  Настройки связанные с вашим провайдером.
    На экран опять будут выведены предыдущие настройки, но не все.
    Например те где фигурирует имя и пароль на экран не выводятся.

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: ,
    по истечении некоторого времени если не дождется будет посан
    символ <CR> и опять ожидание name:

0 Reply with [ahmed]?

    это то что бы собираемся ответить на первую подсказку.

1 Wait for [assword:]?

    опять ждем от провайдера магическое слово assword :-)

1 Reply with [xxxxxx]?

    в ответ напишем PASSWORD

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. []?

3. Прочие настройки системы.

    Единственная прочая настройка это время через которое должен сработать
    screen saver и погасить экран:

Previous settings:
==================
# Misc system wide settings.
#
BLANK=0         # Turn off screen after 0-60 min. 0 - never.
==================

    По умолчанию 0 т.е. не гасить экран.
    Или вам жалко монитор от этого старого дохлого 386 компьютера?
    Кстати на 5-ой консоли выводится системный лог с некоторым количеством
    полезной информации и строка с состоянием модема и ppp интерфейса.

4.  Правила дозвонки до провайдера.

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 не будет дозваниватся до провайдера по
    любому поводу.

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

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.
    Могу только добавить что настройки по умолчанию на мой взгляд достаточно
    удовлетворительны для большинства случаев.

0.  Выход.
    После окончания настройки системы выберите выход, система перезагрузится
    и возможно будет уже готова к работе. (хе-хе-хе. может быть:)

    Загрузите Ballantain и проследите что на экране не было никаких сообщений
    о том что вам надо сконфигурировать сетевую карту.
    Сотрите пот со лба - вам кажется повезло с сетевой картой.
    Проверим соединение с провайдером? Введите команду ping www.aha.ru
    (да простит меня за это мой самый первый провайдер).
    В 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 просто игнорируются,
    так что не беспокойтесь о них.

Q.  Куда, кому и сколько мне надо заплатить за это?
A.  Если вы живете в любой точке мира кроме Об'единенных Арабских Эмиратов
    платить ничего не надо. Иначе говоря халява, то есть даром.
    Ну а если вам не повезло и вы живете в UAE... ну вобщем вам не повезло...
    пишите письма, договоримся.

Q.  А как у вас с security?
A.  По разному. Система максимально защищена (насколько я смог сделать:) со
    стотоны интернета и немного с внутренней стороны.
    Защита со стороны интернета обусловлена отсутствием каких либо сервисов
    (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.

Q.  А я вот нашел ошибку и еще хотел бы предложить .... Что делать?
A.  Написать автору svs@hempseed.com

Q.  А вот мне бы хотелось что бы Ballantain работал еще и в качестве
    файл сервера. Я слышал есть такой эмулятор Novell называется mars,
    вы не могли бы его встроить в Ballantain?
A.  Нет не могли бы. Во первых система итак уже с трудом работает на
    компьютере с 8М памяти, а во вторых Ballantain был создан для решения
    вполне конкретной задачи что он и делает. Если вам надо что то большее
    купите 40М жесткий диск и поставьте на него менее игрушечный линукс :)

Q.  А мне все равно чего то в Ballantain нехватает, может второго эзернета?
A.  Проект Ballantain закрыт окончательно, попробуйте обратить свой взгляд
    на проект FREESCO - роутер для сетей со статической маршрутизацией.
    FREESCO будет поддерживать до 3-х эзернет адаптеров и до двух модемов,
    один для входящих/выходящих звонков, другой только для входящих.
    В данный момент (17-05-99) FREESCO еще не готов, но на домашней страничке
    уже лежит несколько скриншотов. Я надеюсь выпустить FREESCO в свет в
    течении месяца.


                        Немного технической информации.

    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

Популярность: 11, Last-modified: Wed, 19 May 1999 15:55:25 GMT