The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Программный рутер на базе FreeSCO (bsd)


<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>
Ключевые слова: bsd,  (найти похожие документы)
From: Евгений Кондратов aka Udjin <[email protected]> Newsgroups: fido7.ru.unix Date: Mon, 4 Dec 2000 13:01:37 +0000 (UTC) Subject: Программный рутер на базе FreeSCO Время "Free" Часть 1. Евгений Кондратов aka Udjin <[email protected] > Все что Вы прочтете ниже не претендует на полноту и отражает субъективную точку зрения Автора. Сокращения принятые в тексте ISP - Интернет сервис провайдера (Internet Service Provider) DNS - Сервер доменных имен (Domain Name Service (Server)) DHCP - Сервер динамических адресов (Dynamic Host Control Protocol) WINS - Сервер имен Windows (Windows Internet Name Service (Server)) client - Клиент (computer connected to local network) NAT - он же Masquerad технология маскирования адресов - (Network Address Translation) DMZ - Частная сеть (de military zone) MS - Microsoft Corp. ПО - программное обеспечение Железо - hardware Почему. Довольно долгое время я использовал в своей работе продукты Microsoft. В частности: NT4, NT2000. IIS3 - 4, MS PROXY SERVER, MS SQL Server 6.5 - 7.0 - 2000. Они хороши, и у меня не было причин отказываться от их использования (некоторые из них я и по сей день использую и буду использовать), но таки решил "уходить" на свободно-распространимое программное обеспечение. Причина - непрозрачность продуктов от MS. За дружелюбным интерфейсом которых кроется нечто, работающее по собственным правилам, и навязывающее свою волю пользователю. Для меня этого оказалось достаточным чтобы обосновать перед самим собой отказ от продуктов MS и уход под знамена GPL (???) Выбор ПО. Передо мною лежат коробки с операционными системами RedHat 7.1 Free BSD 4.4 AltLinux Junior 1.1 AltLinux Business Server RosLinux 1.1 - их можно разделить на 3 семейства: RedHat, FreeBSD и клоны Mandrake. Все указанные выше операционные системы я пощупал, опробовал на различных за дачах, сделал некие выводы. Поскольку мне нужно работать, а не собирать "кубик-рубика" по эмпирическим правилам, то выбор пал на Free BSD. Стройная и понятная операционная система для сервера. Логичная. Строгая. Мечта системного администратора. Сторонникам семейства Линуксов также воздалось - тексты набираются на машине работающей под управлением RedHat 7.3. Домашняя сеть маршрутизируется в интернет через шлюз под управлением FreeSCO. О чем статьи? Серия статей будет посвящена решению конкретных задач. Под каждую задачу я выбирал наиболее оптимальное, с моей точки зрения, решение. В статьях я опишу последовательность действий , и попытаюсь обосновать свой выбор в каждом конкретном случае. Критерий оценки оптимальности выбора - деньги потребные на создание соизмеримого по требуемой функциональности программно/аппаратного комплекса. Задача 1. Строим программный Роутер. Домашняя сеть из 3-х персональных компьютеров. Доступ в интернет - модемное соединение. Необходимо раздать интернет-траффик внутри DMZ (равноправно) и сделать сие "дешево и сердито". Решалось ранее следующим образом. Машина: P200MMX 64Mb RAM 2GB SCSI, Ethernet 10/100 PCI, Courier V. Everything ПО: NT4 Workstation + eServ 2.96 (позже Squid 2.4) + AtGuard Поиск программного роутера. Для домашней сети покупать сервер доступа от CISCO или роутер Zixel накладно, но хотелось иметь нечто с интерфейсом IOS CISCO, столь же надежное, в рамках разумного, и как можно дешевле. Одно дисковых дистрибутивов в сети достаточно (начиная с образцово-показательного "демо" от QNX). Я остановил свой выбор на FreeSCO (http://freesco.wallst.ru/). Автор сего произведения "админского" искусства Serge V Storozhevykh FreeSCO - это реинкарнация мини роутера "Ballantain" (http://freesco.wallst.ru/ballantain/bltrus.shtml, http://www.atom.krasnet.ru/~evg/ipmasq.shtml) того же автора Текущая версия FreeSCO, на момент написания статьи - 0.2.7 Подкупила меня его универсальность и не требовательность к железу. Разработчик заявляет минимально 386 процессор, 6(8) мегобайт памяти + Floppy Drive. Что умеет Freesco - работать бриджем - поддерживает Firewall и Network Address Translation - может кешировать DNS запросы - может поднять собственный DNS Server (BIND v4) - DHCP Server - HTTP Server - Telnet server (на одно соединение в квант времени) - Print Server - Remote Access Server (до двух модемов) - Time Server - умеет роутить между 3 - мя Ethernet - дозваниваться до провайдера - позволяет ставить дополнительно любой софт который сумеете установить Как минимум - SQUID и утилиты для повседневного контроля 386 - й процессор я не нашел, а нашел в чудно тонком slim - case 486 DX66 + 16 Мб RAM + 120MB IDE (Sea Gate), 3COM509, Winbond Multi Port Adapter, и на время инсталляции использовал флоппи-драйв. Доступ в интернет - модем Courier. Установка. Перед установкой желательно препарировать жесткий диск - разметить fdisc, отформатировать его и сделать загрузочным. Перемещайтесь к download (http://freesco.wallst.ru/dload/index.shtml) разделу и качайте. Качать нужно 2 зип-фала - freesco-027.zip и modules-027.zip Распакуйте их куда пожелается. Что мы имеем Папка TCLIENT.W9x, клиент Time Server для Windows 95/98 Папка TCLIENT.UIX, клиент Time Server для linux (unix) Файлы: - freesco.scp - скрипт для модемного соединения клиентов Windows 95/98 - freesco.XYZ - образ загрузочного диска - rawrite.exe - программа для переноса образа загрузочного диска на дискету В каталоге модулей находится детальная инструкция по установке модулей (драйверы для различных сетевых карт и наборы раскладок клавиатуры на все случаи жизни) Теперь сделайте загрузочный диск: rawrite.exe freesco.XYZ Загрузитесь с него. После того как получите приглашение операционной системы заходите как root. (имя - root и пароль root) Далее: move2hdd Удалите из флоппи драйва загрузочный диск и наберите в командной строке router.bat setup Настройка. Прежде чем приступить к настройке необходимо спланировать свою сеть и сервисы которые вы будете использовать. В моем случае это выглядит следующим образом - DNS - как кеширующий сервер, доступ только для клиентов внутренней сети; - HTTPD - используется для управления роутером из внутренней сети; - Time Server - синхронизируется с тайм сервером провайдера; - NAT - настраиваем для клиентов DMZ на интерфейсе ETHERNET; - DHSP - диапазон адресов 192.168.0.10-20; - ETHERNET - адрес 192.168.0.1; - провайдер выделяет динамический адрес; - сервисы (DNS-TELNET-TimeServer-HTTPD) - в режим S (secure) - т.е. доступ только из DMZ. Для первичной настройки я рекомендую воспользоваться мастером настройки, и он шаг за шагом проведет вас по всем настройкам. Выглядит это так. Выбирайте опцию меню Modem-to-Ethernet router in dial-on-demand mode (analog or ISDN modem) (Роутер между интерфейсами модема и Ethernet в режиме дозвона по требованию). Я опишу наиболее важные, с моей точки зрения, настройки. 711 Hostname of this computer [router]? Press <Enter> Тут запрашивается имя вашего роутера. У меня - kuzya;-) 712 Domain name [inet]? Press <Enter> Имя вашей сети (DMZ) - FREENET How many ethernet cards do you have [1-3]? 3 Количество установленных ETHERNET карт - 1 811 I/O port address of 1st ethernet card [0x300]? 812 IRQ line of 1st ethernet card [11]? Последовательно будут запрошены адреса ввода / вывода и прерывания для каждого из адаптеров, в случае - если используются PnP адаптеры - можно пропустить эти настройки 720 Use DHCP client for configuring 1st network interface y/n [n]? n Для моего случая (подключение к провайдеру по модему) необходимо указать "n", если используется в качестве внешнего интерфейса ETHERNET или доступ осуществляется с помощью кабельного модема, - то придется использовать клиента DHCP. 721 IP address of 1st network interface [10.0.0.1]? Press <Enter> 722 Network mask [255.0.0.0]? Press <Enter> 723 IP range [10.0.0.100 10.0.0.150]? Press <Enter> Для нашего случая не принципиально В случае выделенного канала - запросите адрес у провайдера. 14 Screen saver, in minutes. 0 - disable [0]? Press <Enter> 0 15 Swap file size in kbytes (on boot device). 0 - disable [0]? <Enter> Размер файла подкачки - у меня 16. 41 Enable caching DNS server y/s/n [y]? Press <Enter> s 421 Enable DHCP server y/s/n [y]? Press <Enter> s 422 WINS address (if you have one, otherwise - n) []? Press <Enter> n или укажите IP машины на которой работает сервис WINS 431 Enable public HTTP server y/s/n [n]? Press <Enter> s 441 Enable time server and router control via HTTP y/s/n [y]? <Enter> s 442 Control HTTP server IP port [82]? Press <Enter> 82 451 Enable Print Server y/s/n [y]? Press <Enter> n 452 Print server IP port [515]? Press <Enter> 453 Output device name [lp1]? Press <Enter> Далее мастер попробует идентифицировать ваш модем и настроить параметры порта - SOFT модемы не опознаются. 32 Host DNS address (usually your provider's DNS) []? Тут необходимо указать IP DNS - сервера провайдера Будут запрошены первичный и вторичный DNS сервера. 16 Keep up ppp link for N sec. 0 - use filter.cfg; 1 - forever. [600]? Press <Enter> У меня - 1. Или укажите количество секунд не активности соединения. 31 ISP phone numbers [T4004444 T5004444]? Номера модемного пула провайдера. T - тон набор, P - пульс. 331 Does your ISP give you dynamic IP address [y]? Press <Enter> В зависимости от того, выделяет Ваш провайдер адреса клиентам из динамического диапазона или вы имеете постоянный адрес соединения В моем случе - y. Если постоянное соединение или фиксированный IP - то укажите его. 341 Authentification method - pap/chap/script []? script pap или chap. После того как сохраните конфигурацию перезагрузитесь reboot. И после перезагрузки Ваш роутер самостоятельно дозвонится до провайдера с получением первого запроса от клиентов DMZ. Остальные пункты настройки очевидны - но я приведу укороченный листинг своей конфигурации. ******** ----- cat /etc/system.cfg ----- # [System] ROUTER=dialup # 0.dialup/leased/ethernet/bridge HOSTNAME=kuzya #711. Router name DOMAIN=freenet #712. (Local) domain name ENAMSQ=y # 11. Enable NAT and firewall ENABRG=n # 12. Enable bridging mode? DONT TOUCH!!! BIGMEM=y # 13.If 16+MB RAM start ppp bsd compression SAVERS=0,0 # 14. Savers - screen (min), hdd (x5 sec) 0 -off SWPSIZE=16 # 15. Swap size in Kb on boot device. 0 - off LOGSIZE=150000,10000 # 16. System_log, logins_log sizes (bytes) DEFISP=noname # 6. Default dialup ISP # [Services] # y - worldwide/s - local/n - disable ENADNS=s #411. Enable caching DNS server LOGDNS=n #412. Enable debug info ENADHCP=s #421. Enable DHCP server WINSADDR= #422. WINS address (for DHCP server) LIZTIME=604800,604800 #423. default-lease-time, max-lease-time ENAWWW=s #431. Enable Public HTTP Server WWWPORT=80 #432. on port ENAWWA=s #441. Enable Time Server and control via HTTP WWAPORT=82 #442. on port TIMADDR=121.222.1.2 #443.Host timeserver address, empty - disable TIMZONE=+0100 #444. Offset to UTC (-1200 - +1200) ENALPD=n #451. Enable Print Server LPPORT1=515 #452. on port LPDEVI=lp1 #453. on output device LPPORT2=516 #454. Second lp server on port, empty - disable LPDEV2=lp2 #455. on output device ENATEL=s # 46. Enable telnet server # [Security] TRUSTLN=p #211.Trust local nets y/n/p{artual} TRUSTMD=n #212.Modem links have access to local networks RINGS=2,7 #220.Rings before answer at login, nologin time MonTIM="" #221. Nologin times for modem users TueTIM="" #222 WedTIM="" #223 ThuTIM="" #224 FriTIM="" #225 SatTIM="" #226 SunTIM="" #227 # [Modems] MODEM0=cua1 # 51.1st modem MSPEED0=115200 # 52. port's speed MINIT0="ATZ" # 53. init string MTU0= #541. Maximum Transmit Unit MRU0= #542. Maximum Receive Unit MADDR0= # 55. ppp link remote addr (for dialin purpose) # [Networks] USEDHCP0=n #720.Use DHCP client to config this interface INTNAME0=eth0 #721.Interface name (eth0|arc0e|arc0) DHCPLOG=y #722. Enable DHCP client messages in the log DHCPDNS=y #723 Enable auto configuration of DNS via DHCP IPADDR0=192.168.0.1 #724.IP adress of this interface NETMASK0=255.255.255.0 #725. Network mask NETWORK0=192.168.0.0 # Network address BRDCAST0=192.168.0.255 # Broadcast address #726.IP pool, empty disables DHCP on this interface IPRANGE0="192.168.0.10 192.168.0.20" ******** Следующим шагом меняйте пароли установленные по умолчанию. В системе уже существуют следующие пользователи: root - administrator admin - administrator (http) up - отключен down - отключен block - отключен unblock - отключен force - отключен unforce - отключен wuser - trusted user (http) ppp Необходимо сменить пароли пользователям: root admin wuser ppp Команда - chpass [имя пользователя] Доступ к интерфейсу администрирования через www http://192.168.0.1:82 Для инсталляции дополнительных пакетов используйте утилиту installpkg (installpkg http://anyvhere.any/any.sh) Для обеспечения загрузки компьютера c FreeSCO без монитора и клавиатуры измените настройки CMOS SETUP - в частности поставте в разделе GENERAL: HALT - NO ERROR Монитор и клавиатуру можно отключать, тщательно смажте подшипник вентилятора в блоке питания циатином с графитом и забудьте о своем роутере - у меня за 3 месяца работы не было ни одного сбоя. На стороне клиентов настройки сводятся к установке протокола TCP-IP c получением параметров по DHCP. Никаких дополнительных настроек на клиентах делать не требуется. Все работает благодоря NAT прозрачно. Загрузка процессора при обслуживании 3 - х клиентов не превышает 4%. Испльзуется при работе 13,2 мб памяти. Таким образом 486DX66 способен маршрутизировать сеть куда большую чем моя домашняя и на скоростях куда как больших. Оценка программного роутера FreeSCO. Персональный компьютер 486 DX66/16/120/3C-509 - US 30 FreeSCO - US 0 Итого US 30 Для примера аналогичная конфигурация которую я использовал P200/64/2GB/3C-509 - US 100 NT4Workstation - US 120 eServ - US 90 Итого US 310 Ссылки на ресурсы: Адаптированное для FreeSCO ПО http://www.freescosoft.com/home/ Информация на русском о FreeSCO http://kotbrs.virtualave.net/ Превращение FreeSCO в монстра: -)) http://www.freesco.org/~wapr/ В статье не хватет 1. Рисунков 2. Методики оценки решений с точки зрения надежности / производительности.

<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>

Обсуждение [ Линейный режим | Показать все | RSS ]
  • 1.1, Особь (?), 02:10, 06/04/2004 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Старое ядро фриски не позволяет пропускать VPN-трафик.
    Жаль.
     
     
  • 2.2, Radiohead (?), 14:28, 27/08/2004 [^] [^^] [^^^] [ответить]  
  • +/
    Новое (0.3.3) - позволяет!
     

  • 1.3, tisme (?), 14:22, 25/09/2004 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    вот только причем тут ключевое слово: BSD?

    ядро-то линуксячее...

     
  • 1.4, aL (?), 16:38, 17/01/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Кто-нибудь может помочь (или хотя бы подсказать) как сделать CallBack на FreeSCO...
     
     
  • 2.5, Radiohead (?), 11:41, 18/01/2005 [^] [^^] [^^^] [ответить]  
  • +/
    >Кто-нибудь может помочь (или хотя бы подсказать) как сделать CallBack на FreeSCO...
    >

    http://forums.freesco.org/support/

    Если и там не помогут - скорее всего не поможет никто :-)

     

  • 1.6, Fleks (?), 17:43, 09/02/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Ну что насчёт CallBack кто-то что-то выяснил конкретное???
     
  • 1.7, Ale2k (?), 20:34, 15/03/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Драйвер радио карты D-Link DWL-G520+ в FreeSco?
     
  • 1.8, Nab (ok), 04:23, 17/11/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    По поводу Callback
    вот здесь
    http://freesco.linux.kiev.ua/packages/callback.shtml
    По поводу драйверов обратитесь на форум поддержки, там возможно помогут....
     
  • 1.9, Денис (??), 21:08, 26/12/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А как насчет настроек? Мне необходимо:
    1)делить скорость, как рутером с поддержкой  Qos
    Было бы неплохо:
    2)привязываться по MAK адресу
    3)установить и прокси сервер на этой машине для "ускорения" интернета
    Но самое главное ДЕЛИТЬ СКРОРОСТЬ, так как у меня уже есть рутачёк - железка, вот только там поддержки Qos нету и из- за этого страдаю...
    Машина под сервер:
    K6 300MHz 96MB of RAM 4GB HDD floppy/cd-rom (сейчас на ней стоит NT4Server)
     
  • 1.10, Денис (??), 21:14, 26/12/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Кстати, если надо больше RAM'а, то лёгко накину туда ещё 128МБ, мало жёсткого - будет 30ГБ. ЧТо посоветуете?
     
     
  • 2.11, Nab (ok), 22:06, 26/12/2005 [^] [^^] [^^^] [ответить]  
  • +/
    >Кстати, если надо больше RAM'а, то лёгко накину туда ещё 128МБ, мало
    >жёсткого - будет 30ГБ. ЧТо посоветуете?

    В качестве QoS есть rshaper...
    Памяти более чем достаточно....
    squid присутствует... У меня в статье http://freesco.linux.kiev.ua/docs/howtos/transparent_squid.shtml расказано как сделать прозрачным...
    Сейчас к нему скомпилил sarg и Режик (http://rejik.ru/), собираю в пакет.

    Вообще пакетов в официальном репозитории http://www.freescosoft.com/ вполне достаточно для большинства задач....
    Так же очень рекомендую местный форум http://forums.freesco.org/
    там есть рускоязычный раздел. Да и большинство пакетов там сначала анонсятся...

     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру