Построение корпоративной локальной сети на примере сети коммерческого предприятия крупного товаропроизводителя
Компьютерная сеть, покрывающая относительно небольшую территорию или небольшую группу зданий. Локальная сеть и сетевая топология. Архитектура, построение и метод передачи данных. Метод доступа, топология, тип кабельной системы. Способ управления сетью.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 10.09.2011 |
Размер файла | 3,6 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Скрипт взаимодействует с файлами конфигураций:
- pf.conf
- resolv.conf
Скрипт каждую минуту пингует маршрутизатор провайдера и в случае не ответа от маршрутизатора провайдера, меняет маршрутизатор одного провайдера на другого оставляя системе метку о изменении маршрута по умолчанию, при этом вносит изменения в файл resolv.conf и делает замену IP-адресов в конфигурации pf.conf после чего перезапускает pf nat. Если маршрутизатор первый ответил то скрипт таким же образом переключает машрут по умолчанию на первого провайдерва, при этом меняет значения DNS, заменяет IP-адреса в файле pf.conf и перезапускает PF NAT.
Скрипт работает каждую минуту благодаря crontab (аналог автозапуска windows OS).
Ранее мы рассматривали файл конфигурации pf.conf, в котором ввели переменные. В нашем скрипте мы также ввели переменный для удобства. Удобство состоит в том, чтобы не путать в скрипте с каких IP-адресов на какие будем подменивать. Имена переменных и их значения должны совпадать в скрипте и в файле конфигурации pf.conf.
На рисунке рабочий скрипт переключения каналов.
FreeBSD в роли сервера БД MySQL
Некоторым сетевым сервисам как Exim, dovecot, pureFTP, Cacti по своей специфике необходимо хранить свои базы данных надлежащим образом, при этом оказывать надежную отказоустойчивость. Например, SMTP-сервер Exim и Dovecot работают одновременно с четырьмя почтовыми доменами. Системные пользователи и база данных /etc/aliases не может обеспечить в полном объеме обеспечить обмен почты для 4-х почтовых доменов. Также необходим инструмент для гибкого хранения данных при этом необходимо совместить с легким управлениям через web.
Средой для хранения БД был выбран пакет MySQL.
Основные возможности MySQL
Ниже представлен список наиболее важных характеристик программного обеспечения баз данных MySQL:
- Написан на языках С и C++.
- Протестирован на широком спектре различных компиляторов.
- Работает на множестве различных платформ.
- Для обеспечения переносимости использует инструменты GNU - Automake, Autoconf и Libtool.
- Доступны API-интерфейсы для С, C++, Eiffel, Java, Perl, PHP, Python, Ruby и Tel.
- Полностью многопоточный с использованием потоков ядра. Может работать в многопроцессорных системах.
- Обеспечивает транзакционный и нетранзакционный механизмы хранения.
- Использует очень быстрые дисковые таблицы (MylSAM) со сжатием индексов на основе бинарных деревьев (В-деревьев).
- Сравнительно простое добавление другого механизма хранения. Это удобно, если требуется добавить SQL-интерфейс к базе данных собственной разработки.
- Очень быстрая система распределения памяти, основанная на потоках.
- Очень быстрые соединения, использующие оптимизированные однопроходные мультисоединения.
- Хранимые в памяти хеш-таблицы, которые используются в качестве временных таблиц.
- Функции SQL реализованы с использованием высоко оптимизированной библиотеки классов и должны выполняться предельно быстро. Как правило, какого-либо распределения памяти после инициализации запроса не выполняется.
- Код MySQL протестирован с помощью инструментов поиска утечки памяти, как коммерческих, так и с открытым исходным кодом.
- Сервер доступен как отдельная программа для использования в клиент-серверной сетевой среде. Кроме того, он также поставляется в виде библиотеки, которая может быть встроена в отдельные автономные приложения. Такие приложения могут применяться в изолированной среде или среде, не имеющей доступа к сети.
- Типы столбцов:
- Множество типов данных для столбцов таблиц: знаковые/беззнаковые целые ДЛИНОЙ В 1, 2, 3, 4 и 8 байт; ТИПЫ FLOAT, DOUBLE, CHAR, VARCHAR, TEXT, BLOB, DATE, TIME, DATETIME, TIMESTAMP, YEAR, SET, ENUM и пространственные типы OpenGIS.
- Записи фиксированной и переменной длины.
-Операторы и функции.
- Полная поддержка операций и функций в конструкциях SELECT Where
mysql> SELECT CONCAT(first_name, ' ', last_name) -> FROM citizen -> WHERE income/dependents > 10000 AND age > 30;
- Полная поддержка конструкций GROUP BY и ORDER BY. Поддержка групповых функций (COUNT(), COUNT(DISTINCT ...), AVG(), STD(), SUM(), MAX(), MIN() и GROUP_CONCAT ()).
- Поддержка LEFT OUTER JOIN и RIGHT OUTER JOIN как с синтаксисом SQL, так и с синтаксисом ODBC.
- Поддержка псевдонимов для таблиц и столбцов, как того требует стандарт SQL.
- Операторы DELETE, INSERT, REPLACE и UPDATE возвращают количество строк, которые были изменены. Вместо этого можно задать возврат количества сірок, соответствующих запросу, для чего потребуется установить соответствующий флаг при подключении к серверу.
- Специфическая для MySQL команда SHOW может быть использована для извлечения информации о базах данных, таблицах и индексах. Команда EXPLAIN позволяет просмотреть, как оптимизатор выполняет запрос.
- Имена функций не конфликтуют с именами таблиц и столбцов. Например, ABS - абсолютно корректное имя столбца. Единственное ограничение, которое накладывается на вызов функций, - это то, что между именем функции и следующей за ним открывающей скобкой ' (' не должно быть пробелов.
- Можно смешивать таблицы из разных баз данных в одном запросе (как в MySQL 3.22).
- Безопасность.
- Система, основанная на паролях и привилегиях, является исключительно гибкой и безопасной и позволяет организовать верификацию средствами хоста.Пароли защищены, поскольку весь трафик паролей во время соединения с сервером шифруется.
- Масштабируемость и ограничения.
- Поддерживает работу баз данных огромных объемов. Например, компания MySQL AB применяет сервер MySQL для обслуживания базы данных, содержащей 50 миллионов записей. Известна также организация, использующая сервер MySQL для обслуживания базы данных из 60 000 таблиц, которая хранит около 5 миллиардов записей.
- Разрешается иметь до 64 индексов на таблицу (в версиях, предшествующих MySQL 4.1.2, допускалось до 32 индексов). Каждый индекс может содержать от 1 до 16 столбцов или частей столбцов. Максимальная ширина индекса составляет 1000 байт (500 байт в версиях, предшествующих MySQL 4.1.2). Для индекса может применяться префикс столбцов с типами CHAR, VARCHAR, BLOB и TEXT.
- Сетевая связность
- Клиенты могут подключаться к серверу MySQL, используя сокеты TCP/IP на любой платформе. В Windows-системах семейства NT (NT, 2000 или ХР) клиенты могут подключаться с использованием именованных каналов. В системах на базе UNIX клиенты могут подключаться через файлы сокетов UNIX-доменов.
- Интерфейс Connector/ODBC позволяет MySQL поддерживать клиентские программы, которые используют ODBC-соединения. Например, для подключения" к серверу MySQL можно использовать MS Access. Клиентское проіраммное обеспечение может выполняться под управлением Windows или UNIX. Исходные тексты интерфейса Connector/ODBC доступны. Поддерживаются все функции ODBC 2.5, равно как и множество других.
- Интерфейс Connector/JDBC позволяет MySQL взаимодействовать с клиентскими программами на Java, в которых используются JDBC-подключения. Клиентское программное обеспечение может выполняться под управлением Windows или UNIX. Исходные тексты интерфейса Connector/JDBC доступны.
- Локализация
- Сервер может выдавать клиентам сообщения об ошибках на разных языках.
- Полностью поддерживаются несколько кодовых таблиц, включая latinl (ISO-8859-Г), german, big5, ujis и другие. Например, в именах таблиц и столбцов разрешается применять скандинавские символы наподобие 'а', 'а' и 'б'. Начиная с версии MySQL 4.1, также обеспечивается поддержка Unicode.
- Все данные сохраняются в выбранной кодировке. Все сравнения столбцов с нормальными строками чувствительны к регистру.
- Сортировка выполняется в соответствии с выбранной кодировкой (по умолчанию используется шведский набор). Во время запуска сервера MySQL это можно изменить. В качестве примера весьма совершенной сортировки рекомендуется обратить внимание на код сортировки для чешского языка. Сервер MySQL поддерживает множество различных кодировок, причем они могут быть указаны как во время компиляции, так и во время выполнения.
- Клиенты и инструменты.
- Сервер MySQL имеет встроенную поддержку SQL-операторов для проверки, оптимизации и восстановления таблиц. Эти операторы можно выполнять в режиме командной строки, используя клиентское приложение mysqlcheck. MySQL включает также myisamchk - очень быструю утилиту командной строки для реализации тех же операций над таблицами MylSAM.
- Все программы MySQL можно запускать на выполнение с опцией --help или -? для получения быстрой подсказки.
phpMyAdmin
Для удобного взаимодействия с MySQL в портах FreeBSD устанавливаем пакет PhpMyAdmin. Данный пакет работает через веб-интерфейс, что уменьшает администратору время или работнику технической поддержки на создание новой базы данных или внесения изменений в базу данных, например: добавить пользователя в базу данных почтового сервера.
На сегодняшний день phpMyAdmin широко применяется на практике. Последнее связано с тем, что разработчики интенсивно развивают свой продукт, учитывая все нововведения СУБД MySQL. Подавляющее большинство российских провайдеров используют это приложение в качестве панели управления для того, чтобы предоставить своим клиентам возможность администрирования выделенных им баз данных.
Рисунок - Операция добавления нового почтового ящика в базу данных exim таблицы mailbox
FreeBSD в роли SMTP, POP3 и IMAP сервера
Exim - SMTP-сервер
Exim - сравнительно новый почтовый сервер, MTA, созданный в Кембриджском университете. Идея создателей Exim состояла в том, чтобы значительно меньше внимания уделять выходящим из обращения способам адресации и доставки. Логика доставки почты стала значительно более прозрачной - как и конфигурация системы. Тем не менее, в наличии многие (если не все) современные средства, включая мощные системы автоматизации на основе регулярных выражений, встроенного языка программирования (точнее - нескольких), а также гибкого доступа к внешним базам данных и каталогам для динамического получения списков элементов.
Почтовый сервер Exim идеально подходит для современных выделенных подключений по DSL, поскольку ориентирован на непосредственную доставку без промежуточных стадий. И поскольку DSL распространяется со скоростью эпидемии, то и Exim будет получать все большее распространение.
Сначала - совсем немного теории для тех, кто что-то пропустил. Общая схема почтового сервера выглядит примерно так:
В этой схеме приняты такие общепринятые обозначения:
- MUA, Mail User Agent,- клиентская программа, установленная на компьютере пользователя, с ее помощью пользователь создает и читает почту;
- MTA, Mail Transport Agent,- основная программа доставки почты, передающая почту от клиента на удаленный компьютер. В случае выделенного подключения для этого используется протокол SMTP, но можно также задействовать другие методы доставки, например UUCP;
- DA, Delivery Agent. После получения почты MTA иногда не желает самостоятельно раскладывать почту по ящикам, обрабатывать списки рассылки, передавать почту в программные каналы или файлы. Для таких операций может быть вызван специальный компонент - Delivery Agent;
- AA, Access Agent. В исконном виде задача MTA - доставить почту в почтовые ящики, расположенные в пользовательских каталогах. Но пользователь зачастую желает достать почту из своего каталога (или из хранилища, если DA доставляет ее в хранилище) на сервере. В таком случае необходим Access Agent - программа, которая оперирует почтой уже после того, как она была доставлена в почтовые ящики, но должна быть снова извлечена и переправлена еще куда-то.
С точки зрения Exim все операции доставки делятся на две категории - директоры и маршрутизаторы.
- Директор (от direct - прямой, непосредственный) - это тип пересылки, который может быть выполнен локально без привлечения других компьютеров. К таким пересылкам относятся: рассылка писем локальным пользователям в их частные каталоги, запись почтового потока в указанный файл или направление в канал для обработки отдельной программой;
- Маршрутизаторы (почтовые маршрутизаторы, не путать с маршрутизаторами пакетов), напротив, предназначены для отправки почты на удаленные компьютеры для последующей доставки. Решение о типе доставки принимается в общем случае на основании анализа почтового адреса получателя - или более точно, на основании нескольких правил, применяемых последовательно. В некоторых случаях доставка может быть циклической - то есть после одной доставки почта снова попадает в очередь и так далее.
Конфигурация Exim производится через один простой (то есть предназначенный для восприятия человеком) текстовый файл /usr/local/etc/exim. Впрочем, он не совсем прост: в момент загрузки конфигурации он может пройти стадию препроцессинга, в результате чего в конфигурацию могут быть подставлены макросы, зарезервированные переменные и вычисленные значения.
Почтовый сервер Exim устанавливаем с дерева портов:
/usr/home/lissyara/>cd /usr/ports/mail/exim
/usr/ports/mail/exim/>make && make install && make clean
После установки проверяем сендмайловую строку в /etc/rc.conf, должно быть так:
sendmail_enable="NONE"
Также надо подправить файл /etc/mail/mailer.conf до такого состояния:
sendmail /usr/local/sbin/exim
send-mail /usr/local/sbin/exim
mailq /usr/local/sbin/exim -bp
newaliases /usr/local/sbin/exim -bi
hoststat /usr/local/sbin/exim
purgestat /usr/local/sbin/exim
Рисунок - файл конфигурации /usr/local/etc/exim/configure
Рисунок - файл конфигурации /usr/local/etc/exim/configure
Структура базы данных Exim
Структура базы данных Exim, которая используется для хранения данных в Exim и Dovecot.
USE mysql;
INSERT INTO `user` (`Host`, `User`, `Password`)
VALUES ('localhost','exim',password('exim'));
INSERT INTO `db` (`Host`, `Db`, `User`, `Select_priv`)
VALUES ('localhost','exim','exim','Y');
FLUSH PRIVILEGES;
GRANT USAGE ON exim.* TO exim@localhost;
GRANT SELECT, INSERT, DELETE, UPDATE ON exim.* TO exim@localhost;
CREATE DATABASE `exim`;
USE `exim`;
Структура таблицы `admin`
CREATE TABLE `admin` (
`username` varchar(255) NOT NULL default '',
`password` varchar(255) NOT NULL default '',
`created` datetime NOT NULL default '0000-00-00 00:00:00',
`modified` datetime NOT NULL default '0000-00-00 00:00:00',
`active` tinyint(1) NOT NULL default '1',
PRIMARY KEY (`username`),
KEY `username` (`username`)
) TYPE=MyISAM COMMENT='Exim and dovecot Admin - Virtual Admins';
Структура таблицы `alias`
CREATE TABLE `alias` (
`address` varchar(255) NOT NULL default '',
`goto` text NOT NULL,
`domain` varchar(255) NOT NULL default '',
`created` datetime NOT NULL default '0000-00-00 00:00:00',
`modified` datetime NOT NULL default '0000-00-00 00:00:00',
`active` tinyint(1) NOT NULL default '1',
PRIMARY KEY (`address`),
KEY `address` (`address`)
) TYPE=MyISAM COMMENT='Exim and dovecot Admin - Virtual Aliases';
Структура таблицы `domain`
CREATE TABLE `domain` (
`domain` varchar(255) NOT NULL default '',
`description` varchar(255) NOT NULL default '',
`aliases` int(10) NOT NULL default '0',
`mailboxes` int(10) NOT NULL default '0',
`maxquota` int(10) NOT NULL default '0',
`transport` varchar(255) default NULL,
`backupmx` tinyint(1) NOT NULL default '0',
`created` datetime NOT NULL default '0000-00-00 00:00:00',
`modified` datetime NOT NULL default '0000-00-00 00:00:00',
`active` tinyint(1) NOT NULL default '1',
PRIMARY KEY (`domain`),
KEY `domain` (`domain`)
) TYPE=MyISAM COMMENT='Exim and dovecot Admin - Virtual Domains';
Структура таблицы `domain_admins`
CREATE TABLE `domain_admins` (
`username` varchar(255) NOT NULL default '',
`domain` varchar(255) NOT NULL default '',
`created` datetime NOT NULL default '0000-00-00 00:00:00',
`active` tinyint(1) NOT NULL default '1',
KEY `username` (`username`)
) TYPE=MyISAM COMMENT='Exim and dovecot Admin - Domain Admins';
Структура таблицы `log`
CREATE TABLE `log` (
`timestamp` datetime NOT NULL default '0000-00-00 00:00:00',
`username` varchar(255) NOT NULL default '',
`domain` varchar(255) NOT NULL default '',
`action` varchar(255) NOT NULL default '',
`data` varchar(255) NOT NULL default '',
KEY `timestamp` (`timestamp`)
) TYPE=MyISAM COMMENT='Exim and dovecot Admin - Log';
Структура таблицы `mailbox`
CREATE TABLE `mailbox` (
`username` varchar(255) NOT NULL default '',
`password` varchar(255) NOT NULL default '',
`name` varchar(255) NOT NULL default '',
`maildir` varchar(255) NOT NULL default '',
`quota` int(10) NOT NULL default '0',
`domain` varchar(255) NOT NULL default '',
`created` datetime NOT NULL default '0000-00-00 00:00:00',
`modified` datetime NOT NULL default '0000-00-00 00:00:00',
`active` tinyint(1) NOT NULL default '1',
PRIMARY KEY (`username`),
KEY `username` (`username`)
) TYPE=MyISAM COMMENT='Exim and dovecot Admin - Virtual Mailboxes';
Структура таблицы `vacation`
CREATE TABLE `vacation` (
`email` varchar(255) NOT NULL default '',
`subject` varchar(255) NOT NULL default '',
`body` text NOT NULL,
`cache` text NOT NULL,
`domain` varchar(255) NOT NULL default '',
`created` datetime NOT NULL default '0000-00-00 00:00:00',
`active` tinyint(1) NOT NULL default '1',
PRIMARY KEY (`email`),
KEY `email` (`email`)
) TYPE=MyISAM COMMENT='Exim and dovecot Admin - Virtual Vacation';
Сервер FreeBSD в качестве POP3 и IMAP серверов
В качестве POP3 и IMAP серверов был использован пакет Dovecot из портов.
/usr/home/lissyara/>cd /usr/ports/
/usr/ports/>make search name='dovecot'
Port: dovecot-1.0.b8
Path: /usr/ports/mail/dovecot
Info: Secure and compact IMAP and POP3 servers
Maint: robin@isometry.net
B-deps: libiconv-1.9.2_2
R-deps: libiconv-1.9.2_2
WWW: http://www.dovecot.org/
/usr/ports/>cd /usr/ports/mail/dovecot
usr/ports/mail/dovecot/>make && make install && make clean
Выбираем опции, с которыми будем собирать Dovecot. Нас интересует поддержка MySQL. Основными конфигурационными файлами dovecot есть dovecot.conf и dovecot-sql.conf.
Размещено на Allbest.ru
Подобные документы
Создание локальной вычислительной сети, ее топология, кабельная система, технология, аппаратное и программное обеспечение, минимальные требования к серверу. Физическое построение локальной сети и организация выхода в интернет, расчет кабельной системы.
курсовая работа [749,1 K], добавлен 05.05.2010Функциональная схема локальной вычислительной сети, анализ информационных потребностей и потоков предприятия. Планирование структуры сети, сетевая архитектура и топология. Структура корпоративной компьютерной сети, устройства и средства коммуникаций.
курсовая работа [315,5 K], добавлен 26.08.2010Типы компьютерных сетей, их структурные элементы и подсистемы. Горизонтальная подсистема СКС и компьютерная сеть, узлы локальной сети и распределительные пункты. Сеть на основе сервера и локальная сеть. Беспроводные сети. ЛВС: их топология и структура.
реферат [16,0 K], добавлен 16.07.2008Организационная структура предприятия "ЛЕПСЕ", состав сетевых приложений. Выбор конфигурации сети Fast Ethernet, применение сетевой топологии "звезда". Структура кабельной системы сети организации. Проверка работоспособности проектируемой сети.
контрольная работа [64,3 K], добавлен 10.05.2011Локальная сеть как объединение компьютеров, расположенных в ограниченном пространстве. Анализ информационных потребностей предприятия. Планирование структуры сети: ее топология, кабельная система, используемое оборудование. Расчет количества компьютеров.
контрольная работа [660,6 K], добавлен 22.06.2014Компьютерная локальная вычислительная сеть: проектирование на двух этажах, взаимодействие около 30 машин. Расстояние между машинами и коммутаторами - не менее 20 метров, количество коммутаторов - в рамках проекта. Логическая и физическая топология сети.
лабораторная работа [1,5 M], добавлен 27.09.2010Службы работающие в локальной сети. Подборка программного обеспечения. Логическая топология сети. Физическая реализация локальной сети. Схема размещения серверного оборудования в 19 дюймовой стойке. Обеспечение электробезопасности и сохранности данных.
курсовая работа [2,0 M], добавлен 27.11.2013Сравнительный анализ различных топологий сетей. Исследование элементов структурированной кабельной системы. Методы доступа и форматы кадров технологии Ethernet. Локальные сети на основе разделяемой среды: технология TokenRing, FDDI, Fast Ethernet.
курсовая работа [1,2 M], добавлен 19.12.2014Структура локальной компьютерной сети организации. Расчет стоимости построения локальной сети. Локальная сеть организации, спроектированная по технологии. Построение локальной сети Ethernet организации. Схема локальной сети 10Base-T.
курсовая работа [126,7 K], добавлен 30.06.2007Монтаж и прокладывание локальной сети 10 Base T. Общая схема подключений. Сферы применение компьютерных сетей. Протоколы передачи информации. Используемые в сети топологии. Способы передачи данных. Характеристика основного программного обеспечения.
курсовая работа [640,0 K], добавлен 25.04.2015