Форум программистов, компьютерный форум, киберфорум
Наши страницы
Linux
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.98/80: Рейтинг темы: голосов - 80, средняя оценка - 4.98
bombus
3072 / 524 / 10
Регистрация: 29.08.2008
Сообщений: 1,687
1

FIREWALL, или как его сделать в *NIX

14.08.2009, 08:39. Просмотров 14479. Ответов 0
Метки нет (Все метки)

Данная тема предназначена для обсуждения программных продуктов, позволяющих сделать полноценный межсетевой экран, по возможностям и производительности не уступающий многим аппаратным версиям, с минимальными финансовыми вложениями в "железо", используя в частности устаревшее оборудование.
Многие провайдеры предоставляют канал шириной 10-100 мб/с, а попсовые девайсы, которыми переполнен рынок, просто - напросто, не справляются с такой пропускной способностью. Во-всяком случае их цена, явно, завышена по сравнению с их возможностями: в среднем это процессор 180-230 Мгц и 16 Мб ОЗУ, отсюда возникают всякие непонятки, у меня канал 100 Мбит, а роутер, в лучшем случае, выдает не более 20... а если включаю торренты, то, вообще, все тормозит... а денег на приобретение прибора хочется потратить как можно меньше... вот в этом случае, как раз, и пригодятся подобные проекты... за сравнительно небольшие деньги (~ 3000 - 4000 р.) собираем машинку, например, на плате miniITX с интегрированным процессором IntelAtom 1600Мгц и с оперативной памятью 512 - 1024 Мб и устанавливаем на нее один из перечисленных дистрибутивов, в результате имеем за ту же цену роутер гораздо превосходящий бюджетные решения по производительности и функциональным возможностям...
Представленные дистрибутивы:

IPCop
MikroTik
m0n0Wall
pfSense
SmoothWall Express

Итак, приступим...

SmoothWall Express
Этот управляемый через web-интерфейс дистрибутив по заверениям разработчиков весьма неприхотлив (от i386/64MB RAM/500MB HDD), но весьма функционален. Насколько это правда не скажу, я попусту не смог найти настолько старой железки однако имеется полностью рабочий экземпляр на Celeron 433 с 128 Мб RAM и 10Гб HDD. На нем функционирует nat, dhcp, vpn с головным офисом и dns proxy, служит для раздачи интернета на небольшую сеть из 8 машин и обеспечения vpn-канала до головного офиса. Конфигурация полностью перекрывает потребности, до использования swap-а дело даже не доходило, все в оперативке.

1. Установка.
Установка проста и не представляет сложности даже для новичка. Достаточно скачать образ в формате iso, который можно использовать для записи CD. После записи вы получите загрузочный CD, откуда и будет выполняться установка - достаточно просто загрузиться с диска. Если на выбранной машине нет оптического привода, то предусмотрена возможность установки по сети.
Отдельно стоит отметить, что инсталлятор использует всё дисковое пространство, причём автоматически разобьёт его на разделы.
Подробно останавливаться на установке не буду, все очень хорошо расписано в руководстве по установке, причем в картинках, скажу только что для начала работы достаточно выбрать схему сетевых интерфейсов (green+red, green+orange и т.п.), адрес внутренней сетевой и пароли root и admin.
Все остальное можно настроить позднее.

2. Настройка.
Вся настройка выполняется через web-интерфейс. Чтобы попасть в него, в любом браузере набираем https://ip_внутреннего_интерфейса:441
Для входа используем логин admin с паролем, который мы задали во время установки.
Если все сделано правильно, попадаем в главное меню Home
Эта страница позволяет установить/разорвать соединение (если оно коммутируемое) и оценить (численно и визуально) трафик за день, месяц и текущий. Выводятся также ip-адреса всех имеющихся сетевых интерфейсов.
Следующая закладка, About позволит получить информацию о состоянии системы и выполняемых функциях (трафик, полоса пропускания и прочее)
Ключевая для настройки закладка Services.
Здесь определяется состав и функциональность запущенных сервисов.
* web proxy — кэширующий сервер (squid), возможна работа в прозрачном режиме (клиентам не требуется настройка proxy — сервер автоматически перехватывает все http-запросы),
* im proxy кроме кэширования трафика Instant-Messaging клиентов позволяет вести протокол их работы,
* pop3 proxy позволяет сканировать почту, принимаемую по POP3 протоколу (анти-вирус ClamAV входит в состав файрвола),
* sip proxy полезен для управления SIP (Session Initiation Protocol) трафиком,
* dhcp - как и большинство файрволов, SmoothWall может выполнять для локальной сети функции DHCP-сервера с весьма широкими настройками, чем выгодно отличается от большинства аппаратных аналогов,
* dynamic dns - если у вас динамически выделяемый ip-адрес, а доступ "снаружи" иметь всё-таки хотелось бы, то можно воспользоваться одним из DDNS (Dynamic DNS) серверов, коих в предложении SmoothWall — девять,
* static DNS выполняет функции файла hosts, причём, как для самого файрвола, так и для компьютеров локальной сети,
* ids — ни что иное, как snort — монитор попыток проникновения (Intrusion Detection System).
* remote access - SSH-сервер. Настоятельно рекомендуется к включению.
* time - NTP-клиент (выставляем время файрвола по эталонным серверам) и NTP-сервер (предлагаем станциям локальной сети возможность синхронизации времени).

Закладка Networking служит для настройки сетевых интерфейсов и управления правилами трафика.
* incoming — настройка туннелей от внешних портов файрвола к портам станций локальной сети,
* outgoing — список протоколов, по которым клиентам локальной сети разрешено обращаться "наружу". Настоятельно рекомендуется открывать их по мере надобности. Именно здесь описывается порт для связи "банк-клиента" и т.п.;
* internal — служит для описания "демилитаризованной" зоны (DMZ),
* external access - указывает по каким портам будет возможен доступ извне к самому фаерволлу, рекомендуется включить TCP/UDP порты 222 (доступ по SSH) и TCP порт 441 (доступ к web-интерфейсу по https). Обратите внимание, что как в первом, так и во втором случае используются не стандартные номера портов. С этого момента доступ к web-интерфейсу администрирования возможен по адресу https://your_firewall_ext_address:441,
* ip block - здесь задается список хостов, адреса которых хотелось бы окончательно "вычеркнуть из жизни", служит для блокирования слишком уж любопытных, пытающихся просканировать вашу сеть извне,
* timed access - дает возможность ограничивать доступ из локальной сети в Интернет временными рамками,
* QoS (Quality of Service) - полоса пропускания. Помимо задания upload/download speed, можно определить максимальный уровень трафика для отдельного клиента (Headroom) и приоритеты протоколов (который из них будет преобладать, если одновременно присутствуют запросы нескольких типов),
* advanced - на этой вкладке есть возможность блокирования ICMP-запросов, UPnP и multicast traffic. Действие по отношению к входящему блокированному трафику рекомендуется выбирать Drop (игнорировать, а не возвращать отправителю (Reject)),
* если для связи с Интернет используется dial-up/ADSL модем или PPPoE (PPP over Ethernet), то настройки ppp-соединения вводятся на странице с одноимённым названием (ppp);
* interfaces - содержит настройки локальных ethernet-соединений. Именно здесь можно переделать настройки red-интерфейса, если они заданы неправильно при инсталляции. Внешний адрес может быть статическим, динамическим или определяемым в ходе PPPoE. PPPtP не поддерживается.

Закладка VPN, служит для создания и управления VPN-каналом между двумя (и более) SmoothWall-машинами, поддерживающими IPSec;
Закладка Logs.
Здесь можно просмотреть журналы работы системы (system), web-, email- и instant messaging-прокси и ids (если соответствующие сервисы запущены, разумеется). И, самое главное, журнал работы файрвола (firewall). По их результатам можно принять решение о степени защищенности сети или вовремя заметить подозрительную активность некоторых станций. А также атаку извне. Подозрительные ip можно стразу "забанить" поместив их в ip block. Обратите внимание, на скрине как раз показан фрагмент лога на котором четко видны попытки просканировать локалку сразу по нескольким портам.

Закладка Tools включает в себя утилиты ping, traceroute и whois, а также возможность открытия в окне браузера консольного сеанса.
Ну и наконец последняя закладка Maintance предлагает возможность проверки наличия и установки update-ов (всё как у "больших"), настройки modem-а, загрузки usb firmware для ADSL-модемов Alcatel, задания паролей для пользователей admin и dial, backup настроек, настройки пользовательского интерфейса и Reboot / Shutdown


Остановимся на некоторых моментах настройки smoothwall подробнее.

3. Форвардинг портов в smoothwall.
Допустим, у нас имеется некое приложение, которому необходим доступ к интернет, работающее на порту tcp 2048.
В данном примере все достаточно просто, все лишь надо разрешить исходящие соединения на этом порту на закладке Networking - outgoing
Итак, самый верхний блок на скрине задает общую модель поведения для фаерволла - параметр "Traffic originating on GREEN is" может принимать 2 вида: все что не разрешено явно запрещено (именно это стоит по-умолчанию) "Blocked with exception" и разрешено все, кроме явно запрещенного "Allowed with exception". Поскольку у нас первая модель, мы должны добавить новое исключение "Add exception" - интерфейс green. поскольку разрешаем из локальной сети - "Application or service(s)" выбираем задаваемый пользователем (User defined) - пишем необходимый порт в поле Port - при необходимости добавляем к правилу описание (Comment), кириллические символы там не поддерживаются и обязательно ставим галочку Enabled, она разрешает правилу работать. Все, жмем на кнопку Add и можем проверять работу приложения.

Теперь усложним задачу: нашему приложению нужно не только выходить в интернет, но и принимать входящие соединения извне.
Первый шаг останется без изменений, нужно добавить правило для исходящего трафика, но теперь еще нужно разрешить и входящий.
Здесь есть 2 пути: сделать портфорвардинг или открыть порт по аналогии с virtual servers. Я предпочитаю первый.
Правила портфорвардинга создаются на вкладке Networking - incoming. Добавим новое правило (Add a new rule) - здесь уже можно выбрать, какой протокол нас интересует, tcp или udp и задать при необходимости конкретный ip или подсеть, из которой будем принимать соединения ( External source IP (or network)) Если вы не знаете, какой адрес вам нужен или хотите принимать от всех - оставьте это поле пустым.
Указываем какие порты будем перенаправлять (Source port or range)- выбираем заданный пользователем (User defined), кстати, если нужно задать не обин порт а диапазон, граничные значения должны быть указаны через двоеточие ":" - указываем адрес вкомпьютера во внутренней сети на который мы будем перенаправлять трафик (Destination IP)- при необходимости можно указать перенаправлять входящие на порт во внутренней сети, отличный от прослушиваемого (Destination port), если оставить пустым то будет такой же, как и входящий - добавляем к правилу если надо описание (Comment), кириллические символы там не поддерживаются и обязательно ставим галочку Enabled, она разрешает правилу работать. Жмем на Add и идем пить кофе
Процесс создания правила на вкладке internal практически идентичен описанному, за той лишь разницей, что нельзя указать порт для получателя отдельно.
Каким способом пользоваться - на ваше усмотрение.

4. Настройка smoothwall для поднятия ipsec-vpn между сетями.
Одной из привлекательных особенностей smoothwall является сразу "из коробки" доступная возможность настройки канала связи между несколькими удаленными сетями через интернет.
Перед описанием настроек сразу упомяну о нескольких моментах, призванных устранить возможные проблемы, связанные с провайдерами, стихийными бедствиями, инопланетянами и пр..
Подразумевается, что:
а). Каждый из настраиваемых роутеров имеет внешний "белый" ip-адрес.
б). В сетях используются разные диапазоны адресов. В описываемом примере одна сеть имеет адреса вида 192.168.0.x а другая 192.168.10.x
в). Сам по себе роутер настроен и работает
Итак, настройки.
Новое соединение создается на закладке VPN - connections. Добавляем новое соединение (Add a new connection) - Имя (Name) произвольное, но русских букв не терпит - ставить или нет галочку компрессии трафика (Compression) нужно вычислять экспериментально, в некоторых случаях скорость может повысится, в некоторых - наоборот, понизится.
Основные параметры - Left, сказываем внешний адрес удаленного роутера к которому хотим соединится, Left subnet - используемая адресация в удаленной подсети в CIDR-формате. Кто не знает, что такое CIDR - курят вики. По аналогии указываем собственный внешний адрес и адресацию (Righ и Right subnet). Secret и Again - здесь необходимо ввести секретный ключ, который будет использоваться для шифрования трафика в канале, вводим одинаковые комбинации знаков.
При желании можно добавить комментарий (Comment) и не забываем поставить галку включения (Enabled). На второй машине необходимо сделать аналогичные настройки, но в зеркальном отображении (поменять местами Left и Right).
После чего идем на закладку Control и видим зелёненькое слово "OPEN" напротив созданного канала.
Чтобы при разрыве связи не приходилось вручную поднимать vpn, на этой же закладке поставьте в разделе Global settings галочку Enabled

Настройка завершена, можно попробовать пропинговать из одной сети компьютеры другой или попробовать зайти на них через расшаренные ресурсы.


****************************************************************************************
pfSense

Этот дистрибутив базирован на проекте m0n0wall , а тот в свою очередь на FreeBSD , распространяется по лицензии BSD и является бесплатной и очень функциональной заменой дорогим коммерческим решениям. Текущая стабильная версия 1.2.2, но доступен и 1.2.3 RC1.
Несмотря на низкие минимальные требования к аппаратному обеспечению (CPU100MHz Pentium/128MB RAM/1GB HDD), имеет очень богатое функциональное наполнение: LAN/ WAN Router, NAT, Firewall, VPN, DHCP, PPPoE, DynDNS, CARP, пассивное определение операционных систем с которых идет трафик, что позволяет более гибко создавать правила доступа и еще многое другое, да и базовую функциональность можно еще больше расширить, установив дополнительные пакеты, такие как Snort , Squid, HAVP antivirus, TinyDNS-server, IMSpector, Nmap, Spamd и пр. Может быть так же настроен в режиме прозрачного моста при использовании во внутренних сетях. Управляется как через Web-интерфейс, так и через SSH при необходимости.

Из недостатков следует отметить отсутствие нормальной документации по продукту. Нет подробного Administrator`s Guide в формате PDF как у SmoothWall Express, ни HandBook, как у FreeBSD. Вся документация собрана из каких-то отдельных HTML-страничек, FLASH-роликов, обрывочных PDF-руководств, How To, ссылок на документацию по m0n0wall и т.п. Впрочем, на сайте присутствует информация, что скоро будет готова полноценная документация. Пишут что в 2009 году. Поживем — увидим.

Подходит для использования как на бездисковых станциях (загрузка с CD-ROM и сохранение конфигурации на Flash-накопителях или FDD), так и на полноценных ПК с установкой на жесткий диск. Мы рассмотрим последний вариант.

1. Загрузка и установка.

Скачиваем образ Live-CD в формате ISO, с одного из зеркал , записываем его на CD болванку и получаем загрузочный диск. Выставляем в BIOS загрузку с CD-ROM, грузимся. Процесс загрузки не имеет графического интерфейса, имеется только интерфейс командной строки, впрочем там все достаточно понятно. Для базовой конфигурации достаточно указать WAN и LAN интерфейсы, а все остальное настроить уже потом. По умолчанию IP-адрес будет 192.168.1.1.
Подробно на установке останавливаться не буду, все достаточно ясно и понятно, тем более что здесь весь процесс представлен в картинках.
2. Настройка

Опять попадаем в такое же меню. Меняем внутренний IP-адрес на необходимый, и далее всю дальнейшую настройку можно производить через Web-интерфейс. Набираем в браузере внутренний адрес свежеустановленного pfSense, по умолчанию login: admin, password: pfsense (который желательно сразу поменять после базовой настройки) и нас сразу встречает Setup Wizard, который проведет по всем основным шагам базовой настройки. Здесь задаются: имя хоста, домена, адреса DNS серверов, временная зона, адрес NTP сервера и конфигурация WAN интерфейса. На закуску предлагают поменять пароль. Что мы и делаем.

Закончили с Setup Wizard и видим состояние системы и собственно Web-интерфейс, через который все и настраивается дальше. Состояние системы показывает загрузку процессора, использование памяти, SWAP и HDD. Интерфейс сделан достаточно просто вверху выпадающее меню состоящее из семи разделов, в каждом разделе соответствующие разделу подпункты (правда не всегда логично расположенные). Никаких «горячих» кнопок и особых зон. Разберем разделы более подробно:

System:
Здесь представлены следующие подпункты:
* Advancedздесь можно включить SSH сервер, задать порт доступа и способ аутентификации (по паролю или по ключу), задать сертификаты и ключи для доступа по SSL к Web-конфигуратору, здесь же настройки для трафик-шейпера и некоторые другие.
* Firmwareназвание говорит само за себя. :-)
* General setupвесьма нужный пункт, здесь указываются адреса DNS-серверов, имя домена, меняются протоколы и порты для доступа к управлению через Web-конфигуратор, временная зона. Здесь же можно сменить и тему интерфейса и пароль.
* Packagesустановка и удаление дополнительных пакетов.
* Setup wizardэто именно тот визард, через который мы делали первичную настройку.
* Static routesтоже все понятно, здесь задаются статические маршруты.

Interfaces:
Подпункты:
* (assign)здесь создаются (удаляются) VLAN`ы и указываются LAN и WAN интерфейсы.
* WANесть 4-ре варианта настройки (Static, DHCP, PPPoE, PPTP) в зависимости от того, что вам предоставляет провайдер, или вышестоящий администратор, если это внутренняя сеть.
* LAN - здесь все должно быть понятно, останавливаться не буду.

Firewall:
Подпункты:
* Aliasesпользуясь этим подпунктом, можно упростить создание правил для файрволла.
* NATздесь настраивается форвардинг портов и прочие манипуляции с NAT.
* Rulesсобственно, то место, где создаются, модифицируются правила для трафика.
* Shedulesсоздание расписаний.
* Traffic Shaperвоспользовавшись этим пунктом, можно настроить трафик-шейпер для того или иного интерфейса, указав нужную скорость и приоритеты для разных видов трафика (VoIP, P2P, сетевых игр и прочего).
* Virtual IPsнужны для использования ARP proxy и настройки CARP.

Services:
Подпункты:
* Captive portalпри необходимости можно задействовать эти продвинутые функции для более гибкого управления доступом и пользователями.
* DNS forwarder управление DNS — релеем.
* DHCP relayто же самое, но для DHCP — релея, не работает, если используется DHCP server.
* DHCP serverвсе настройки для него (пулы адресов, раздача DNS, NTP, Gateway, время аренды, IP для failover и пр.
* Dynamic DNSздесь настраиваются параметры для использования сервисов Dynamic DNS, их поддерживается 9 штук.
* Load Balancer — балансировка нагрузки при нескольких WAN интерфейсах и включение сервера в пул серверов.
* OLSRвключение и настройка OLSRD, кто не знает что это, и нужно ли оно вообще, смотрит здесь
* PPPoE ServerpfSense может работать как PPPoE-сервер, здесь находится управление его конфигурацией и пользователями.
* RIPвключение(отключение) RIP-сервера.
* SNMPуправление демоном SNMP.
* UPnPвключение, настройка, отключение использования этой технологии.
* OpenNTPDясно из названия, управление встроенным NTP сервером.
* Wake on LANнадеюсь понятно и так.
VPN:
Подпункты:
* IPsecпрекрасно служит для создания защищенных каналов между удаленными подразделениями компании, поддерживается несколько алгоритмов шифрования (DES, 3DES, Blowfish), здесь смотрите сами, какой использовать для баланса «скорость/защищенность», к сожалению, при включенном NAT поддерживаются не все функции этого протокола, работы ведутся, но может быть эти фукции вам и не нужны.
* OpenVPNЕсли предыдущий вариант создания VPN-соединения вас не устраивает, то можно воспользоваться этим, он поддерживается лучше, но требует более широкой полосы пропускания из-за использования SSL.
* PPTPpfSense можно настроить как PPTP- сервер для входящих VPN соединений по этому протоколу. Очень удобен, если у вас много пользователей, которым необходим доступ в сеть извне с различных адресов и устройств. Типы аутентификации можно задать как встроенную, так и на указанном RADIUS-сервере.

Status:
Подпункты:
* CARP (failover)просмотр статуса failover-конфигурации с использованием протокола CARP при создании отказоустойчивой конфигурации из 2-х и более серверов.
* DHCP leases состояние DHCP.
* Filter Reload Statusперезапуск фильтров трафика. (непонятно почему этот пункт здесь)
* Interfacesстатистика о состоянии сетевых интерфейсов.
* IPsecсостояние IPsec.
* Load Balancerсостояние балансировки.
* Package logsинформация от установленных дополнительных пакетов.
* Queuesинформация от включенного трафик-шейпера.
* RRD Graphsмасса графиков в режиме реального времени о системе, трафике, пакетах и пр.
* Servicesсостояние служб. Здесь так же можно остановить/запустить необходимые.
* Systemсобственно то, что мы увидели после первичной настройки.
* System logsсобственно логи (системы, файрволла, DHCP-сервера, VPN-сервера, и пр.) Здесь же и настраиваются параметры ведения логов и способ их хранения (локально или на удаленном syslog-сервере)
* Traffic graphграфик реального времени по сетевым интерфейсам.
* UPnPинформация о UPnP.

Diagnostics:
Подпункты:
* ARP Tablesони и в Африке ARP Tables. Добавить нечего.
* Backup/Restoreбэкап/восстановление конфигурации, а так же история изменений.
* Commandвведение команд для запуска через шелл и некоторые другие.
* Edit Fileредактирование файлов настройки при необходимости.
* Factory defaultsсобственно сброс всех настроек на настройки по умолчанию. Может * пригодиться, если было внесено так много изменений, что уже не разобраться. Тогда действительно проще сбросить все и настроить заново.
* Halt systemвыключение системы.
* Pingсобственно ping он и есть ping, позволяет какой-либо хост проверить на доступность.
* Reboot systemперезагрузка системы.
* Routesпоказывает какие маршруты задействованы, по каким интерфейсам, какой размер MTU и т. п.
* Statesсостояние (с каких узлов на какие, по каким портам и протоколам проходят пакеты и состояние портов)
* Tracerouteтот же traceroute для определения путей хождения пакетов.
* Packet Capture - пакетный сниффер, для перехвата пакетов по интерфейсам, хостам, портам для последующего анализа.

Непонятно, почему сюда были включены пункты Backup/Restore, Factory defaults, Halt system и Reboot system. По-моему им самое место в меню System, но видно разработчикам так удобнее.
В заключение хочется добавить, что это был обзор только встроенных возможностей данного продукта. Существует множество не описанных расширений этого функционала, ведутся работы по интеграции с VoIP-сервисами посредством FreeSWITCH и т.д. В общем, продукт очень гибок и функционален, уместив такую мощь в таком компактном виде и с такими низкими требованиями к ресурсам... и выпустив под лицензией BSD... разработчики очень постарались.

Данный обзор не претендует на полноту изложения и ориентирован в первую очередь на тех, кто только решился попробовать свои силы в настройке linux-подобных дистрибутивов и не знает с чего начать.
Если интересно, продолжение последует...
11
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.08.2009, 08:39
Ответы с готовыми решениями:

Nix Автоматизация
Есть файлы Без расширения. в формате ххх, xxa, xxb ... Задача: Берутся файлы...

Глючит любой дистр *nix. Может ли быть причиной мышь или клавиатура?
здраствуйте! Проблема такая... глючит любой дистр *nix но остановлюсь на...

Как сделать бэкап раздела, не отключая его?
Здравствуйте, есть локальная сеть, которая выходит в инет через шлюз...

Как добавить браузер в меню и сделать его браузером по умолчанию?
после установки гугла во вкладке интернет он не появился, приходится запускать...

Супер TextBox или как его сделать лучше
Здравствуйте! Озадачился такой проблемой не могу понять как можно сделать такой...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.08.2009, 08:39

Где найти такой шаблон к сайту или как его сделать самому?
Здравствуйте! Ребята, подскажите пожалуйста.., как мне быть с таким...

Кто знает где найти structure folders seven.bat, или как его сделать
Посмотрел видео как чел делает сборку Windows под себя. При создании этой...

Как сделать upload файлов без использования <INPUT TYPE=FILE>(или его программное заполнение)?
На клиенте есть VB программа с броузером, которая сама по таймеру должна...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Закрытая тема Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru