Настройка шлюза и прокси сервера на базе ClearOS

Мне давно знаком дистрибутив для быстрого и удобного развертывания шлюза с удобной web панелью для управления. Я решил описать установку и настройку clearos в бесплатной редакции community для организации шлюза и прокси сервера. Данный продукт вполне подойдет для малого и среднего офиса со стандартными требованиями к маршрутизатору.

Онлайн-курс по устройству компьютерных сетей

На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.

Введение

Что такое ClearOS? Если кратко, то это программный шлюз на базе операционной системы CentOS для малого и среднего бизнеса, в случае необходимости и для домашнего использования. Все управление происходит через браузер в удобной web панели. Освоить настройку и управление не трудно даже если вы вообще ничего не знаете о linux. Подробнее о системе можно почитать на официальном сайте. Приведу оттуда любопытное видео, мне понравилось.

Теперь расскажу своими словами что это такое и чем оно мне нравится:

  1. Во-первых, clearos действительно легко настраивается. Я не скажу, что прям каждый сможет это сделать, какое-то понимание в работе шлюзов должно быть, но знаний непосредственно линукса может не быть совсем. Через браузер реально все настроить и заставить работать. Функционал достаточный для среднестатистического офиса.
  2. Во-вторых, в clearos все сделано удобно в том плане, что если зайти на сервер по ssh, то увидите обычные конфиги привычного софта - squid, iptables, dnsmasq и другие. Сверху у вас обертка из веб панели, а внутри привычные конфиги. Панель не уродует их, не прячет, не приводит к неудобочитаемому виду. Если вы неплохо разбираетесь в centos, то без проблем сможете настроить в консоли все, что вам нужно. Например, меня не устраивал функционал openvpn, реализованный через стандартное управление. Я просто зашел в консоль и настроил так, как мне нужно. Конечно, я потерял возможность управлять ей через web панель, но тем не менее смог получить необходимый функционал. Это удобно еще и потому, что в панели управления очень мало настроек, большинство остается по-умолчанию и не настраивается. Если вы понимаете что делаете и хотите узнать больше, вы просто смотрите конфиг программы через консоль.
  3. В-третьих, внутри у вас обычная CentOS. Вы с ней можете делать все, что делаете с обычным сервером. Установить новые пакеты, посмотреть другие настройки. Главное не делать то, что мешает работе веб панели управления.
  4. В-четвертых, она легко бэкапится. Я проверял несколько раз. Есть нюансы, о которых нужно знать. Я расскажу об этом ниже. Но в общем и целом, можно без лишних телодвижений забэкапить настройки сервера и восстановить их на другом железе.

Теперь о минусах, с которыми я сам сталкивался. На всякий случай нужно отключать автоматическое обновление. Один раз после обновления перестал работать dnsmasq, который выступал в роли dns и dhcp сервера в локальной сети. Была небольшая ошибка в конфиге, которая возникла после обновления. Для меня не составило никакого труда зайти в консоль сервера, посмотреть логи, понять и исправить ошибку. Но для офиса, где не было системного администратора linux это обернулось серьезными проблемами и перебоями в работе сети. Все, что получало сетевые настройки по dhcp не работало некоторое время.

Вторым минусом, хотя это и не совсем минус, является маленькое количество настроек. Я понимаю, что это сделано для простоты как для самих пользователей, так и создателей дистрибутива. Чем больше возможностей, тем труднее поддерживать и настраивать. Простой пример - авторизация в openvpn сделана по сертификату и паролю. Мне, например, достаточно только авторизации по сертификату, но стандартный функционал не позволяет так сделать. Либо на прокси списки контроля доступа возможны только при авторизации по имени пользователя, по ip сделать не получится, хотя последнее мне кажется удобнее.

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

Установка ClearOS

Прежде чем установить, нам надо скачать clearos. Зайдя на сайт, может показать неочевидным что и где качать. На сегодняшний день существуют 3 редакции clearos:

  1. Community - бесплатная версия с базовым функционалом, платные пакеты для расширения функционала можно покупать отдельно.
  2. Home - для домашнего использования. Стоит 3 доллара в месяц. У нее свои пакеты в магазине для этой редакции.
  3. Business - расширенная версия со своим магазином и пакетами. Стоит 9 долларов в месяц.

Нас интересует установка clearos в редакции Community. Скачать ее можно по ссылке, выбрав соответствующую редакцию. Про саму установку рассказывать нечего, так как используется стандартный установщик centos. Там все идентично стандартной установке centos. Обязательно настройте сетевое подключение во время установки clearos. Без него невозможна дальнейшая настройка.

Качайте, устанавливайте и начинайте настройку.

Начальная настройка шлюза

После установки, первый запуск нас встречает информационной страницей:

Начало настройки ClearOS

Здесь же сделаем первоначальную настройку сетевых интерфейсов. Жмем на ссылку Network Console. Заходим под учеткой root и настраиваем сеть.

Настройка сети

eth0 192.168.1.101 В моем случае это внешний интерфейс, по которому я получаю интернет
eth1 10.0.0.1 Внутренний интерфейс, который будет подключен к локальной сети

Для продолжения настройки clearos необходимо в браузере открыть страницу по ip, указанному в установке. В моем случае это https://192.168.1.101:81. При входе браузер предупредит о недоверенном сертификате. Так и должно быть, все равно переходите на страницу. Вас встречает окно логина в систему.

Логин в систему

Вводите указанную при установке учетную запись root. Язык рекомендую везде использовать английский. Во-первых, перевод на русский не очень понятный, во-вторых, все инструкции на английском языке. В рунете нет документации по clearos. Основной источник информации - база знаний и форум на официальном сайте.

Я не буду приводить описание всех шагов настройщика. Остановлюсь только на ключевых. Вам зададут вопрос про Network Mode. Мы настраиваем шлюз, поэтому выбираем Gateway Mode.

Модель работы ClearOS

Сеть уже настроили. Если ничего менять не надо, то двигаетесь дальше. Потом указываем dns сервер либо вручную, либо, если настройки по dhcp получали, то он уже будет прописан. Дальше выбираете редакцию, в нашем случае Community. Затем надо зарегистрировать установку. Вам нужна учетная запись на сайте clearos. Идите и зарегистрируйтесь. Данные от этого аккаунта нужно будет ввести в регистрации установки.

Регистрация системы

На следующем этапе устанавливаются обновления. Это не так быстро, придется подождать минут 5-10, пока все установится. Хотя не факт, зависит от скачанного дистрибутива. Дальше указываем имя домена и сервера. Можете писать все, что угодно. Если сервер будет смотреть в интернет и есть доменное имя, можно реальное указать. Если не хочется, то придумайте что-то вроде gate.local.

Имя сервера

Потом идет установка времени и самое интересное - выбор дополнительных пакетов. Пока ничего не выбирайте. Будем ставить все необходимое по мере настройки функционала, поэтому выбирайте Skip Wizard.

На этом все, начальная настройка clearos завершена. Можете настроить dashboard так, как вам нравится. Выбирать особо не из чего, поставьте те виджеты, что есть в наличии. Давайте сразу включим DHCP сервер. Идем в раздел Network -> Infrastructure -> DHCP Server и включаем его на локальном интерфейсе:

Настройка DHCP

Настройки можно оставить по-умолчанию, только выбрать диапазон ip, из которого будут выдаваться адреса. Я выбрал 100-254.

Параметры DHCP

В таком виде уже можно подключать устройства в сеть. Они будут получать ip адреса и иметь доступ в интернет.

Настройка firewall

Продолжим настройку clearos настройкой firewall. Изначально у нас уже есть возможность настраивать блокировку входящих соединений сервера. Но этого мало. Нам понадобится как минимум проброс портов и создание более сложных правил блокировки. Для этого нам необходимо установить несколько дополнительных пакетов из Marketplace. Идем туда и выбираем:

  • Custom Firewall для создания любых правил iptables.
  • Port Forwarding для проброса портов.

После установки в разделе firewall есть 3 пункта:

  • Custom Firewall
  • Incoming Firewall
  • Port Forwarding

Настройка Firewall в ClearOS

По-умолчанию у нас есть одно входящее правило во фаерволе, которое разрешает подключение к web панели управления по 81 порту. Но, допустим, вам надо ограничить доступ по этому порту и разрешить только с определенных адресов. Стандартный функционал раздела Incoming Firewall не позволяет это сделать. Нам необходимо написать полное правило для iptables и поместить его в Custom Firewall. Подробнее о написание правил для фаервола рассказано в отдельной статье, посвещенной настройке iptables. Я здесь не буду останавливаться на написании правил. Это отдельная тема. Приведу только пару примеров.

Но сразу хочу предупредить. С правилом доступа к серверу экспериментировать не советую. Сам я с первой попытки отключил себе доступ к серверу по 81-му порту. И вот я сижу, сервер передо мной, но я не могу ничего сделать. Через браузер зайти не могу в панель управления. Через консоль сервера никаких вариантов нет, перезагрузка не помогает, ssh по-умолчанию выключен. Для админа, который не разбирается в линуксе это тупик, ничего не сделать, надо переустанавливать сервер.

Я конечно же решил проблему. Открыл на сервере вторую консоль через Alt+F2, зашел root'ом в систему. Посмотрел какие сейчас действуют правила iptables.

# iptables -L -v -n

Сбросил их.

# iptables -F

И сделал фаервол открытым.

# iptables -P INPUT ACCEPT
# iptables -P OUTPUT ACCEPT

После этого снова подключился к серверу через браузер.

Сразу уточню, что по-молчанию в firewall заблокировано все, что не разрешено явно. То, что в разделе Incoming Firewall указано как открытый входящий порт 81, на сервере выглядит немного не так. Открыт не только входящий порт, но и исходящий. Я же в ручном правиле открыл только входящий порт, не указав исходящий. В итоге доступ к серверу потерял. Не повторяйте моих ошибок. С фаерволом работайте очень аккуратно и без особой надобности не трогайте правило, которое разрешает подключение к серверу по 81-му порту.

Вот и примеры. Разрешаем доступ к ssh только с адреса 192.168.1.112.

iptables -A INPUT -s 192.168.1.112 -d 192.168.1.101/32 -p tcp -m tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -s 192.168.1.101/32 -d 192.168.1.101/32 -o eth0 -p tcp -m tcp --sport 22 -j ACCEPT

Добавляете эти правила в Custom Firewall и сможете подключаться по ssh, предварительно запустив сервис в разделе Network -> Infrastructure -> SSH Server.

SSH доступ

Вот другой пример. Вам надо какому-то ip адресу полностью запретить доступ в интернет. Делаете правило в Custom Firewall для ip 10.0.0.15.

iptables -I FORWARD 1 -s 10.0.0.15 -j DROP

Щелкнут мышкой по правилу, вы можете увидеть его целиком.

Настройка Custom Firewall в ClearOS

Добавлять можете какие угодно правила. Синтаксис идентичен обычному синтаксису для iptables.

Теперь настроим проброс порта. Это сделать очень просто. Допустим, у нас есть web сервер по адресу 10.0.0.5. Нам надо настроить forward 80-го порта. Идем в раздел Network -> Firewall -> Port Forwarding и создаем новое правило, выбрав Add by: Port.

Проброс портов

И сохраняете. Больше вам ничего делать не надо. Все необходимые правила будут созданы автоматически. Можно посмотреть на сервере по ssh,что это за правила:

Правила iptables

Правила iptables

С настройкой firewall в clearos закончили. Обозначил основные функции.

Настройка proxy сервера

Теперь рассмотрим настройку proxy сервера на clearos. Идем в Marketplace и ставим пакеты Web Proxy Server, Content Filter Engine и Filter and Proxy Report. Первый это прокси сервер squid, второй - контент фильтр dansguardian. Прокси сервер может работать в одном из трех режимов:

  1. Transparent Mode + No User Authentication. В этом режиме все http запросы из локальной сети автоматически перенаправляются на порт 3128 прокси сервера с помощью правила на фаерволе. При данной настройке на компьютерах пользователей не нужно делать никаких настроек. Выход в интернет для пользователей полностью прозрачен. Существенный минус такого режима - невозможно проксировать https соединения. А их сейчас все больше и больше. Вы ни статистику по ним не сможете увидеть, ни заблокировать. С учетом того, что сейчас все популярные сайты перешли на https, данный режим работы прокси бесполезен.
  2. Non-Transparent + No User Authentication. В данном режиме в браузере пользователя необходимо в обязательном порядке установить адрес прокси сервера, иначе доступ в интернет будет закрыт. Пользователи авторизуются прозрачно, доступ в интернет у всех один и тот же. Возможно блокировать доступ как к обычным, так и https сайтам. Минус этого режима в том, что нет возможности настроить разный доступ разным группам пользователей. Можно либо всем все закрыть, либо всем открыть.
  3. Non-Transparent + User Authentication. В этом режиме больше всего настроек. Выход в интернет осуществляется с авторизацией по имени пользователя. Можно настраивать списки доступа для различных групп пользователей. Как и в предыдущем режиме необходима настройка прокси сервера в свойствах браузера. Главным минусом этого режима - после запуска браузера необходимо вручную ввести имя пользователя и пароль для доступа в интернет.

С такими вводными лично для меня является приемлемым только второй вариант работы прокси, на нем я и остановлюсь. Без фильтрации https трафика смысла в прокси нет вообще, а вводить вручную каждый раз пароль логин и пароль, я считаю издевательством над пользователями.

Идем в раздел Gateway -> Content Filter and Proxy -> Web Proxy Server, выбираем режим работы Non-Transparent + No User Authentication. После сохранения страница настроек выглядит следующим образом.

Запуск Proxy Server

Для запуска Proxy не забудьте нажать Start. После этого прокси сервер будет запущен с заданными параметрами. В данном случае доступ в интернет будет как без прокси, так и с прокси. Если у пользователя в браузере указан адрес прокси сервера, то он будет выходить через прокси, будет логироваться вся его активность в интернете. Если прокси не указан, то доступ в интернет будет прямой. Может кому-то понадобится именно такой режим, можно на этом остановиться. Если мы хотим блокировать доступ к определенным сайтам, то продолжаем настройку.

Блокировка сайтов в ClearOS

Перейдем к запретам. Открываем Gateway -> Content Filter and Proxy -> Content Filter Engine. Нажимаем Configure Policy для добавления блокировки сайтов.

Настройка запрета сайтов

Открываем на редактирование список Banned Sites и добавляем туда адрес сайта. В моем примере это будет популярная социальная сеть vk.com.

Блокировка сайта

Сохраняем настройки и запускаем модуль.

Запуск модуля фильтрации сайтов

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

Предупреждение

Добавляем, как указано, адрес proxy server в браузер.

Настройки proxy в браузере

Теперь интернет заработал, а на заблокированный сайт зайти не получится. Браузер будет сообщать, что невозможно открыть страницу. По идее, пользователя должно перенаправлять на страницу с сообщением о том, что сайт заблокирован. Но этого функционала нет, либо я не понял, как его настроить. Сайт просто блокируется без перенаправления и какой-либо информации. Просто недоступен и все. Факт блокировки доступа отражается в лог файле модуля dansguardian/access.log. Посмотреть его можно в разделе Reports -> Log Viewer, выбрав соответствующий лог и сделав поиск по слову DENIED.

Логи proxy

Посмотреть отчеты по какому адресу кто куда ходил можно в разделе Reports -> Filter and Proxy Report, конкретно отчет Top IPs. Там будет список всех IP адресов, которые выходили в интернет с помощью proxy. При нажатии на IP, открывается подробная статистика по нему. Ответ вообще не информативен. Сортировка по размеру выглядит странно, смотрите сами.

Отчет по ip

Понять из этого отчета, куда пользователь ходил чаще у меня не очень получается. Все как-то криво и не наглядно. К слову, в предыдущих версиях clearos интерфейс был более удобный. Все было мельче и более наглядно, так как умещалось больше информации. Ну а тут что есть, то есть.

Настроек в модуле фильтрации достаточно много, можно самому посмотреть, почитать в документации. Долго все расписывать. В раздел Exception IPs можно добавить ip адреса сайтов, на которые всегда будет доступ, в Banned IPs наоборот, заносятся адреса, на которые доступ нужно запретить. Если вы будете использовать авторизацию по имени пользователя, то в настройках модуля можно создать различные политики для разных групп пользователей. Кому-то все разрешить, кому-то частично. Я тестировал этот функционал, он работает. Нужно только настроить модуль Directory Server в разделе System -> Account Manager и в нем создать пользователей с группами. Но мне показалось неудобным вводить логин с паролем для выхода в интернет, поэтому я не стал акцентировать внимание на этом режиме.

Настройка vpn на базе openvpn

Настроим еще одну важную функцию - vpn сервер. Тут мне в целом все понравилось. Не так много решений, где можно без проблем, удобно и быстро создавать сертификаты для пользователей openvpn и сразу же из web интерфейса забирать их с файлом конфигурации. Идем в Markeplace и ставим пакет OpenVPN. Открываем раздел Network -> VPN -> OpenVPN и начинаем настраивать.

Первым делом нам предложат сконфигурировать сертификаты для сервера. Сделаем это.

Генерация сертификатов

В поля для ввода можно писать все, что угодно. Принципиального значения это не имеет.

Параметры сертификата

После создания сертификатов снова возвращаемся в раздел OpenVPN и разрешаем создать в фаерволе необходимые правила.

Настройка openvpn в ClearOS

В общем-то все, теперь справа жмем Start и запускаем модуль. Нам нужно создать пользователя для доступа по vpn. Идем в раздел System -> Account Manager и жмем Install and initialize Built-in Directory.

Установка openldap

Ждем окончания процесса, потом идем в раздел Accounts и создаем там пользователя.

Создание аккаунта для vpn

Выходим из панели управления под пользователем root и логинимся под только что созданным пользователем. После входа нам нужно будет еще раз подтвердить пароль. Делаем это.

Смена пароля

В правом верхнем углу нажимайте на имя пользователя и выбирайте User Certificates.

Создание сертификата для openvpn

Вводите пароль и создавайте сертификат. Теперь его надо скачать. Вам нужны 3 файла:

  • Certificate
  • Certificate Authority
  • Private Key

Ниже выбирайте тип системы, для которой хотите скачать конфигурационный файл openvpn и скачивайте его. Я буду показывать на примере Windows. В конфигурационном файле сразу же отредактируйте параметр remote. Если у вас там не указан реально существующий домен, то его необходимо заменить на внешний ip адрес сервера clearos. В моем случае строка выглядела так:

remote gate.local 1194

Я заменил на

remote 192.168.1.101 1194

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

Конфигурационный файл вместе с сертификатами копируйте в папку C:\Program Files\OpenVPN\config, запускайте openvpn и пробуйте подключиться. Вы должны подключиться к серверу и увидеть все компьютеры в локальной сети за шлюзом. Во время подключения вам нужно будет ввести логин и пароль созданного пользователя vpn.

Подключение по vpn к ClearOS

Если не подключается, то в первую очередь проверьте, запущен ли модуль openvpn, затем создано ли правило на фаерволе, разрешающее входящие подключения по порту 1194.

Каждому клиенту будет назначаться один и тот же ip адрес в туннеле. По-умолчанию, туннель образует подсеть 10.8.0.0/24. Конфиг сервера можно подсмотреть в консоли в файле /etc/openvpn/clients.conf. Менять его через консоль не рекомендую, он будет снова изменен при перезапуске сервиса. Полезно просто узнать остальные настройки. Через веб панель их не видно.

В общем и целом все нормально работает. OpenVPN завелся без плясок с бубном, что, считаю, неплохо. Функционал достаточный, пользоваться удобно.

Backup настроек

Расскажу про backup настроек clearos, так как есть некоторый опыт. Существуют 2 пакета для бэкапа:

  1. Configuration Backup and Restore. По-умолчанию уже установлен в системе.
  2. Baremetal Backup and Restore. Ставится отдельно из магазина.

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

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

На ум приходит следующий вариант. Вы ставите сервер и сохраняете образ диска, с которого его ставили. Когда надо восстановить настройки, вы ставите сервер из старого образа и думаете, что все будет нормально. Но опять засада. Во время установки сервер скачивает последние обновления. Этот процесс нельзя ни отменить, ни пропустить!!! Такая вот загвоздка. Выход только один - держать постоянно актуальную версию системы. Но как я уже говорил, иногда могут возникнуть проблемы после обновления. Хотя у меня они реально были только один раз. Незначительная ошибка, которую я быстро исправил. Но тем не менее. Имейте ввиду такую особенность и решите, как вам лучше бэкапить сервер. Если это будет виртуальная машина, то бэкапить лучше на уровне виртуалки. Как установить шлюз на виртуальную машину, я рассказывал на примере настройки proxmox.

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

Дополнительные возможности

Упомяну еще несколько полезный бесплатных модулей, которые я сам проверил и мне они показались полезными:

  1. Bandwidth and QoS Manager. В работе я его не проверял, но поставил и посмотрел настройки. Ничего сложного нету, думаю он будет работать. Позволяет настроить приоритизацию трафика и ширину канала по ip адресам.
  2. Network Map. Регулярно сканирует сеть и обнаруживает устройства. Позволяет вручную описать устройство на основе его MAC.
  3. Network Report и Network Visualizer. Строят отчеты и отображают текущую сетевую загрузку по интерфейсам. Не сильно информативно, но лучше, чем ничего.
  4. NTP Server. Сервер времени, по которому другие компьютеры в сети могут синхронизировать время. Полезно, когда вся сеть имеет одно и то же время.
  5. Services. Отображает список сервисов на сервере. Позволяет добавлять или исключать их из автозагрузки.

Я устанавливал и проверял работу почтового сервера. У меня все получилось настроить через веб панель. Каких-то проблем не возникло. Установил пакет, добавил пользователей, настроил подключение клиентом по imap. Не понравилось то, что нет бесплатного пакета с web интерфейсом. Roundcube стоит 25 долларов. В принципе, немного, если вам действительно нужен почтовый сервер с веб интерфейсом. Но лично я считаю, что почтовый сервер должен быть отдельной ролью с очень гибкими настройками. Это мое мнение, я просто умею настраивать почтовые сервера. Если у вас такого навыка нет, вам возможно подойдет почтовый сервер на clearos. Настроить его не трудно.

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

Заключение

Я рассмотрел только основные возможности ClearOS, но даже это получилось очень объемным материалом. В целом, система дружелюбная, разобраться можно просто пробуя настройки и проверяя изменения. Я рекомендую эту систему тем, кто непременно хочет программный шлюз, но при этом не очень разбирается в настройках. Какое-то понимание, конечно, необходимо, но тут даже методом тыка можно что-то получить. Настроек очень мало, основная их часть от пользователя скрыта. В этом вижу основное преимущество данной сборки.

У меня есть опыт нескольких лет использования ClearOS. Ставил не я, досталось в наследство, так и познакомился. Система работает и свои функции выполняет. Что-то я в консоли сам донастраивал, когда было нужно. Например, соединил две ClearOS с помощью OpenVPN по схеме сервер - сервер. Не клиент - серверная модель, как описано тут, а просто два сервера. Можно ставить дополнительные пакеты по необходимости. Тот же MC поставить не проблема, подойдет стандартная команда centos - yum install mc.

Система интересная и вполне надежная, можно пользоваться.

Углубленный онлайн-курс по MikroTik.

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном онлайн-курcе по администрированию MikroTik. Автор курcа – сертифицированный тренер MikroTik Дмитрий Скоромнов. Более 40 лабораторных работ по которым дается обратная связь. В три раза больше информации, чем в MTCNA.

Помогла статья? Подписывайся на telegram канал автора

Анонсы всех статей, плюс много другой полезной и интересной информации, которая не попадает на сайт.

Автор Zerox

Владимир, системный администратор, автор сайта. Люблю настраивать сервера, изучать что-то новое, делиться знаниями, писать интересные и полезные статьи. Открыт к диалогу и сотрудничеству. Если вам интересно узнать обо мне побольше, то можете послушать интервью. Запись на моем канале - https://t.me/srv_admin/425 или на сайте в контактах.

64 комментария

  1. Николай

    Хорошая статья, только надо указывать, какую версию описываете.
    А то 6.x внешне хоть и похожа, но уже не все работает как надо

  2. Алексей

    Добрый вечер!

    Не подскажете как сделать чтоб по ssh можно было подключаться не только под root?

    Сейчас при подключении под обычным пользователем выдает ошибку - This account is currently not available

  3. Алексей

    Неподскажете почему в clearos не срабатывает правило iptables -A OUTPUT -m state —state NEW -m tcp -p tcp —dport 23 -j DROP

  4. Аноним

    Web Proxy Server Сlearos умеет проксировать websocket?

  5. Алексей

    Добрый день!

    Все настроил и работает, единственное как сделать, чтоб можно было обращаться к компьютеру по имени, а не только по ip?

    • Нужно DNS запись сделать с соответствием имени и ip адреса. Либо, если не хочется разбираться с настройкой dns сервера, можно в файле hosts на конкретных компьютерах добавить эту запись.

  6. Михаил

    Добрый день!
    Возникла необходимость не только ограничить доступ к сайтам, но и полностью закрыть прямой доступ к внешнему интернету всем пользователям кроме выделенных мак адресов.
    К сожалению не нашёл такой функции в 7 версии.
    Можете подсказать какой либо вариант?

  7. Добрый день, решил переустановить ClearOS и при настройке в самом начале дошел до обновления и все ни как дальше выдает ошибку "Details Exception: global name 'wc_repos' is not defined" перевод понятен, что делать не понятно. Потому как далее не двигается и сделать ни чего не дает. Как это побороть не знаю Может вы сталкивались с такой проблемой. Заранее спасибо

  8. Добрый день. Не подскажите с чем может быть связанна проблема невозможности подключения веб браузером к установленной ClearOS. Выдает- "Bad Request Your browser sent a request that this server could not understand. Reason: You're speaking plain HTTP to an SSL-enabled server port...." Что написано понимаю, но где посмотреть настройки не могу понять. Есть стоечный сервер на нем развернут гипервизор VMware 5.5. Создал виртуальную машину с 2 сетевыми интерфейсами. Установка проходит нормально, настройки сетевых карт установлены. Все пингуется но зайти браузером не могу

  9. Добрый день. Не подскажите, есть возможность смотреть статистику подключений пользователей за неделю-месяц если настроено (как в инструкции) Gateway -> Content Filter and Proxy -> Web Proxy ServerNon-Transparent + No User Authentication? Я не нашел почему то, или просто пока первый день, как запустил шлюз в работу. Хотелось узнать если такая функция, если нет то мне придется искать другой способ настройки шлюза.

    • Я вроде не видел такой возможности, но могу ошибаться. Давно не работал с clearos.

  10. Доброго времени суток!
    Настроил по вашей инструкции, но openvpn клиент не подключается.
    Правила созданы в Incoming Firewall есть два правила для 1194 порта.
    Сертификаты от Let's Encrypt установлены.
    Сам OpenVPN включен.
    Поставил iftop, запросы на интерфейс шлюза, от клиента идут, видно.
    Но подключения не происходит. Не подскажете, что еще можно проверить, чтобы понять, почему не работает и как это можно исправить.

    • Так-же попробовал удалить и вновь поставить OpenVPN - не помогло. так же попробовал в опенвпн клиенте ввести заведомо неверный пароль, для пользователя сертификата, никакой реакции. Хотя запросы с клиентского на ип-адрес сервера исправно идут.

    • Служба openvpn на сервере запущена? Она слушает указанный порт 1194?

  11. Аноним

    Статья-кастрат.
    Не указана ни версия ClearOS, ни системные требования.

    • Напиши свою, я поучусь у тебя, как делать лучше. Заодно свою переделаю. Всем польза.

  12. Доброго времени суток!
    можете подсказать как указать диапазон IP адресов в
    WEB Access Control -
    когда указываю к примеру 192.168.1.10 - 192.168.1.255
    то не работает - ругается.

  13. Михаил

    Добрый день! можно пожалуйста статью по настройке связи сервер-сервер на базе clearOS и не могу найти - есть ли возможность организации proxy сервера с авторизацией со стороннего сервера ldap. заранее спасибо

  14. Виталий

    Немного сделать чтобы пользователи из VLAN1 видели пользователей из VLAN2?

  15. Виталий

    Как заставить VLAN1 видеть VLAN2?

  16. Александр

    Как настроить маршрутизация между VLANами?
    3 дня уже ищу.

  17. Александр

    При установке, еще в начале. Появляется черный экран с курсором и все. Курсор двигается, дальше ничего не происходит

  18. Александр

    Добрый день !
    Подскажите пожалуйста, как настроить PPPoE....
    плиз для чайников

  19. Здравствуйте. Помогите пожалуйста, как прописать в rules правило "запретить интернет пользователю, но оставить один сайт", заранее благодарен!

  20. Эдуард

    У меня вот такая ошибка - Не удалось установить соединение: Failed connect to cos7-ws1.clearsdn.com:443; No route to host

  21. Владимир

    блокировка по https не работает
    ОС настраивал как Non-Transparent + No User Authentication

  22. Доброго дня! Очень интересный и полезный статья, за это большое спасибо. Но вот у меня возник вопрос, где Вы выбирайте для Proxy Server один из режимов
    Non-Transparent + User Authentication. В этом режиме больше всего настроек. Выход в интернет осуществляется с авторизацией по имени пользователя. Можно настраивать списки доступа для различных групп пользователей. Как и в предыдущем режиме необходима настройка прокси сервера в свойствах браузера. Главным минусом этого режима — после запуска браузера необходимо вручную ввести имя пользователя и пароль для доступа в интернет.
    Так вот я про минус, в CentOS7 когда Вы настраивали AD+SQUID+SAMS2, разве там случайно не такая проблема. Я имею ввиду про минусов - после запуска браузера необходимо вручную ввести имя пользователя и пароль для доступа в интернет и каждый раз когда случайно или намеренно закрываешь браузер?

    • Нет, в статье про sams используется ntlm авторизация через учетные записи windows. Там все происходит прозрачно для пользователя, не нужно вводить пароль. В данной статье с clearos используется авторизация basic, которая требует ручного ввода логина с паролем.

  23. Здравствуйте, clearos подойдет для распределения сети и проксирования адресов на серверах vmware? Сейчас этим делом занимается ipfire.

    • Что значит проксировать адреса? Проксируют трафик обычно. По сути clearos то же самое, что и ipfire - программный маршрутизатор.

  24. Есть ли возможность в реальном времени следить за загрузкой канала с разделением по ip?
    Т.е. я хочу видеть что например пк 10.10.0.37 забирает 3мегабита от интернет-канала. А в идеале ещё и видеть протокол (ftp, http/s, torrent и т.д)

    • Как вариант, зайти в консоль сервера и установить туда iftop:
      # yum install iftop
      Потом запустить эту утилиту, она покажет как раз то, что нужно. Я так поступаю. Через web не видел пакетов, которые могли бы реализовать этот функционал. Может среди платных что-то есть.

  25. Андрей

    Скажите, возможно ли установить сабж поверх рабочей системы на Centos 7?

  26. Аноним

    Добрый день.
    Все сделал как написано в вашей статье. Все работает. Интернет есть. OpenVPN тоже работает и подключается. Но есть проблема. Не видно компьютеров из локальной сети офиса. Ping идет с дома только на локальный IP шлюза. На другие IP пинга нет и компьютеров в сети не видно. Тоже самое если из офисной сети пинговать компьютеры из дома. Пинг идет только на роутер. В чем может быть причина? Куда смотреть и что где поправить.
    Заранее благодарен

    • На 90% уверен, что проблема в маршрутах. Я сейчас точно не помню, как в clearos реализованы настройки openvpn, но вроде бы специально не нужно было маршруты указывать, он базовый маршрут своей локальной сети должен передавать клиенту. Возможно на клиенте openvpn по какой-то причине при подключении не прописался маршрут офисной сети. Может прав не хватило, может что-то еще. Рекомендую посмотреть:
      1. Лог подключения на клиенте.
      2. Маршруты в системе после подключения openvpn. В винде с помощью команды route print в консоли. Там должен быть маршрут до офисной сети с адресом шлюза в vpn.

      • Аноним

        спасибо.

        буду проверять и пробовать.

        • Виктор

          Удалось ли решить эту проблему ?
          Столкнулся с такой же.
          При этом, есть странная особенность, если в офисе на ком-пе указать шлюзом именно роутер clearOS, то этот комп пингуется. Как только меняешь шлюз - доступа нет.
          Проверял на 2-х clearOS c openvpn в 1 локалке. Подключение к ком-пу возможно только через тот clearOS, который на данный момент его шлюз.

          Маршруты на клиент передаются.

          • 100% проблемы с маршрутами. Когда вы указываете шлюзом по-умолчанию clearos с openvpn, компьютеру не нужны никакие маршруты, он все шлет на clearos, а он сам все разруливает. А когда у вас шлюз по-умолчанию другой стоит, надо на другом шлюзе указывать, что подсеть vpn обслуживает clearos сервер. Либо на клиенте сделать то же самое, но тогда нужно будет на каждом клиенте это настраивать. Проще все делать на шлюзах.

  27. РУслан

    Кстати. я нашел своеобразный способ заходить на интерфейс с того же компьютера, на котором установлен ClearOS. Установил терминал Xinit, установил с респозитория Firefox, запускаю Xinit и уже в нем запускаю браузер и захожу на веб-интерфейс.. Мудрено, но по другому никак)

    • Тут ничего мудреного нет. Все сделано так как и должно. Установлен графический интерфейс и браузер.

      • Руслан

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

  28. Руслан

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

    • Я тоже долго думал, как это сделать, когда впервые увидел ClearOS :) Это невозможно. Зайти можно только с другого компьютера, где есть браузер. На самом clearos не установлен браузер.

      • Руслан

        Жаль.. В 5.2 такая возможность была... Спасибо Вам большое за статью))
        Но вот опять возникла проблема, не смотря на то, что она довольно бородатая, не могу справиться... Совсем еще новичок в СС, да и в линухе не особо силен(( Поставил СО 6 community, все настроил, все нормально. Изначально задача стояла подключиться к локалке офиса удаленно, т.е. из дома. Собственно поэтому и решил обновить СО с 5.2 на 6. Хоть тресни, не могу настроить openvpn! Перерыл весь инет, пробовал все, разок даже переустанавливать пришлось((. В общем о проблеме поконкретнее: с домашнего ПК пингуются все ПК и принтеры в офисе, так же файловый сервер и прокся (СO), по IP захожу на любую машину или принтер в локальной сети, НО не видно локальную сеть поименно ( в ней есть и доменные и рабочие компы). Из офисной сети видно домашний ПК, так же пингуется, но зайти в него можно тоже только по IP. Не совсем удобно так заходить на компы.. Что делать? Помогите пожалуйста, неделю уж как мучаюсь.

  29. поставил эту ось, настроил, все завелось с 1го раза, у пользователей есть интеренет, все порты вроде заблокированы. Дело дошло до проброса портов на рдп серв по 1с. К инету подключение идет через рррое, что как я понял, лягло на сетевую карточку, которая смотрит в интернет, вторая 192.168.1. 2 смотрит в внутреннюю сеть. На серве 1с шлюз по умолчанию с адресом clearos и есть интернет, комппы с локалки нормально подключаются по рдп.
    Настройки правила port forvarding:( удаленные пользователи подключаются по порту 4545)
    Nickname пример
    Protocol тср
    From Port 4545
    To Port 3389
    IP Address 192.168.1.11 (адрес сервера 1с внутри сети)
    Ничего не робит, мне кажется, надо ещё как-то открывать сам порт 4545 на шлюзе.

    • Адрес провайдер дает белый? Никаких ограничений не накладывает, порты не блокирует?

      • да белый ип, до этого шлюз работал на винде и с удаленкой проблем не было. Айпишник сервера слеар с удаленной машины пингуется, но сам порт 4545 закрыт.
        Пробовал запустить впн(вообще его и хочу поставить - времени не хватило сегодня, сам рдп на прямую очень рисковый - нас уже взламывали), сама установка вышла с раза 5го - почему-то дистрибутив на половине закачки впн пакета, не мог найти какой-то репозиторий(хотя сам интернет просто летает - не могу не нарадоваться). Создал сертификаты сервера по вашему гайду, настроил 1го пользователя(тут вопрос - пользователя простого же надо, не админа?), дошел до момента сертификатов пользователя и не увидел там в загрузках самого конфигурационного файла ни ovpn, ни conf, одни сертификаты и вроде ключь. Может не досмотрел, завтра продолжу долбиться)

        • Короче видимо из-за нервишек и недостатка времени, конфиг впн я не увидел вчера, подключить его вышло именно по ip сервера, по имени? что придумал сам clearos не вышло. Рдп тоже завелся с одной проброской порта через веб интерфейс, правила на udp для 4545 само создалось автоматом видимо - вся загвоздка была в самом сервере 1с, там с какого-то дива в каспере был запрещен доступ по рdp тср протокола, но не понятно как подключались пользователи самой внутренней сети О_о. Пока правило отключил, буду ковырять дальше - огромное спасибо за статью!!

          • По имени не подключился, потому что надо проверять dns на клиентских компах. Чтобы сервер был доступен по имени, он должен быть корректно указан в днс. Если не хочется с этим заморачиваться, то подключаться надо по ip.

            • в смысле на клиентских машинах, если я подключаю впн из-за интернета и там у клиентов свой шлюз стоит и другая сеть?

  30. Добрый день.
    Мне нужно на машине с одним сетевым интерфейсом весь трафик который поступает по https
    перенаправлять на другой ip.

    Правильно ли я понимаю, что мне нужно использовать проброс портов ?

    Данная конфигурация CentOS справится с такой задачей?

    • Для этого нужно использовать перенаправление трафика, в не проброс портов. Это разные вещи. Я не помню, можно ли его сделать с помощью штатных возможностей clearos, но в любом случае его можно настроить с помощью правила для iptables. Правда мне не совсем понятно, а что за роль сервера с одним сетевым интерфейсом? Зачем тут вообще clearos?

      • Нужна подмена ip, а на сервере есть только один интерфейс.
        clearos - не обязательно, меня привлек веб-интерфейс.
        А какую ОС Вы бы порекомендовали взять для этой задачи?

  31. Сергей

    Подскажите, пожалуйста, как настроить обход прокси (с паролем и аутентификацией) для машин с некоторых ip адресов (или по MAC)? Так сказать, создать исключение.
    Спасибо

    • Список Exeptions IP как раз для исключений.

      • Евгений

        Здравствуйте, а можно поподробнее, вписываю IP адрес, запускаю службу, в настройках браузера убираю прокси, не пускает в мир( Где допускаю ошибку?

      • Здравствуйте! Поставил на предприятии ClearOS community последней на сегодня версии. Сразу удалось настроить wan/lan а вот дальше проблема, от сервера требуется только одна функция блокировать все сайты кроме избранных 4-6 я так понял что это где то в content filter настраивается, но до конца не разобрался. Подскажите пожалуйста поэтапно?! Рассматриваются только бесплатные addon'ы

Добавить комментарий

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

Нажимая кнопку "Отправить комментарий" Я даю согласие на обработку персональных данных.
Используешь Telegram? Подпишись на канал автора →
This is default text for notification bar