Логин:
Пароль:

В доску свои:

Natali
Дизайн
Рейтинг: 50
angel1978angel

Рейтинг: 14
Day

Рейтинг: 7
shlykova

Рейтинг: 7
valim111

Рейтинг: 7

Случайная статья

Введение Дизайнер профессия творческая, и, как любому творческому человеку, дизайнеру претит всякая бюрократия. И все же дизайнер не вольный художник и ему надо как-то упорядочивать свой производс... Подробнее
ВНИМАНИЕ!

На новый проект набирается группа преподавателей иностранных языков. Заинтересованных в сотрудничестве просим присылать свои резюме на cv@pinguin.kz
Valid HTML 4.01 Strict
RSS
Система Orphus
Если Вы заметили ошибку, выделите ее мышкой и нажмите CTRL+ENTER

Сервер доступа в ИНТЕРНЕТ для организации или малого бизнеса на базе FreeBSD

Вячеслав Шалыгин
Сервер доступа в ИНТЕРНЕТ для организации или малого бизнеса на базе FreeBSD

Статья в разработке

Используемое ПО

OS FreeBSD 6.2 stable или выше

MySQL 5.X или выше

Perl 5.X с DBI DivertSocket NetPacket

Squid 3.0 или выше

OpenVPN + OpenSSL

Apache + php + perl

phpmyadmin

ну и немного мозгов :)

все указанное ПО распространяется бесплатно! кроме мозгов, мозги развиваются самостоятельно...

задача: настроить сервер с организацией авторизованного доступа через прокси сервер и OpenVPN как варианты подключения (OpenVPN туннель так же моно использовать для авторизованной раздачи интернета через wifi) к Интернету. Производить подсчет трафика каждого пользователя. Иметь возможность отключить доступ в реальном режиме. Ограничивать ширину канала на пользователя (фиксированно для категории пользователя). Вести базу пользователей и статистику трафика.

как опция надежности - програмный зеркальный raid

решение:

шаг 1 - пересборка ядра с нужными опциями

правим конфиг ядра

cd /usr/src/sys/i386/conf

cp GENERIC YADRO

редактируем YADRO

поддержка многопроцессорной платформы (в 7ке и выше включено по дефолту)

options        SMP

включение поддержки фаервола ipfw в ядре плюс фичи диверта и управления скоростью

#фаервол в ядро
options    IPFIREWALL
options    IPFIREWALL_VERBOSE
options    IPFIREWALL_VERBOSE_LIMIT=500
#диверт сокеты
options    IPDIVERT
#управление скоростью
options    DUMMYNET
options    IPFIREWALL_FORWARD
#данная опция в 7ке и выше включена по дефолту
options    TCP_DROP_SYNFIN
для работы openvpn
options       IPSEC
#в freebsd 6.2
options    IPSEC_ESP
#в freebsd 7.X
device crypto

cd /usr/src

make buildkernel KERNCONF=YADRO

пьем чай))) собирается долго, хотя на amd 64 x2 5400+ минут за 20-30 собирается ... если все собралось то

make installkernel KERNCONF=YADRO

можно еще чайку...

далее

shutdown -r now

после перезагрузки смотрим

uname -v

если видим название своего ядра то на этом шаг заканчиваем

шаг 2 - установка MySQL

шаг 3 - установка Apache + php + mysql + phpmyadmin

шаг 3 - установка Squid

шаг 4 - установка OpenVPN

шаг 5 - установка модулей perl

шаг 5 - конфигурирование ipfw

в /etc/rc.conf

firewall_enable="YES"

firewall_script="/etc/ipfw.sh"

в /etc/ipfw.sh

фаервол, самое главное и самое первое правило это
#!/bin/sh
#открытый localhost
ipfw add 1 allow all from any to any via lo0

рекомендую ставить его первым, потому что правила в цепочке проверяются по очереди и я ранее не придавая этому значения столкнулся с перегрузкой процессора при обмене двух братских прокси squid общающихся через localhost

шаг 6 - настройка natd

шаг 7 - самое основное, perl скриптинг и сращивание кирпичиков

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

 

Оценка: 0. Количество голосов: 0