Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пример пояснительной записки.doc
Скачиваний:
14
Добавлен:
23.05.2015
Размер:
596.99 Кб
Скачать

3.3. Конфигурирование Proxy-сервера

Используется топология сети – звезда, IP сервера: 192.168.0.1/24. Необходимо настроить proxy-сервер таким образом, чтобы выход в интернет могли только машины, входящие в данную подсеть.

Squid использует файл конфигурации squid.conf.[11] Обычно он располагается в каталоге \squid\etc\.

Чтобы ограничить доступ к интернет для устройств, не входящих в нашу сеть необходимо добавить следующие строчки:

acl my_network src 192.168.0.0/24

acl all src 0.0.0.0/24

http_access allow my_network

http_access deny all

Установим параметры кэша:

cache_dir ufs /var/squid/cache 2048 16 256

После этого необходимо пересоздать каталоги командой squid -z.

Параметр maximum_object_size указывает максимальный размер кешируемого объекта. Бывает полезно при обновлении программного обеспечения на нескольких компьютерах сети. После первого обновления остальные устройства будут загружать файл из кэша, что значительно уменьшит время загрузки.

maximum_object_size 10240

Команда squid -k reconfigure позволяет применить новые настройки без перезапуска Squid.

Конфигурационный файл приведен в приложении 1.

3.4. Разработка клиентского модуля

3.4.1. Работа с ftp сервером

Блок-схема[12] алгоритма работы клиентского модуля приведена на рис. 7. Вся разработка ведется на языке C#. [9,13]

Полный листинг исходного кода клиентского модуля приводится в приложении, здесь остановимся лишь на основных функциях программы, а так же на основных классах и методах библиотеки BytesRoad.NetSuit для работы с FTP сервером.[6]

Для подключения к серверу:

//создаем объект FTP клиента

FtpClient client = new FtpClient();

//Задаём параметры клиента.

client.PassiveMode = true; //Включаем пассивный режим.

int TimeoutFTP = 30000; //Таймаут.

string FTP_SERVER = "адрес фтп сервера";

int FTP_PORT = "порт ФТП сервера";

string FTP_USER = "пользователь";

string FTP_PASSWORD = "пароль";

//Для использования прокси сервера задаются параметры прокси.

FtpProxyInfo pinfo = new FtpProxyInfo(); //Это переменная параметров.

pinfo.Server = "192.168.0.202";

pinfo.Port = 21; //Порт.

pinfo.Type = FtpProxyType.HttpConnect; //Тип прокси - всего 4 вида.

pinfo.PreAuthenticate = true; //Если на прокси есть идентификация

pinfo.User = "Имя пользователя";

pinfo.Password = "Пароль пользователя";

//Присваиваем параметры прокси клиенту.

client.ProxyInfo = pinfo;

//Подключаемся к FTP серверу.

client.Connect(TimeoutFTP, FTP_SERVER, FTP_PORT);

client.Login(TimeoutFTP, FTP_USER, FTP_PASSWORD);

//

//.... Здесь выполняются необходимые операции с сервером ...

//

//Отключаемся от ФТП сервера

client.Disconnect(TimeoutFTP);

Теперь немного об основных методах для работы с FTP сервером:

//Получение списка содержимого текущего каталога с FTP.

client.GetDirectoryList(TimeoutFTP);

//Изменение директории на указанную.

//Можно переходить вверх указав вместо имени папки ".." либо в любую папку расположенную в текущей.

client.ChangeDirectory(TimeoutFTP, "папка");

//Удаление указанного файла с сервера.

client.DeleteFile(TimeoutFTP, "файл");

//Удаление указанной папки с сервера.

client.DeleteDirectory(TimeoutFTP, "файл");

//прием файла с сервера.

client.GetFile(TimeoutFTP, "куда принимаем - путь на диске", "Что принимаем - файл на сервере");

//загрузка файла на сервер.

client.PutFile(TimeoutFTP, "имя файла на сервере", "что грузим - имя файла на компьютере");

Рис. 7. Алгоритм работы клиентского модуля