Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: Настраиваем шлюз со статистикой  (Прочитано 24669 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн vimbaktr

  • Автор темы
  • Любитель
  • *
  • Сообщений: 53
    • Просмотр профиля
Настраиваем шлюз со статистикой
« : 28 Апреля 2009, 10:43:06 »
Вот все сам вопросы задаю да задаю ))
думаю поделиться

хотите красоту? качаем pdf )


стояла задача - настройка шлюза для офиса, с возмжностью все считать и т.д. все разрешено кроме того что не разрешено (по сети DHCP, приносят ноуты и конектяться)
ну чуть-чуть неточности мол 8.10 уже не последняя, но по большему счету все так и оставляем, хотя если гуру подпилят авось неплохой фак получиться

Организация интернет шлюза для локальной сети, с использованием кешируюшего прокси
сервера Squid, анализатора логов Sarg и кеширующего Dns сервера на базе Ubuntu server.
                                   Подготовка дистрибутива.
Для этих целей мы выберем дистрибутив Ubuntu server ввиду его простоты и надежности.
 Идем на http://www.ubuntu.com/getubuntu/download выбираем:
-Ubuntu 8.10 server (the latest version) это последняя версия дистрибутива на момент
написания статьи
-Choose a download location near you указываем страну с сервера которой будим скачивать.
-Computer Architecture выбираем архитектуру компьютера, по умолчанию выбираем 32bit
version
И наконец Begin download!
После закачки дистрибутива записываем его на диск и приступим к установке.
                                     Установка системы.
После загрузки компьютера с CD, появится меню состоящее из нескольких пунктов.
Нажимаем F2 и выбираем Русский язык. Далее система большую часть сообщений выводит
на русском языке. Выбираем страну,дальше можно выбрать клавиатуру. Система дает нам
возможность с помощью списка или путем обнаружения из серии символов, которые
необходимо ввести. Мы говорим, нет. Выбираем клавиатуру Russia, далее вариант
переключения раскладки «по вкусу». Система начинает загружать драйвера и
дополнительные компоненты для установки. Следующим шагом система пытается
обнаружить в сети dhcp сервер и настроить сеть. Если нас не устраивают данные выдаваемые
им или он попросту отсутствует, то далее мы можем выбрать пункт Настроить сеть
вручную. Отвечаем на вопросы системы. Выберем часовой пояс для корректной работы.
И тут наступает ответственный момент разбивки дисков. Будим подразумевать, что в нашем
распоряжении чистый винчестер. Для большинства случаев выбираем пункт Авто —
использовать весь диск. Инсталлятор системы разбивает диска на два раздела / - корень
системы, swap - файл подкачки. Дальше система копирует и распаковывает на винт базовые
пакеты системы. После распаковки система задает вопрос о создании нового системного
пользователя. Придумываем и вписываем имя. У нас спросили, хотим ли мы создать
зашифрованный частным каталог,отвечаем нет. Следующий экран позволяет настроить
доступ к прокси-сервера для доступа к менеджеру пакетов. Мы оставим его пустым, так как
у нас есть прямой доступ к Интернету. В следующим окне отказываемся от автоматического
обновления выбирая пункт No automatic updates. И так, мы дошли до выбора ПО. Для наших
целей требуется DNS server и OpenSSH server. Вот и все, остальное система сделает за нас.
Первый шаг к исполнении задуманного завершен.
                                     Настройка системы.
После успешной загрузки системы, мы видим приглашение системы пройти авторизацию.
Вводим логин созданного нами пользователя и его пароль. Мы в системе, но под
непривилегированным пользователем, все команды связанные с настройкой сервера будит
выполнять от имени root, вводим sudo bash и еще раз пароль. Теперь нам необходимо
настроить систему «под себя».
Первым делом русифицируем ее.
Вводим в консоли:
apt-get install console-cyrillic                       #инсталлируем шрифты для консоли
dpkg-reconfigure console-cyrillic
/etc/init.d/console-cyrillic start                     #стартуем шрифты
Еще нам требуется обновить систему, но сначала сконфигурируем сеть. Будим считать что
имеем 2 сетевых карты eth0 и eth1, смотрящих в локальную сеть и интернет соответственно.
Адрес сервера в локальной сети 192.168.1.1. А вот тут рассмотрим два варианта. Провайдер
выдал нам ip 195.195.195.195, основной шлюз 195.195.195.1.
Исправим файл:
vi /etc/network/interfaces
Приведем его к подобному виду:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
      address 192.168.1.1
      netmask 255.255.255.0
auto eth1
iface eth1 inet static
      address 195.195.195.195
      netmask 255.255.255.0
      gateway 195.195.195.1
Или же если нужно использовать dhcp провайдера для поднятия eth1 пишем:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
      address 192.168.1.1
      netmask 255.255.255.0
auto eth1
iface eth1 inet dhcp
Временно пропишем DNS провайдера в файле resolv.conf
vi /etc/resolv.conf
Указываем:
nameserver АДРЕС_ДНС_ПРОВАЙДЕРА
nameserver АДРЕС_ДНС_ПРОВАЙДЕРA
Далее следует перезагрузиться командой reboot. После перезагрузи снова заходим в консоль
с правами рута, с начало авторизировавшись под созданным пользователем, а потом набрав
команду:
sudo bash
Проверим интернет командой:
ping mail.ru
Если нет ответа то смотрим пункты выше и перепроверяем введенные данные, при
благоприятном исходе выполняем следующее:
apt-get update                           #обновляем дерево пакетов
apt-get upgrade                          #обновляем пакеты
reboot                                   #перезагрузка
                                      Настраиваем DNS.
Установим bind9:
apt-get install bind9
Правим настройки в файле /etc/bind/named.conf.options
vi /etc/bind/named.conf.options
Приводим к виду:
options {
      directory "/var/cache/bind";
      listen-on port 53 {
            192.168.1.1;
      };
      forwarders {
              ДНС_СЕРВЕР_ПРОВАЙДЕРА_1;                #вписываем адреса DNS серверов
              ДНС_СЕРВЕР_ПРОВАЙДЕРА_2;                #одного сервера достаточно
              };
      };
logging {
category lame-servers {null; };
category edns-disabled { null; };
};
Запускаем DNS сервер.
/etc/init.d/bind9 start
Правим /etc/resolv.conf таким образом чтобы все DNS запросы система пропускала через
свой же DNS сервер:
vi /etc/resolv.conf
Удаляем все записи и вписываем свой DNS сервер:
nameserver 192.168.1.1
                                   Поднимаем прокси сервер.
Инсталлируем пакет:
apt-get install squid
Редактируем файл настроек squid:
vi /etc/squid/squid.conf
Ищем параметр http_port , и выставляем ему следующее:
http_port 192.168.1.1:3128 transparent
Этой строкой мы осуществляем прозрачное проксирование трафика идущего на 80 порт
внешней сети.
icp_port 0
Отключаем возможность использования соседних прокси.
cache_mem 64 MB
Максимально число оперативной памяти занимаемое процессом.
maximum_object_size 4096 KB
Максимальный размер кешируемых объектов
minimum_object_size 0 KB
Соответственно минимальный размер
cache_dir ufs /var/cache/squid 100 16 256
Параметр указывает тип файловой системы для работы с кешем (ufs), расположение папки (/
var/cache/squid), но нас интересует именно параметр со значением 100. Данный параметр
задает максимальный обьем кеша на нашем диске. Можно повысить до разумных пределов
если есть свободное место, я выставил себе 2048.
Следующий важный тег называется acl, который определяет листы(списки) доступа к
серверу.
тип записи его следующий: acl aclname acltype string
где aclname - имя доступа, acltype - тип доступа, string - строка определяющая параметры
доступа
подробнее про типы доступа можно узнать непосредственно в самом конфиге,я приведу
лишь простой пример:
acl all src 192.168.1.0/24
описывает тип доступа под именем all для сети 192.168.1.0/24
visible_hostname localproxy
localproxy можете заменить на любое слово или словосочетание. Если не заполните данный
параметр - squid будет очень сильно ругаться.
Перезапускаем сервис squid:
/etc/init.d/squid restart
                       Установка Sarg (Анализатор логов прокси сервера).
Инсталлируем Sarg и Apache2:
apt-get install sarg apache2
В Ubuntu настройки Apache можно не трогать, все будет работать с параметрами по
умолчанию. В различных дистрибутивах и операционных системах файлы могут быть
помещены в разные каталоги. В Ubuntu место дислокации - /etc/squid, конфигурационный
файл называется sarg.conf.
vi /etc/squid/sarg.conf
Указываем язык, возможные значения: Russian-koi8,
Russian_UTF-8, Russian-windows1251
language Russian_UTF-8
charset Cyrillic
Файл со статистикой, обрати внимание, что в некоторых
дистрах каталоги для Squid 3.0 называются squid3
access_log /var/log/squid3/access.log
Включаем построение графиков
graphs yes
graph_days_bytes_bar_color green
Каталог, в который помещаются отчеты
output_dir /var/www/squid-reports
Сортировка юзеров в выводе по USER CONNECT BYTES TIME
topuser_sort_field BYTES reverse
user_sort_field BYTES reverse
Тип отчета, включаем все
report_type topusers topsites sites_users users_sites date_time denied auth_failures
site_user_time_date downloads
Создание отчетов производится при помощи скрипта /usr/sbin/sarg-reports, который
запускается при помощи cron:
Запускаем crontab -e и вписываем следующее:
00 08-18/1 * * * /usr/sbin/sarg-reports today
00 00 * * * /usr/sbin/sarg-reports daily
00 01 * * 1 /usr/sbin/sarg-reports weekly
30 02 1 * * /usr/sbin/sarg-reports monthly
В итоге имеем статистику на http://Http://192.168.1.1/squid-reports/
                                         Правила iptables.
Создаем файл в директории /root, например rules.sh и редактируем его:
vi /root/rules.sh
С таким наполнением:
INET_IFACE="eth1" # здесь имя инетовского интерфейса
LAN_IP="192.168.1.1"
LAN_IP_RANGE="192.168.1.0/24"
LAN_IFACE="eth0"
LO_IFACE="lo"
LO_IP="127.0.0.1"
IPTABLES="/sbin/iptables"
/sbin/depmod -a
/sbin/modprobe ip_tables
/sbin/modprobe ip_conntrack
/sbin/modprobe iptable_filter
/sbin/modprobe iptable_mangle
/sbin/modprobe iptable_nat
/sbin/modprobe ipt_LOG
/sbin/modprobe ipt_limit
/sbin/modprobe ipt_state
echo "1" > /proc/sys/net/ipv4/ip_forward
$IPTABLES -P INPUT ACCEPT
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -P FORWARD ACCEPT
$IPTABLES -t nat -F
$IPTABLES -F
$IPTABLES -X
$IPTABLES -A INPUT -s $LAN_IP_RANGE -d $LAN_IP -p tcp --destination-port 3128 -j
ACCEPT
$IPTABLES -t nat -A PREROUTING -s $LAN_IP_RANGE -d $LAN_IP -p tcp --destination-port
80 -j ACCEPT
$IPTABLES -t nat -A PREROUTING -s $LAN_IP_RANGE -p tcp --destination-port 80 -j
REDIRECT --to-port 3128
$IPTABLES -t nat -A POSTROUTING -o $INET_IFACE -j MASQUERADE # это включается
при динамеческом ip, предыдущая строка выключается
$IPTABLES -A FORWARD -i $LAN_IFACE -o $INET_IFACE -m state --state
NEW,ESTABLISHED -j ACCEPT
# Разрешаем доступ к SSH серверу
$IPTABLES -A INPUT --protocol tcp --dport 22 -s $LAN_IP_RANGE -j ACCEPT
# Разрешаем доступ к HTTP серверу на роутере
$IPTABLES -A INPUT --protocol tcp --dport 80 -s $LAN_IP_RANGE -j ACCEPT
Даем права на исполнение.
chmod +x /root/rules.sh
Запускаем скрипт:
/root/rules.sh
И сохраняем правила iptables:
iptables-save > /etc/iptables.rules
Дописываем сохраненные правила в /etc/network/interfaces после строк
address 192.168.1.1
netmask 255.255.255.0
Должно получиться:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
      address 192.168.1.1
      netmask 255.255.255.0
pre-up iptables-restore < /etc/iptables.rules
auto eth1
iface eth1 inet static
      address 195.195.195.195
      netmask 255.255.255.0
      gateway 195.195.195.1
Чтобы форвардинг автоматически включался при запуске системы
Открываем файл:
vi /etc/sysctl.conf
и добавляем в него строчку:
net.ipv4.ip_forward = 1
Брокируем доступ в интрнет по mac адресу.
iptables -I FORWARD 1 -o eth1 -m mac --mac-source 32:43:25:25:25:42 -j DROP
Вот и все, шлюз с кеширующей проксей и днс готов, каждый день генерирующий отчеты по
трафику.
« Последнее редактирование: 28 Апреля 2009, 13:32:14 от vimbaktr »

Оффлайн Polkan

  • Участник
  • *
  • Сообщений: 124
    • Просмотр профиля
Re: Настраиваем шлюз со статистикой
« Ответ #1 : 28 Апреля 2009, 12:57:20 »
от спасибо! как раз думал как бы дома сеть построить минимальными усилиями. буду пробовать.
// шлюз.pdf не качается

lichtenwald

  • Гость
Re: Настраиваем шлюз со статистикой
« Ответ #2 : 28 Апреля 2009, 13:01:40 »
шлюз.pdf не качается

топикстартер дай латинское название вложению

Оффлайн ADL

  • Активист
  • *
  • Сообщений: 447
    • Просмотр профиля
Re: Настраиваем шлюз со статистикой
« Ответ #3 : 28 Апреля 2009, 13:08:21 »
приведите к удобочитаемому виду(аккуратно выделите что нужно, добавьте знаки разделения-табулирования), исправьте орфографические/пунктуационные ошибки - будет приятнее и удобнее читать

Оффлайн -=TARAS=-

  • Участник
  • *
  • Сообщений: 108
    • Просмотр профиля
Re: Настраиваем шлюз со статистикой
« Ответ #4 : 28 Апреля 2009, 13:15:54 »
Очень неплохо, но по рукам бы надавать за такое оформление

Оффлайн vimbaktr

  • Автор темы
  • Любитель
  • *
  • Сообщений: 53
    • Просмотр профиля
Re: Настраиваем шлюз со статистикой
« Ответ #5 : 28 Апреля 2009, 13:25:30 »
ну дык все красивости в пдфе ))
хых статься была написана для мену по заказу ))
« Последнее редактирование: 19 Мая 2009, 18:23:41 от victor53p »

Оффлайн Dreadnoult

  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Re: Настраиваем шлюз со статистикой
« Ответ #6 : 19 Мая 2009, 15:16:28 »
А где пдф-то? Хотелось бы красивостей.

Оффлайн Mehanizator

  • Новичок
  • *
  • Сообщений: 1
    • Просмотр профиля
Re: Настраиваем шлюз со статистикой
« Ответ #7 : 25 Августа 2009, 14:02:54 »
поясни, зачем так щедро?

$IPTABLES -P INPUT ACCEPT
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -P FORWARD ACCEPT

зачем все остальные правила с "-j ACCEPT"?

Оффлайн dobriivoin

  • Новичок
  • *
  • Сообщений: 32
    • Просмотр профиля
Re: Настраиваем шлюз со статистикой
« Ответ #8 : 19 Октября 2009, 17:29:55 »
А где пдф-то? Хотелось бы красивостей. Не видно ссылочки!!!!!

Оффлайн vimbaktr

  • Автор темы
  • Любитель
  • *
  • Сообщений: 53
    • Просмотр профиля
Re: Настраиваем шлюз со статистикой
« Ответ #9 : 19 Октября 2009, 17:50:13 »
ну дык в самом первом посте присмотрись и найдешь shluze.pdf

Mehanizator, а такая задача стояла всем и вся, вот никто и не жадничал )

Оффлайн aleksej_d

  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
Re: Настраиваем шлюз со статистикой
« Ответ #10 : 26 Октября 2009, 23:46:09 »
Здравствуйте.
Спасибо vimbaktr за мануал. Все подробно написано, но у меня маленькая проблема, на серваке 192.168.1.27 инет есть, а с сети 10.0.0.0 (ІР 10.0.0.2) нет доступа, прокси не пускает.
(Нажмите, чтобы показать/скрыть)
Помогите разобратся, пожалуйста.
Вот конфиги:
(Нажмите, чтобы показать/скрыть)
resolv.conf - nameserver 192.168.1.1
(Нажмите, чтобы показать/скрыть)
(Нажмите, чтобы показать/скрыть)
(Нажмите, чтобы показать/скрыть)
в sysctl.conf прописал net.ipv4.ip_forward=1
Цитировать
Брокируем доступ в интрнет по mac адресу.
iptables -I FORWARD 1 -o eth1 -m mac --mac-source 32:43:25:25:25:42 -j DROP
куда это вставлять так и не понял :(
прописать в консоли или добавить в sysctl.conf ?

Оффлайн roma333

  • Участник
  • *
  • Сообщений: 206
    • Просмотр профиля
Re: Настраиваем шлюз со статистикой
« Ответ #11 : 27 Октября 2009, 06:50:32 »
а где у вас разрешен доступ у подсети 10.0.0.0 в squid.conf?
acl intranet src 10.0.0.0/8
и потом
http_access allow intranet

Оффлайн aleksej_d

  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
Re: Настраиваем шлюз со статистикой
« Ответ #12 : 28 Октября 2009, 11:47:04 »
roma333 спасибо, помогло

Оффлайн sephiroth

  • Новичок
  • *
  • Сообщений: 34
  • war, war never changes...
    • Просмотр профиля
Re: Настраиваем шлюз со статистикой
« Ответ #13 : 28 Октября 2009, 11:55:26 »
имхо, можно даже прикрепить топик

Оффлайн Meo

  • Любитель
  • *
  • Сообщений: 90
    • Просмотр профиля
Re: Настраиваем шлюз со статистикой
« Ответ #14 : 28 Октября 2009, 13:49:45 »
вот с ЭТИМ
Цитировать
$IPTABLES -P INPUT ACCEPT
учитывая, что в правилах нет ни одного дропа, относящегося к доступу из интернета, категорически не согласен.
Всем и Вся в пределах локалки никак не кореллирует с выставлением всех дырок шлюза нараспашку в интернет.
+ С такой политикой, часть Акцептов в Вашем скрипте лишние, они и так получаются разрешены всем (и интернету и интранету).
Находка для кулхацкеров и будущий новый падаван в ботнете. Ваш ссш, торчащий голой задницей в инет, если там диапазон разрешённых айпи не зарегулирован, сбрутят ОЧЕНЬ быстро...
Так что до серьёзной доработки крепить тему НЕ СТОИТ. Пока это статья о том как нельзя настраивать файрволл, каким бы демократом не был его хозяин.
« Последнее редактирование: 28 Октября 2009, 13:59:10 от Meo »

 

Страница сгенерирована за 0.064 секунд. Запросов: 25.