Кеширующий прокси-сервер для операционной системы A2


SAGE


Первое тестирование на реальном железе :-)

Конфигурация:

  • Motherboard: PC Partner BXBS3-C930 на чипсете Intel 440BX;
  • CPU: Intel Celeron 433 MHz, запущенный на реальной частоте (83 x 6,5 = 540 MHz);
  • RAM: 2 x 64 Mb PC-100;
  • HDD: 3 Gb Samsung SV0322A;
  • Video: Trident 3D Image 9850 AGP 2x 4 Mb;
  • LAN: 2 x RTL8139 10/100 Mbps PCI;
  • Modem: TJ 700x DOCSIS Terayon Cable Modem, подключенный к RJ45 порту одного из сетевых контроллеров;
  • Bluebottle build 28.11.06.

Вот так это всё выглядит :-)

Система с запущенным прокси-сервером  Снимок экрана с запущенным приложением TCP Tracker

Настройка

Все настройки осуществляются в файле AosConfig.XML.

Первым делом я настроил автоматическое монтирование FAT (Bluebottle может работать с любыми FAT разделами: FAT12, FAT16 и FAT32. С NTFS разделами Bluebottle пока не работает) раздела достаточных размеров для хранения кеша, различных логов и служебных файлов:

...
<Section name="Autostart">
	...
	<Setting name="Mounting FAT partition"
		value="AosFSTools.Mount FAT FatFS IDE0#2"/>
	...

В моём случае раздел IDE0#2. В Вашем может быть другим. Просмотреть все разделы можно запустив утилиту Partitions из меню Files.

Далее, для облегчения последующего удалённого доступа к разделам диска, заведём FTP аккаунты и автоматический запуск FTP сервиса. Аккаунты нужно завести один раз, соответствующие команды можно добавить в файл конфигурации в качестве комментариев. Полный доступ к разделу AOS будет иметь пользователь AOS с паролем AOSpass, а к разделу FAT пользователь FAT с паролем FATpass. Пароли и логины конечно можно задать любые, и вообще обойтись без FTP доступа. Всё это на Ваше усмотрение. При потребности можно запустить и VNC сервис (можно ознакомиться для этого с содержимым WMVNCView.Mod).

...
<Section name="Autostart">
	...
<!--
	WebFTPServer.AddUser AOS AOSpass -1 rwp  AOS:~
	WebFTPServer.AddUser FAT FATpass -1 rwp  FAT:~
	WebFTPServer.ListUsers~
	WebFTPServer.RemoveUser AOS~
	WebFTPServer.RemoveUser FAT~
	WebFTPServer.Stop~
-->
	<Setting name="Start the FTP server"
		value="WebFTPServer.Start \l:FAT:/Oberon/FTP.Log"/>
	...

Запуск прокси-сервера:

...
<Section name="Autostart">
	...
<!--
	CacheProxy.Stop~
-->
	<Setting name="Start the Proxy server"
		value="CacheProxy.Start
			\c:FAT:/Oberon/Proxy/Cache/
			\l:FAT:/Oberon/Proxy/Proxy.Log
			\f:FAT:/Oberon/Proxy/URIFilter.txt"/>
	...

Настройка сети. Система в поцессе загрузки автоматически присваивает сетевым адаптерам дескрипторы вида "устройство#№". Мои две сетевые карточки получили имена "RTL8139#0" и "RTL8139#1". Опытным путём было установлено, что номер 0 получила карточка стоящая в PCI слоте ближе к процессору, а номер 1 та карточка, которая стоит подальше. В порт карточки 0 я воткнул патч-корд, идущий к моей домашней локальной сети, а в порт карточки 1 патч-корд, идущий к кабельному модему. Конфигурация сети в моём случае:

...
<Section name="NetConfig">
	<Section name="IPv4">
		<Section name="AutoNetConfig">
			<Setting name="Enabled" value="TRUE"/>
		</Section>
		<Section name="Interface">
			<Setting name="Device" value="RTL8139#0"/>
			<Setting name="Name" value="localv4"/>
		<!-- Setting name="Domain" value="mydomain.com" / -->
			<Setting name="DHCP" value="FALSE"/>
			<Setting name="LocalAdr" value="192.168.0.102"/>
		<!-- Setting name="Gateway" value="192.168.1.1" / -->
			<Setting name="Netmask" value="255.255.255.0"/>
		<!-- Setting name="DNS" value="192.168.1.1" / -->
			</Section>
		<Section name="Interface">
			<Setting name="Device" value="RTL8139#1"/>
			<Setting name="Name" value="dhcp"/>
		<!-- Setting name="Domain" value="mydomain.com" / -->
			<Setting name="DHCP" value="TRUE"/>
			...

Цель проекта

Цель проекта - создание полноценного кеширующего прокси-сервера с функциями файрвола, функционирующего в среде ОС Bluebottle.

Тестирование в WinAos

Выложенный модуль - еще очень сырая версия. Тем не менее, его работу уже можно протестировать. Для этого можно воспользоваться, например, дистрибутивом WinAos [1].

Для корректного функционирования, WinAos желательно запускать под Windows 2000 или XP. Для поддержки работы с сетью необходимо наличие в системе драйвера протокола IPv6. В XP он уже присутствует и сеть WinAos "увидит" сразу, а в 2000 его нужно инсталлировать, независимо от наличия каких-либо сервис-паков включая SP4... Инструкция по установке драйвера для каждого конкретного сервис-пака приведена на сайте WinAos в change-логе на 23.12.2005 [1].

На любом из дисков системы нужно создать папку, например "С:\Proxy", куда прокси-сервер будет помещать файлы в процессе работы.

Теперь достаточно откомпилировать модуль в среде WinAos и запустить его с параметрами:

CacheProxy.Start \c:C:/Proxy/cache/ \l:C:/Proxy/Proxy.Log \f:C:/Proxy/URIFilter.txt~

где:

"\c:" - параметр, указывающий путь к папке размещения кеша.

"\l:" - параметр, указывающий полный путь к log-файлу.

"\f:" - параметр, указывающий полный путь к файлу с перечнем доменов, доступ которым нужно блокировать.

После запуска сервера можно запустить TCP-трекер в разделе меню Inspect. В трекере мы должны увидеть один-единственный процесс в состоянии Listen - это и есть наш прокси-сервер. Далее указываем в настройках браузера использование прокси-сервера с адресом localhost или 127.0.0.1 и портом 3128.

Теперь делам размер окна браузера таким, чтобы было видно окошко TCP-трекера, отправляемся в браузере на какой-нибудь адрес, и видим в окошке TCP-трекера несколько появляющихся и пропадающих соединений.

После брожения по сети можно посмотреть на содержимое папки "C:\Proxy\cache\".


Ссылки:

[1] http://bluebottle.ethz.ch/winaos/.





Тип

Имя

Размер

Загрузок

zip

Sage.CacheProxy.zip

6 KiB

138

txt

Sage.CacheProxy.txt

2 KiB

156

Дата последнего обновления: 24-1-16 19:14:07


 

Copyright © 2005-2017 SAGE. Все права защищены.