Разворачиваем Wi-Fi HotSpot с использованием технологии Captive Portal. Разворачиваем Wi-Fi HotSpot с использованием технологии Captive Portal Навязчивый portal php

Здравствуйте, уважаемые читатели блога сайт. Сегодня я хочу поговорить о вариантах бесплатного хостинга (от ) для сайта, который может вам понадобиться на начальном этапе знакомства с вебмастерингом, когда вы еще не уверены, что будете продолжать заниматься своим сайтом и тратить на его поддержание деньги. О том, и на что стоит обращать внимание при его выборе, читайте по ссылке, чтобы нам уже на это не отвлекаться.

Так как практически требуют поддержки PHP (языка веб-программирования) и MySql (баз данных), то именно такой хостинг и хотелось бы получить бесплатно в свое полное распоряжение. В этой публикации я как раз и расскажу про целую плеяду подобных сервисов, а вы уже выберете себе что-то одно, наилучшим образом подходящее для решения ваших текущих задач.

Мой первый free hosting — что определило выбор

Сам я, в принципе, человек не жадный, и в состоянии был на начальном этапе развития своего блога платить рублей сто или даже больше в месяц за полноценный хостинг. Но тем не менее этого не делал, и довольно продолжительное время сидел на так называемом «free hosting» (от oxnull.net, который, кстати, работает и по сей день) и тут есть несколько причин.

  1. Во-первых, читая отзывы понимал, что дешевый хостинг запросто может быть очень даже проблемным и глючным, а его администрация недоступна и не лояльна к пользователям. Бесплатный хостинг тоже этим может запросто страдать, но там хоть понятно за что.
  2. Во-вторых, как всякий начинающий пользователь, я решил сделать свой первый интернет-проект на бесплатном движке (сначала это была Джумла, а потом уже освоил WordPress) и логично было бы разместить его именно в бесплатном «стойле». Это ни к чему не обязывает и, если вдруг наскучит возиться с сайтом (или еще что-то незаладится), то можно будет спокойно все это хозяйство бросить не сожалея о потраченных деньгах.

Как вы, наверное, знаете, хостинги можно разделить на те, которые поддерживают язык программирования PHP и базы данных MySQL, и те, которые их не поддерживают. Последние встречаются все реже и реже, но среди бесплатных по-прежнему попадаются.

При наличии php и mysql мы сможем использовать хостинг для создания на нем сайта «работающем на движке» (использующем систему управления контентом — CMS). Самыми популярными являются , Drupal, Битрикс и др. Если же поддержки php и mysql на бесплатном хостинге не будет, то наш удел — только обычные HTML странички и ничего более (хотя для сайта-визитки или это вполне может подойти).

Однако, само по себе использование CMS (движка) сулит нам немалые выгоды при создании и ведении более-менее сложных сайтов, блогов и уж тем более форумов. Там и встроенные редакторы «аля ворд», и куча расширений для добавления нового функционала, да и знаний Html, CSS (и уж тем более PHP) не потребуется. Просто бери и твори! В общем, самое то для начинающего вебмастера.

Семь лет назад, рассмотрев все имеющиеся на то время в наличии бесплатные предложения о размещении моего текущего блога, я остановился на Oxnull.net . При этом я заходил на все сайты фришных хостеров и внимательно изучал предлагаемые условия. Кроме наличия php и mysql, необходимых для работы WordPress или Joomla, в основном меня интересовало предоставляемое место на жестком диске. В то время халявный вариант на Oxnull.net предлагал мне 300 Mb на диске, что и стало решающим фактором в его пользу. Да, собственно, за семь лет мало что поменялось:

Что еще понравилось мне и возможно понравится вам, так это возможность за одну или две минуты после регистрации получить уже работающий сайт на одном из популярных движков. Для обычных хостингов это стало делом обязательным, но для бесплатного тогда это что-то с чем-то. Для начинающего пользователя этот «free hosting» тогда вообще был находкой, т.к. сразу отпадал целый ряд проблем и вопросов, связанных с установкой движков (СМС).

Оставалось дело за малым, лишь добавить контент и все — бесплатный сайт, форум или блог готовы к приему посетителей. Хотя, конечно же, «добавить контент» и является главным в создании сайта, но по началу кажется, что когда технические проблемы решены, а платить за хостинг не надо, то контент написать проблем не составит. В любом случае, снижение порога вхождения в моем случае как раз и послужило тогда основным поводом воспользоваться услугами Oxnull.net.

Само собой разумеется, что если вам ничего из этого не нужно, то можно установленные движки спокойно снести. Сразу после регистрации Вам предоставляется информация для доступа к сайту по FTP (логин и пароль) и данные вашей базы MySQL (имя базы, логин и пароль для доступа к ней). Также вы имя третьего уровня (что-то типа этого: ktonanovenkogo.oxnull.net), которое при желании можно будет потом , например, на сайт (если созреете на его покупку, или если он у вас уже имеется).

Особенно меня порадовало и по-хорошему удивило в Oxnull.net — общение с администрацией. Я нигде не встречал таких доброжелательных админов. Общаться с такой техподдержкой одно удовольствие! Я вовсе не преувеличиваю, ибо ожидать такой отзывчивости от владельцев абсолютно бесплатного хостинга не приходилось.

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

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

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

10 бесплатных хостингов для сайта с поддержкой php и mysql

Я ни в коей мере не хочу выделять лидеров и аутсайдеров среди приведенных ниже хостинг-провайдеров, предоставляющих бесплатный доступ к своим ресурсам, ибо у всех свои задачи, да и в определенной мере все зависит от пресловутого «повезет/не повезет» (на какой физический сервер попадет ваш сайт, какие будут «соседи», будут ли их сайты ддосить и многое другое). Кстати, — это так, на всякий случай. В общем, выбираете вы сами, а я лишь попробую сделать этот выбор для вас чуть более простым.

  1. Hostiman — довольно необычный игрок на рынке «free hosting», ибо кроме обычного хостинга с поддержкой PHP и MySQL он еще и VPS бесплатные предоставляет, что вообще является по большому счету «Вау». Тут можно получить место под 2 сайта размером 2 Гбайта (с PHP и MySQL) на современном сервере с DDR4 и SSD дисками (быстрыми). И все это бесплатно!

    Однако есть ряд нюансов (о них читайте в отдельной ), которые призваны отсечь возможность использования этого сервиса в «черных и серых схемах». Как я уже упоминал, тут также есть возможность получить бесплатно VPS/VDS серверы (причем очень шустрые), однако нюансов для их получения будет еще больше. Но «2×3700 MHz + 6 gb DDR4 + 40 gb SSD» за бесплатно! Это просто праздник какой-то...

  2. Hut — неплохо подойдет для маленьких сайтов (бесплатно предоставляют только 100мб дискового пространства) или новичкам на момент их обучения искусству вебмастеринга, ибо есть поддержка PHP и MySQL, а доступ к файлам предоствляется не только по FTP, но и по SSH. За дополнительную плату можно докупить место, прикрутить домен второго уровня и многое другое, но тогда это уже не будет бесплатный хостинг.По умолчанию присутствует реклама, которую так же можно отключить за денежку. Кроме этого, есть отзывы пользователей, что данный хостинг удаляет с бесплатных тарифов сайты, которые не имеют посещаемости или она низка. Так-то вот.
  3. Hostinger — довольно «вкусный» у них бесплатный тарифный план:

    Правда, под эгидой борьбы с и т.п. напастью с начала этого года они ввели SMS активацию, что многим не понравилось, ибо сообщение это платное и дорогое. В общем, многие возмущены и негодуют, ибо до этого годами сидели на бесплатном тарифе и в ус не дули.

  4. 000webhost — буржуйский free hosting с PHP и MySQL, а также PHP mail и предустановленными Curl, GD2, ImageMagick. Предоставляют 1.5 Гига места под сайт и 100Gb под трафик. cPanel управления. Можно использовать две базы данных, привязать пять доменов. При этом вроде как нет рекламы и очень достойный, равно как и скорость работы сайтов. Но как-то все подозрительно «гладко» получается. Наверняка имеются «детские болезни» всех бесплатных хостингов — глючность. Но это только догадки...
  5. CpanelHosting — молодой провайдер с бесплатным тарифом, где имеется поддержка PHP и MySQL.

    Вроде все что надо имеется (даже можно выбрать нужную версий PHP от 4 до 7 и, естественно, что панель управления — это ), но пока нет достаточного количества отзывов, чтобы делать какие-то выводы о стабильности и удобстве работы с ним. Кому-то важно будет то, что хостинг выдается фактически без регистрации (указывает Емайл и на него приходят все нужные данные) и без всяких там СМС (как в Хостингере последнее время).

  6. nx0 — довольно-таки приятные возможности у этого бесплатного хостинга:

    Правда многих пользователей расстраивает то, что для создания своего акка придется верифицировать номер своего мобильного телефона. Тех кому важна анонимность этот вариант может не устроить.

  7. BestOf — этот проект можно сравнить с упомянутым в начале Охнул.нет, ибо подход в приеме сайтов примерно тот же. Принимаются только русскоязычные сайты и при этом бесплатные мощности предоставляются только тем, кто понравится администрации. Например, развлекательные, игровые и коммерческие проекты они принципиально не размещают.В остальном же все вроде на уровне. Ребята берут под крыло (в плане технического обеспечения) те проекты, что несут пользу людям и всецело полезны обществу. Есть поддержка PHP и MySQL и всего прочего, что может понадобиться. Но еще раз повторюсь, что этот «бесплатный хостинг не для всех».
  8. Byethost — еще один буржуйский free hosting и опять же очень даже неплохой. Есть все, о чем только может мечтать вебмастер — гигабайт под файлы, PHP и MySQL, пять баз данных, полноценный файл.htaccess, а также отсутствие рекламы. Чего еще желать? Наверное стабильности, но это можно проверить только опытным путем.
  9. ZZZ — украинский провайдер, предоставляющий услугу бесплатного хостинга с весьма неплохими заявленными параметрами и без рекламы. Как обстоит дело на самом деле, можно проверить только на практике и отписаться чуть ниже в комментариях.
  10. Beget — бесплатный вариант хостинга от довольно-таки крупного провайдера.

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

Еще 10 вариантов бесплатного размещения сайта на хостинге

Описанные выше варианты реализации концепции «free hosting» отличаются тем, что при желании вы запросто можете собрать свои манатки (файлы сайта, базы данных) и спокойненько уйти либо на другой бесплатный хостинг, либо уже на платный, когда для этого созреете. В этом, собственно, и заключается их прелесть. Свобода.

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

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

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

Основным недостатком этих способов (кроме лишения свободы передвижения) является еще и сложность . Либо за вас это будет делать хостер, либо прибыль будет меньше, чем могла бы быть у «свободного человека». Однако, если зарабатывать на этом вы и не планируете, то создать успешный проект даже на бесплатной платформе вполне возможно, и в сети полно таких примеров.

Давайте начнем с бесплатных блог-платформ , где можно будет начать создавать свой сайт. Основным их преимуществом является простота настройки будущего сайта и простота добавления на него материалов. Среди множества подобных сервисов «бесплатного хостинга» можно выделить:

Ну, на закуску могу предложить несколько вариантов получения бесплатного хостинга вкупе с онлайн-конструктором сайтов . Базовые возможности у них бесплатны, а создание сайтов ведется на интуитивно понятном уровне (у многих методом «схватил и перетащил»). Правда, есть и ложка дегтя — исходный код сайтов, как правило, получается «тяжелым», а функционал в некоторых моментах все же проигрывает движкам. Однако, «на халяву и уксус сладкий».

  1. Ucoz — очень популярен в рунете. Не сказать, чтобы создавать сайты на нем архипросто, но все равно проще, чем это делать на движке. Функционал довольно развитый, есть подробные мануалы, отзывчивая русскоязычная поддержка, куча бесплатных шаблонов, дружит с Php и MySql (хотя, это вроде за плату), но... Вот это самое НО. Чем популярнее будет ваш сайт, тем больше будет на нем рекламы (иногда даже настолько, что посетители с него будут убегать).
  2. Wix — очень популярен во всем мире. В базе бесплатный и довольно-таки удобен именно начинающим пользователям, ибо поддерживает их любимую концепцию — взял и перетащил мышкой. Это касается буквально всего в том числе и дизайна сайта. Много красочных (если не сказать вычурных) бесплатных шаблонов. Подробнее можно почитать . Рекламой не забивается до отказа как Юкоз , но если захотите чуть больше функционала или убрать рекламу совсем, то за это уже придется платить.
  3. A5 — можно сказать, что это наш клон Викса. В своем бесплатном варианте довольно ограничен по функционалу, но для простых сайтов вполне подойдет. Работать с ним довольно просто и приятно.
  4. Nethouse — если нужен сайт для бизнеса (странно, что при этом вы ищете бесплатный хостинг, ну, да это ваше дело), то этот конструктор поможет вам сконструлить сайт-визитку или даже магазин, но, правда, в бесплатном варианте вы будете довольно сильно ограничены числом товаров и их фотографий.
  5. Jimdo — на бесплатном тарифе можно сконструлить вполне себе приличный сайтик с адаптацией под мобильные устройства, и даже сторонняя реклама на нем крутиться не будет, что есть гуд. Но есть и много ограничений, которые призваны «душить вашу жабу» и заставить таки раскошелиться. Но вы не поддавайтесь!
  6. Setup — еще одна «наша» поделка (детище Сеопульта, как я понимаю). Все просто и сложно одновременно. Просто конструлить сайт, но вот сложно будет вместиться в прокрустово ложе бесплатного тарифа.

В общем, выбор всегда есть. Профессионал «собаку съевший» на создании сайтов выберет безусловно платный хостинг, ибо возникающие проблемы не стоят траты его времени. Новичок же наоборот имеет основной свободный ресурс — время, а потому будет пытаться сэкономить деньги и одновременно получить необходимый опыт в набивании шишек. Лично я так и делал в свое время.

Удачи вам! До скорых встреч на страницах блога сайт

Вам может быть интересно

От других людей, но на их месте нередко оказываемся и мы сами. И если многие еще согласны мириться с недоступностью отдельных веб-сайтов на работе, то дома — уж извините. Однако ни своевременная оплата домашнего Интернета, ни гражданские права и свобода слова не гарантируют нам беспрепятственный доступ ко всему веб-контенту. Ресурсы, попавшие в реестр запрещенных в России, например, многие популярные торрент-трекеры, закрыты от нас семью замками.

К счастью, блокировка сайтов даже на уровне провайдера — не бастион. Как бы ни старался Роскомнадзор, мы всё равно подберем к ним ключи. Сегодня вы узнаете, как зайти на заблокированный сайт всеми доступными способами, не нарушая закон.

Анонимайзер — это узел-посредник (веб-прокси) между пользователем и целевым ресурсом, предназначенный для анонимного серфинга сети, а также — доступа к заблокированным сайтам.

Как анонимайзеры помогают обойти блокировку: при открытии любой интернет-страницы запрос передается на устройства провайдера, где проводится сверка имени и IP сайта с черными списками. Если доступ к ресурсу открыт, запрос отсылается целевому серверу и браузер загружает контент. Если закрыт — провайдер перенаправляет пользователя на страницу-заглушку. У MTS она выглядит так:

У Билайн — так:

У других провайдеров — по-своему, но суть сообщения одна: доступ к сайту запрещен. И точка.

При обращении к этому же узлу через анонимайзер сетевые устройства провайдера видят только данные анонимайзера. А так как его в черном списке нет, загрузку целевого ресурса ничто не ограничивает.

Пользоваться анонимайзером очень просто:

  • открываем его страницу;
  • в поле «Открыть» вводим URL целевого сайта и нажимаем кнопку перехода.

К сожалению, сегодня многие популярные анонимайзеры тоже попали под блокировку. Остались лишь самые безобидные — предназначенные для открытия ВКонтакте, Одноклассников, Фейсбука и других подобных порталов, которые обычно не разрешают посещать на работе. А из тех, что помогают разблокировать сайты черного списка Роскомнадзора, закрыто абсолютное большинство.

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

  • NoBlockMe — предоставляет альтернативный доступ к социальным сетям и Живому Журналу.
  • Pingway — для доступа к социальным сетям и YoutTube.
  • Anonim.pro — разблокирует соцсети, YouTube, сайты знакомств, Авито, Танки онлайн.
  • Anonymouse
  • Anonymizer.ru — для любых интернет-ресурсов.
  • Guardster — также для всего.

При открытии сайта через анонимайзер можно столкнуться с проблемами:

  • Неполной загрузкой контента. Страница может открываться без картинок, аудио и видео, на ней могут не нажиматься кнопки, не работать меню и т. д.
  • Отображением страниц в искаженном виде — со смещением блоков, залезанием текста на картинки и т. п., вплоть до полной нечитаемости.
  • Недоступностью веб-ресурсов, передающих данные по протоколу https.
  • Чрезмерно навязчивым показом рекламы — огромными баннерами, всплывающими окнами, постоянными перебросами на другие веб-ресурсы. Возможна скрытая установка на компьютер адварных (от слова adware — рекламный софт) и шпионских программ, с которыми потом придется долго бороться.

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

«Фишки» браузеров

В обычных веб-браузерах нет специальных инструментов, позволяющих открывать заблокированные сайты, но есть опции, для которых это действие является «побочным». В Opera и Яндекс Браузере такой инструмент — режим экономии трафика Turbo. Так, желая ускорить открытие медленно загружающихся страниц, вы получите приятный бонус в виде свободного доступа, например, на Rutrecker.org.

В Opera опция Turbo включается в главном меню.

В Яндекс Браузере — в основных настройках.

В Google Ghrome и Mozilla Firefox режима Турбо нет, но в них для наших целей может пригодиться Гуглопереводчик . Переведенный сайт открывается в отдельном фрейме, и доступ к нему уже не блокируется.

Если вы ни разу не пользовались переводчиком Google, поясним, как это сделать: в левое окошко вставляете URL страницы, которую нужно открыть, и выбираете язык оригинала. Даже если страница русскоязычная, оригиналом следует назначить иностранный, например, английский язык, а языком перевода — русский. Следом нажимаете кнопку «Перевести».

Результат открытия Rutrecker.org, как видно на скриншоте, получается вполне приличным.

Еще один способ обойти блокировку сайта — ввести в адресной строке браузера не имя, а IP-адрес, определить который помогут Whois-сервисы. Например, этот .

К сожалению, «фишки» браузеров эффективны не на 100%: некоторые сайты Google не переводит, в режиме Turbo они тоже остаются заблокированными, причем не только по имени, но и по IP.

Специальные расширения для браузеров

Если вам не удается получить доступ к сайту собственными средствами браузера, решить проблему поможет стороннее расширение. Один из самых популярных инструментов такого назначения — FriGate (ссылка дана на магазин Chrome, но он существует для других браузеров).

FriGate шифрует и перегоняет часть трафика веб-обозревателя через собственный VPN-сервер. Это не только восстанавливает доступ к сайтам при блокировке, но и ускоряет соединение.

Помимо FriGate подобными функциями обладает еще масса бесплатных расширений. Вот некоторые из них:

Часть из них после установки нуждаются в конфигурации, например, создании пользовательских списков веб-ресурсов и правил, другая часть имеет лишь кнопку включения-выключения и ничего больше. Некоторые расширения предоставляют выбор из 3-4 доступных прокси-серверов, другие не предоставляют. Пользуйтесь тем, что больше подходит вам, благо вариантов много. Хоть один да сработает.

Бесплатные VPN-клиенты для Windows и других платформ

Основное назначение VPN — создание закрытых каналов связи для защиты сетевого трафика от утечки и доступа извне. Однако эту технологию используют и для посещения блокированных интернет-страниц. В отличие от анонимайзеров, перенаправляющих в нужное «русло» запрос к одному сайту, и от браузерных расширений, пропускающих через прокси трафик одного веб-браузера, приложения VPN направляют в закрытый канал весь сетевой трафик компьютера.

Услуги доступа к серверам VPN через программу-клиент, как правило, платные (стоят $1-50 в месяц в зависимости от пропускной способности канала и наличия дополнительных опций), но есть несколько бесплатных.

Лучший бесплатный VPN-клиент для Windows, Mac OS X, Linux и мобильных платформ, по мнению автора, — это программа CyberGhost 6 . Вот самые значимые его преимущества в сравнении с аналогами:

  • Нет ограничений объема трафика. Большинство бесплатных приложений такого формата ограничивают трафик примерно до 500 mb в месяц или за весь период использования. Если нужно больше — оформляйте платную подписку.
  • Достаточно высокая скорость соединения. Основная масса бесплатных VPN снижают ее до минимума.
  • Большой выбор доступных серверов по всему земному шару. Многие бесплатные аналоги предлагают лишь один сервер, который находится где-нибудь в США и постоянно перегружен.
  • Несколько предустановленных профилей для разных задач (без оплаты доступна только половина, но и ее для большинства задач вполне достаточно).
  • Может использоваться для доступа к любому типу веб-ресурсов. Поддерживает почти все виды трафика: потоковое видео, онлайн-игры, социальные сети и прочее, ограничивает p2p.
  • Прост для освоения новичками.
  • Русифицирован.

Чтобы попасть на закрытый сайт с помощью CyberGhost 6, достаточно запустить программу и выбрать один из доступных профилей.

При выборе опции анонимного серфинга (желтая плитка) достаточно задать режим загрузки браузера (обычный или инкогнито) и указать желаемый VPN-сервер.

При выборе разблокировки базовых веб-сайтов (синяя плитка) нужно всего лишь кликнуть по соответствующей иконке.

Tor-браузер), реализующее технологию луковой маршрутизации интернет-трафика.

Принцип передачи данных по сети Tor отличается от обычного тем, что вся пересылаемая информация многократно (послойно) шифруется и следует по случайно выстроенной цепочке прокси-серверов абсолютно анонимно. Ни промежуточные, ни конечный узел не получают сведений об отправителе запроса и маршруте трафика. Каждый сервер считывает ровно ту информацию, которая необходима для передачи пакета следующему узлу (образно снимает свой слой луковой шелухи). Такая система обеспечивает пользователю максимум конфиденциальности и делает отслеживание его трафика если не невозможным, то очень затруднительным.

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

В России Tor пока не запрещен, и его использование не грозит вам никакими санкциями.

При организации гостевого подключения к интернету в конференц-залах, публичных библиотеках и кафе особое внимание следует уделить обеспечению безопасности и максимально простой аутентификации. Технология под названием Captive Portal призвана в этом помочь.

WARNING

Администраторы точек доступа обычно разрешают все DNS-запросы из внутренней сети во внешнюю. Это можно использовать для несанкционированного выхода в интернет при помощи технологии DNS tunneling, реализованной в таких решениях, как Dnscat, Ozyman, NameServer Transfer Protocol (NSTX), Dns2tcp, и других.

Как работает Captive Portal

Все пользователи, которые хотят подключиться к публичной Wi-Fi-сети и выйти в интернет, вначале проходят через шлюз, который представляет собой комп с несколькими сетевыми интерфейсами. Шлюз действует как маршрутизатор и брандмауэр, а для возможности авторизации пользователя при помощи браузера он содержит еще и веб-сервер. Для аутентификации клиентов может использоваться внутренняя база данных или внешний RADIUS-сервер. Все пакеты от «неавторизованных» пользователей помечаются на брандмауэре, и посетитель переправляется на специальную веб-страницу (Captive Portal), где он может ознакомиться с условиями подключения и ввести логин/пароль (либо код доступа). После аутентификации пользователя производится идентификация компьютера, за которым он работает, его МАС- и IP-адреса заносятся в белый список брандмауэра. В самом простом случае пользователь может вообще не проходить аутентификацию, Captive Portal автоматически получает IP- и MAC-адреса компьютера, которые сразу подставляются в правилах брандмауэра. В последующем все пакеты проходят через маршрутизатор без ограничений. Дополнительно, в зависимости от роли, могут устанавливаться ограничения по скорости, времени, трафику или посещаемым ресурсам.

В настоящее время существует несколько проектов, позволяющих быстро развернуть Captive Portal: Wifidog , PacketFence , ChilliSpot и веб-интерфейс EasyHotspot , KATTIVE , PepperSpot и jkaptive . Выбор конкретного решения зависит от необходимых функций и поддерживаемых ОС. Например, ChilliSpot официально поддерживает несколько дистрибутивов Linux, FreeBSD, OpenBSD и OpenWRT. К слову, это единственное приложение, пакет которого доступен в официальном репозитории Ubuntu, и установить его просто:

$ sudo apt-get install chillispot

Для организации простого портала без поддержки внешних средств аутентификации хватит и решения вроде jkaptive, а вот чтобы разобраться со всеми возможностями, заложенными в PacketFence, потребуется некоторое время. Некоторые из представленных проектов уже прекратили свое развитие, но все наработки по-прежнему актуальны. Также можно найти модули для различных языков, позволяющие самостоятельно создать Captive Portal из подручных средств. Например, для Perl он так и называется - Captive::Portal , есть модуль для Python/Django tollgate.org.au .

Кроме этого, ряд дистрибутивов-роутеров предлагает возможность быстрого создания Captive Portal буквально парой щелчков мышки: Untangle , pfSense , Zeroshell , m0n0wall , ClearOS и Zentyal . Но при желании или если невозможно изменить текущую конфигурацию сети нужные скрипты легко создать самостоятельно. Этим мы и займемся.

Настраиваем Captive Portal в Linux

Разобравшись, как работает Captive Portal, легко реализовать его штатными средствами Linux. Причем доступно несколько способов - маркировка и блокировка пакетов, пришедших от неавторизованных пользователей, использование цепочки правил или шаманство с NAT. Дополнительно на лету можно перенастраивать правила прокcи-сервера Squid или контент-фильтра DansGuardian, что позволит управлять выходом в интернет на уровне групп пользователей, да и просто кешировать и фильтровать информацию, блокируя доступ к нежелательным ресурсам. И кстати, именно такой подход применяется в специализированных дистрибутивах.

Для примера разберем вариант использования отдельной цепочки и DansGuardian. Первым делом создаем правила пакетного фильтра:

# Очищаем правила ebtables -t broute -F ebtables -F # Переправляем пакеты, идущие к 80-му порту на стек iptables ebtables -t broute -A BROUTING -p IPV4 --ip-protocol 6 --ip-destination-port 80 -j redirect --redirect-target ACCEPT

Не забываем разрешить специфические низкоуровневые протоколы:

Ebtables -A INPUT -p ARP -j ACCEPT ebtables -A FORWARD -p ARP -j ACCEPT ebtables -A OUTPUT -p ARP -j ACCEPT

То же пишем и для LENGTH, и IPv4. Теперь создаем правила для iptables:

Iptables -N captive iptables -F captive iptables -P FORWARD DROP # Переправляем пакеты, идущие к порту 80, на 8080, где работает DansGuardian iptables -t nat -I PREROUTING -i br0 -p tcp --dport 80 -j REDIRECT --to-ports 8080 iptables -t nat -I PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-ports 8080 iptables -t nat -I PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-ports 8080 # Создаем цепочку для LAN iptables -A FORWARD -s 192.168.1.0/24 -j captive iptables -A FORWARD -d 192.168.1.0/24 -j captive # Разрешаем локальный трафик (добавляем все необходимые сети) iptables -I FORWARD -p tcp -s 192.168.1.0/24 -d 192.168.1.0/24 -j ACCEPT iptables -I FORWARD -p udp -s 192.168.1.0/24 -d 192.168.1.0/24 -j ACCEPT iptables -A captive -j RETURN

Не забываем разрешить ICMP, DNS, DHCP и прочие необходимые протоколы. Здесь, кстати, есть один важный момент: многие админы не заморачиваются и разрешают весь DNS-трафик. Этим пользуются некоторые юзвери для получения доступа в Сеть при помощи технологии DNS tunneling. Конечно, итоговая скорость небольшая, но вполне достаточная, чтобы сидеть в аське, писать в твиттер или отдавать команды по SSH. И главное - при этом везде засветится IP твоей сети, а в логах какие-либо записи о несанкционированной деятельности будут отсутствовать, ведь не каждый админ пишет все запросы в журнал DNS-сервера. Поэтому лучше строго указать разрешенные серверы.

Настраиваем Captive Portal в Zentyal

Если под Captive Portal выделяется новый сервер и все настройки нужно произвести в короткое время, то лучше обратиться к специализированным решениям, где все необходимое делается буквально парой нажатий клавиш. Яркий пример - серверный дистрибутив Zentyal , ориентированный на малые и средние корпоративные сети. Он может выступать в любой из четырех ролей сетевого шлюза, Office Server, сервера коммуникаций и инфраструктуры. Для поддержки Captive Portal следует во время установки активировать одноименный модуль (активируется роль Gateway и все сопутствующие пакеты). Затем в мастере первичной настройки правильно указываем на LAN-интерфейс. Создаем учетные записи пользователей и группы. Далее в интерфейсе настройки Zentyal переходим в меню Captive Portal и отмечаем в поле «Captive-интерфейсы» нужный, выбираем группу, участники которой будут иметь доступ, и указываем порт, на который будут перенаправляться пользователи. Вот и все. Теперь любой, кто желает подключиться к сети, вводит свои учетные данные, если аутентификация проходит успешно, появляется всплывающее окно, которое нужно держать открытым. Чтобы отключиться, достаточно нажать кнопку «Выйти» или просто закрыть окно браузера.

Если имеем шлюз, построенный на Ubuntu, то для установки связанных с Zentyal приложений проще использовать специальный репозиторий:

$ sudo add-apt-repository ppa:zentyal/3.0 $ sudo apt-get update

После чего команда sudo apt-cache search zentyal покажет более 20 модулей Zentyal.

Iptables -I FORWARD -p tcp -s 192.168.1.0/24 -d 8.8.8.8/32 -j ACCEPT iptables -I FORWARD -p udp -s 192.168.1.0/24 -d 8.8.8.8/32 -j ACCEPT

В принципе, на этот момент ничего особенного нет. Суть Captive Portal заключается в добавлении нужных правил на лету. Для этого понадобится скрипт, который будет получать IP/MAC и передавать их пакетному фильтру. Полностью HTML-страницу приводить здесь нет смысла, поэтому ограничимся ключевыми моментами с нужным функционалом. На странице, куда перенаправляется пользователь, должен быть следующий код, получающий IP- и MAC-адреса:


При необходимости добавляем поле для проверки логина и пароля, нужные примеры легко найти в интернете. Далее в этом же скрипте подставляем полученные данные в правила iptables и DansGuardian, после чего перезапускаем последний:

Exec("sudo /sbin/iptables-bin -I captive -s {$_SERVER["REMOTE_ADDR"]} -j captive"); exec("sudo /sbin/iptables-bin -I captive -d {$_SERVER["REMOTE_ADDR"]} -j captive"); exec("touch /etc/dansguardian/lists/authplugins/ipgroups"); exec("echo \"{$_SERVER["REMOTE_ADDR"]} = filter1\" >> /etc/dansguardian/lists/authplugins/ipgroups"); exec("sudo /sbin/service dansguardian reload");

После подключения клиента запись в /etc/dansguardian/lists/authplugins/ipgroups будет выглядеть так:

192.168.1.100 = filter1

Параметр filter1 указывает на группу фильтров, так мы можем устанавливать специфические настройки для всех пользователей, подключающихся посредством Captive Portal. При необходимости так же легко в DansGuardian подставляется и логин пользователя, для реализации индивидуальных правил. Не забываем разрешить фильтр IP в dansguardian.conf:

$ sudo nano /etc/dansguardian/dansguardian.conf authplugin = "/etc/dansguardian/authplugins/ip.conf"

Так как используемые системные команды может выполнять только root, немного подправим sudoers, чтобы их мог запускать и веб-сервер:

$ sudo nano /etc/sudoers ... www-data ALL=(root) NOPASSWD: /sbin/iptables-bin www-data ALL=(root) NOPASSWD: /sbin/service www-data ALL=(root) NOPASSWD: /sbin/arping

Вот мы и реализовали простейший Captive Portal. Если хотспот будет работать сутками, следует побеспокоиться, чтобы через некоторое время таблица очищалась. Здесь можно придумать несколько вариантов. Например, параллельно создавать задание для cron, которое будет срабатывать через определенное время, убирая правило. Другой вариант - прописывать данные сессии в отдельный файл, а затем при помощи cron или при каждом вызове PHP-скрипта анализировать время создания файла и удалять устаревшие записи. В Zentyal, например, после регистрации пользователя открывается отдельное окно, а в каталоге /var/lib/zentyal-captiveportal/sessions создается файл, содержащий все данные сессии (IP- и MAC-адрес). Как только пользователь закрывает Popup, вся информация и правила очищаются.


Настройка Captive Portal в FreeBSD

Понимая, как работает пакетный фильтр, и владея навыками разработки на языке, используемом в веб, легко организовать Captive Portal в любой ОС. И *BSD здесь не исключение, причем реализация при помощи IPFW выглядит даже проще. Принцип остается тем же, что и ранее. Все пакеты от неавторизованных пользователей блокируем и перенаправляем на веб-страницу. После того как гость подтверждает информацию, разрешаем выход в Сеть. Для удобства всю информацию об авторизованных IP будем сохранять в базу данных (в примере текстовый файл). Заносим в системный файл вроде /etc/rc.local (а лучше в отдельный, чтобы было легче искать) необходимые переменные:

# Файл с базой разрешенных IP $db = "/tmp/session.db"; # IP-адрес и порт Apache $gateway = "192.168.0.100,8080"; # Подсеть Wi-Fi $wnet = "192.168.1.0/24"; # Проводная LAN $pnet = "192.168.0.0/24"; # Список портов, которые необходимо блокировать и форвардить $fwdports = "80,21,23,25,110,443"; # Группировка правил брандмауэра $setnum = "set 5"; # Начальный номер правил для блокировки и форвардинга, желательно сделать число большим, чтобы не мешать текущим установкам $fwdrulenum = "50000"; # Добавляем правило форвардинга ipfw -q add $fwdrulenum $setnum fwd $gateway tcp from $wnet to any $fwdports # Запрещаем выход с Wi-Fi в LAN (если нужно, конечно) $denyrulenum = $fwdrulenum + 1; ipfw -q add $denyrulenum $setnum deny all from $wnet to $pnet

В веб-страницу добавляем следующий код. В примере пользователь в чекбоксе просто подтверждает некие условия, результат отправляется Perl-скрипту access.pl.

Мастер настройки Antamedia HotSpot index.html

Здесь Perl выбран исключительно для разнообразия, при желании можно переработать PHP-код, показанный выше. Сам скрипт:

Access.pl #!/usr/bin/perl require 5.004; use Fcntl qw(:DEFAULT); # Для доступа к файлу используем модуль (perldoc.perl.org/NDBM_File.html) use NDBM_File; # Получаем IP пользователя $USERIP = $ENV{REMOTE_ADDR}; # Файл базы данных $db = "/tmp/session.db"; # Заносим данные IP в файл и добавляем разрешающее правило tie %hash, "NDBM_File", $db, O_RDWR|O_CREAT, 0644; $hash{userip} = $USERIP; $rulenum--; system("ipfw -q add $rulenum $setnum allow all from $ip to any"); untie %hash; print "Доступ разрешен\n";

При желании дополняем скрипт проверкой МАС-адреса и перестройкой правил прокси-сервера. Вызвав функцию time(), мы также можем сохранить время соединения (в секундах), которое затем использовать для сброса старых соединений.

Access.pl $TSTAMP = time(); # Добавляем в вызов tie ... $hash{time} = $TSTAMP; $hash{userip} = $USERIP; ... # Проверяем, что время сессии вышло (примеры легко найти в интернете), и снимаем правило if (время вышло) { system("ipfw -q delete $setnum"); unlink("$db"); exit(0); }

Captive Portal на Windows

Организовать Captive Portal на Windows штатными средствами проблематично из-за особенностей работы брандмауэра (который, кстати, начал контролировать исходящие соединения только с Vista), поэтому в любом случае придется обращаться к сторонним решениям. Выбор здесь не особенно велик - DNS Redirector , FirstSpot , PacketFence , myWIFIzone , работает под WinXP/2k), Wifidog и Antamedia HotSpot . Из них бесплатны PacketFence и Wifidog. Первый требует некоторой подготовки, а используемые во втором компоненты, такие как Apache, PHP, PostgreSQL, удобнее разворачивать на *nix-системе.

Из перечисленных наиболее функционален Antamedia HotSpot, который позволяет организовать свободный и предоплаченный доступ (по трафику, времени или скорости), управлять пропускной способностью, гарантируя нужную скорость разным клиентам, блокировать нежелательные сайты, получать статистику и многое другое. Развертывание Antamedia HotSpot не представляет особой сложности, в режиме простой установки все компоненты (хотспот, интерфейс оператора и база данных) устанавливаются на один компьютер. Разобраться с первоначальными установками помогает визард, интерфейсы настраиваются автоматически, пользователь может также выбрать внешний вид страницы регистрации. Дальнейшее управление производится при помощи понятного интерфейса.

Заключение

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