RusRoute фаервол 2.5.8
Описание быстрого старта программы здесь
Основные изменения последних версий, связанные с IPv6, которые могут быть не очевидными:
В тех местах GUI конфигуратора, где можно указать только один адрес (например, в «Специальных» настройках правил или в «Мастере-генераторе правил» — «Отображение портов», при необходимости в единственном правиле указать и IPv4, и IPv6 адрес, укажите их через пробел. В зависимости от типа протокола пакета будет браться то или иное значение.
Перенаправление на IP адреса 127.0.0.2 и ::2 перенаправляют соединение на IP адрес источника. Совместно с NAT или специальным NAT таким образом можно «Заворачивать» RDP, SSH, VNC, FTP соединения на компьютер злоумышленника (таких рекомендаций нет в RFC), пытающегося подобрать пароль к этим сервисам, оставив для себя обычный вход с IP из белого списка или с авторизованных IP.
Если нужно использовать конфигурацию с IPv4 NAT и IPv6 без NAT, самое простое — настроить «Режимы NATов по умолчанию» на странице «Настройки», оставив правила, как для обычного NATа.
Для включения вновь обычного (не тестового) режима Windows, Вам, возможно, нужно будет деинсталлировать RusRoute фаервол и все неподписанные сторонние драйверы, выполнить команду
bcdedit.exe -set TESTSIGNING OFF
и перезагрузить ПК.
По состоянию на июнь 2022 года, если не отключать проверку подписей, RusRoute firewall всё ещё может работать со старой версией подписанного драйвера, но в некоторых случаях работа старого драйвера не корректна.
Клиентские Windows 7 не могут получать IPv6 адреса и IPv6 маршрут от ПК с RusRoute firewall с DHCPv6+RA.
RusRoute (маршрутизирующий фаервол, Интернет — шлюз) — идеальное решение для организации выхода в Интернет локальной сети организации, подсчёта и ограничения трафика пользователей, защиты от сетевых атак, с функциями NAT, redirect, shaper, VPN, proxy, мост LAN в VPN, кешированием HTTP, DHCP серверами, временем действия и сплиттерами для правил.
RusRoute состоит из трёх частей: драйвера, перехватывающего Ethernet и IP-пакеты(пакеты протокола Интернет версии 4 и 6) и передающего эти пакеты для обработки службе — модулю фаервола, и GUI приложения пользовательского интерфейса для отображения состояния фаервола, мониторинга соединений и изменения его настроек.
Модуль фаервола — наиболее интеллектуальная часть программного продукта, обеспечивает связь (маршрутизацию) пакетов между сетями с дополнительными функциями, такими, как
- маршрутизацию трафика
- преобразование IP адресов (NAT — Network Address Translation) и номеров портов
- перенаправление
- шейперы
- VPN (виртуальная защищённая сеть)
- прокси
- мост LAN в VPN
- кешированием HTTP
- DHCP/RA серверами
- фильтрацию пакетов сетевых протоколов в соответствии с заданными правилами, временем, с разветвлением исходящих маршрутов (сплиттеры)
- авторизацию, аутентификацию, аккаунтинг и биллинг пользователей (вход в систему RusRoute, предоставление пользователям прав на использование ресурсов сети, ведение статистики использования трафика сети и подсчёт потраченных средств для каждого пользователя).
2. Системные требования.
Программа работает под управлением операционной системы Windows 7/8/8.1/10/11 / Server 2008 R2/2012 R2/2016/2019, 32/64 бит. Минимальные требования к компьютеру — Intel Core2Duo 2 МГц, 2 Гб ОЗУ, сеть 1 x Ethernet 10/100 Мбит/с, подключение к Интернет через этот же или другой ADSL, ETTH или другой Ethernet-совместимый контроллер. Рекомендуемые системные требования: Intel I7-7700K 4.2 ГГц, 8Гб ОЗУ, Gigabit Ethernet для LAN, 100/1000 Mbit/s Ethernet адаптер для Интернет подключения, Windows 10 x64.
Требования к компьютеру возрастают при увеличении числа активных пользователей и увеличении требований к скорости работы сети.
3. Установка программы.
Для установки программы запустите программу установки, прочитайте лицензионное соглашение и следуйте инструкциям программы установки.
Программа установки предлагает заменить файлы новыми, если установка осуществляется поверх существующей версии. После распаковки необходимых для работы файлов запустится программный модуль, который установит необходимый драйвер в операционную систему и службу самого фаервола. VPN адаптер можно не устанавливать, если не планируете настраивать защищённую сеть между двумя и более ПК с RusRoute фаервол.
После перезагрузки следует сгенерировать первоначальные правила фаервола, включить его в Настройках. Если сеть не заблокирована, то первоначальная настройка успешна, следует перейти на вкладку «О программе» и ввести регистрационные данные (имя пользователя, адрес e-mail пользователя, серийный номер программы), после чего в контекстном меню списка, содержащего регистрационную информацию (вызываемом по нажатию правой кнопки мыши) выбрать пункт «Проверить ключ и сгенерировать запрос на активацию».
Если ключ введён правильно, то в списке отобразится сообщение «Ключ верен».
Теперь можно скопировать запрос на активацию в буфер обмена и отправить его по электронной почте на адрес службы поддержки support@rusroute.ru или осуществить запрос на активацию позже.
Для корректной работы фаервола, возможно, потребуются права администратора (это следует учитывать при ручном перезапуске фаервола).
Следует настроить конфигурацию и активировать ключ.
Предустановленная конфигурация фаервола не подходит для конечного применения, RusRoute стартует в отключенно режиме, пропускает все сетевые пакеты через модуль драйвера (фаервол отключен в окне «Настройки»). Настройка конфигурации для конкретного применения заключается в использовании мастера-генератора правил, редактировании списков и правил, добавлении пользователей, изменении схем биллинга, а также других изменений (по желанию), и включении фаервола в окне «Настройки».
Для корректной работы некоторых TCP серверов, запущенных на данном маршрутизаторе, возможно, потребуется отключить или настроить стандартный фаервол Windows.
4. Активация программы.
4.1. Что даёт активация демо-версии программы.
Активация демо-версии программы даёт возможность пользоваться в программой с целью оценки пригодности её в ваших целях не 30, а 60 дней, но активацию в этом случае нужно произвести до истечения 30-и дневного пробного периода.
4.2. Что даёт активация полной версии программы.
Активация полной версии программы реально включает возможность одновременной работы того количества пользователей, для которого приобреталась программа (что определяется также серийным номером, выданным после приобретения программы).
4.3. Активация.
Для активации программы следует сначала отправить запрос на активацию на e-mail support@rusroute.ru. Запрос на активацию генерируется программой RusRoute при проверке ключа во вкладке «О программе». Текст письма с активационным кодом, полученный от службы поддержки, следует скопировать в буфер обмена (clipboard) и вставить через контекстное меню той же вкладки «О программе», затем выбрать пункт меню «Проверить ключ и код активации». В случае успеха, в списке отображается соответствующее сообщение и количество пользователей, доступных в системе.
5. Правила лицензирования.
Лицензия определяется серийным номером и кодом активации. Тип лицензии определяется по количеству пользователей, одновременно работающих в системе. Уникальность пользователя определяется IP адресом, с которого он работает. Поэтому под количеством пользователей подразумеваем количество авторизованных IP адресов в системе. Внимание: если вход в систему осуществлён на компьютере-фаерволе RusRoute с локального адреса 127.0.0.1 или ::1 (через web-интерфейс), то на самом деле одному пользователю соответствует несколько IP адресов (IP адреса всех сетевых плат на компьютере). Это следует учитывать в определении количества пользователей приобретаемой программы. Аналогично, если авторизация пользователя, работающего на компьютере-фаерволе RusRoute настроена автоматическая по адресу фаервола, то при любой активности каждого IP адреса фаервола происходит автоматический вход пользователя в систему с данного адреса, если данный адрес ещё не используется в системе. Обычно количество локальных IP адресов фаервола не велико (не более 3-8).
ЛИЦЕНЗИОННЫЙ ДОГОВОР (СОГЛАШЕНИЕ) ПОЛЬЗОВАТЕЛЯ
Настоящее Лицензионное соглашение (договор) является предложением (публичной офертой) и содержит порядок и все существенные условия использования Вами (далее – «Пользователь») программы для ЭВМ “RusRoute firewall” (далее «Программа»).
В соответствии с настоящим соглашением Автор – физическое лицо, гражданин РФ Моисеенко Андрей Алексеевич (ИНН 500800435910) (далее «Правообладатель») – обладатель исключительных имущественных авторских прав на программу для ЭВМ “RusRoute firewall”, включая Руководство пользователя к ней в печатном и/или электронном виде – обязуется предоставить Пользователю (напрямую либо через третьих лиц) неисключительное право на использование Программы, ограниченное правом инсталляции и запуска Программы в соответствии с установленными настоящим Соглашением (договором) правилами и условиями (простая неисключительная лицензия).
Порядок акцепта оферты (лицензионного соглашения)
Настоящая оферта (лицензионное соглашение/договор) считается акцептованной Пользователем в случае соблюдения одного из двух следующих условий:
1) Выбор Пользователем пункта «Я принимаю условия Лицензионного соглашения» при установке Программы и нажатие на кнопку «Далее» означает безоговорочное согласие Пользователя с условиями настоящего соглашения.
2) Факт оформления заказа, оплаты или получения Пользователем от Правообладателя или уполномоченных третьих лиц неисключительных прав на использование Программы на основании (на условиях) настоящего договора (соглашения) означает безоговорочное согласие Пользователя с условиями настоящего соглашения.
Порядок передачи и стоимость прав
В соответствии с настоящим Лицензионным соглашением Пользователь обязан в срок до 30 (тридцати) календарных дней с момента акцепта оферты получить от Правообладателя (напрямую или от уполномоченных третьих лиц) неисключительные права на использование Программы. Моментом передачи прав Пользователю считается момент подписания Правообладателем (или третьим лицом осуществляющим передачу прав) соответствующего Акта приемки-передачи. За полученные права Пользователь обязан уплатить фиксированное вознаграждение, размер которого определяется условиями соглашения Пользователя со стороной, осуществляющей передачу прав. В случае отказа Пользователя от получения прав (неполучение прав в указанный срок) настоящее Лицензионное соглашение считается не вступившим в силу.
Правила использования Программы
Пользователь имеет право использовать Программу на территории всех стран мира в соответствии с условиями настоящего Лицензионного соглашения (договора) при соблюдении следующих правил:
1. Запрещается производить декомпиляцию и/или модификацию Программы.
2. Запрещается сдавать Программу в аренду, прокат или во временное пользование.
3. Запрещается разделять Программу на составляющие части для использования их на разных компьютерах.
4. Запрещается использовать Программу с целью создания данных или кода вредоносных программ.
5. Запрещается использовать Программу в противоречии с законами Российской Федерации.
Пользователь имеет право
Использовать Программу для ознакомительных целей в течение 30 (тридцати) дней с момента ее первого запуска (инсталляции).
Изготовить копию Программы при условии, что эта копия предназначена только для архивных целей и для замены правомерно приобретенного дистрибутива в случаях, когда оригинал утерян, уничтожен или стал непригоден для использования. Указанная в настоящем пункте копия не может быть использована для иных целей и должна быть уничтожена в случае, если использование программы Пользователем перестанет быть правомерным.
Отказ от гарантий
Правообладатель не гарантирует работоспособность Программы при нарушении условий, описанных в Руководстве пользователя, а также в случае нарушения Пользователем условий настоящего лицензионного соглашения.
Пользователь сам несет риск соответствия Программы его желаниям и потребностям, а также риск соответствия условий и объема предоставляемых прав своим желаниям и потребностям.
Правообладатель и/или его партнеры не несут ответственность за какие-либо убытки или ущерб, не зависимо от причин их возникновения, (включая, но не ограничиваясь этим, особый, случайный или косвенный ущерб, убытки связанные с недополученной прибылью, прерыванием коммерческой или производственной деятельности, утратой деловой информации, небрежностью, или какие-либо иные убытки), возникшие вследствие использования или невозможности использования Программы.
Заключительные положения
Срок действия условий настоящей оферты с 20.06.2020 по 20.06.2025 г.
За нарушение авторских прав на Программу нарушитель несет гражданскую, административную или уголовную ответственность в соответствии с законодательством Российской Федерации.
Сайт программы: http://rusroute.ru
Поддержка пользователей: support@rusroute.ru
Demo key: RR-0001-Demo-6167-520B-434F-822D-F126
© 2007-2022 Моисеенко А.А., All rights reserved.
6. Описание диалоговых окон программы.
6.1. Окно «О программе».
О программе RusRoute фаервол
В этом окне вы видите название продукта, его версию, авторские права, web-сайт программы, регистрационную информацию пользователя (имя, адрес e-mail, серийный номер), режим работы программы, количество активных пользователей и статус проверки серийного номера и кода активации.
С помощью двойного клика мыши или нажатия на F2 можно изменять регистрационную информацию пользователя.
По нажатию на правую кнопку мыши выпадает контекстное меню, в котором по шагам предлагается зарегистрировать программу. Регистрационную информацию нужно ввести сразу после установки программы или позже. В последствии эту информацию можно изменить. Также можно на время отложить действие по отправке запроса на активацию и по вводу активационного кода, например, это можно сделать после того, как после установки будет перезагружен компьютер и настроена минимальная конфигурация программы: списки, пользователи, правила.
6.2. Окно «Настройки».
Настройки RusRoute фаервол
В этом окне вы видите глобальные настройки программы, такие, как приоритет процесса, TCP оптимизация на уровне ядра, алгоритм TCP предотвращения заторов, используемый по умолчанию, настройки Anti-SYN flood’а, опции шейперов, блокировки сканирования TCP портов, и специфические настройки VPN клиента. Также здесь вы можете узнать количество используемой памяти процесса программы RusRoute.
Включение TCP оптимизации на уровне ядра позволяет существенно уменьшить использование процессора программой за счёт того, что часть обработки пакетов установленных TCP соединений выносится в таком случае из пользовательского режима в режим ядра операционной системы.
Использование строгих лимитов TCP шейперов позволяет ввести строгие ограничения скорости, в отличии от нестрогого режима, когда RusRoute пытается использовать для подшейперов всю заданную полосу корневых шейперов.
6.3. Группа окон «Информация о сети».
6.3.1. Сетевые адаптеры.
NetworkAdapters
Здесь вы видите список сетевых адаптеров операционной системы, как присутствующих, так и неактивных и удалённых, с их характеристиками. К сетевым адаптерам относятся также записи телефонной книги.
Характеристики адаптеров — это такие параметры, как имя (пользовательское, из свойств сетевого окружения), Mac адрес, IP адрес, маска подсети, тип/статус, действительное имя, Mac адрес другой стороны (для соединений типа WAN), IP адрес сервера (для соединений типа WAN). WAN6 соединения ещё не поддерживаюся в версии 2.5.4.
В случае, если серийный ключ неверен или просрочен, или драйвер не установлен корректно, имя адаптера определяется с ошибкой, что не даёт возможности работать с ним в таком случае.
Список адаптеров можно обновить, например, если вы переименовали один из адаптеров.
6.3.2. Таблица маршрутизации.
RoutingTable
Стандартная для операционной системы таблица маршрутизации. Представлена в виде списка со следующими полями: IP адрес, маска, шлюз, интерфейс (имя адаптера, для локальной петли — «null nic»), метрика. Отображаются и IPv4, и IPv6 таблицы маршрутизации.
Эту информацию также, как и в предыдущем окне, можно обновить вручную, нажав кнопку «Обновить». Обычно это не нужно, т.к. операционные системы, начиная с Windows XP рассылают программам уведомления об изменении таблицы маршрутизации.
6.3.3. Таблица Arp.
Arp/ND Table
В данном окне отображается таблица Arp (Address resolution protocol для IPv4) или, ещё она называется таблица MAC адресов, и ND (Neighbor Discovery для IPv6). В ней видны динамические и статические записи, сопоставляющие IP адресам MAC адреса сетевых карт. RusRoute ведёт свою собственную таблицу Arp/ND, совмещая её с таблицей Arp/ND Windows. Соответственно, в последних двух колонках списка в данном окне вы видите, находится запись в таблице RusRoute и/или Windows.
Для защиты от сетевых атак подмены IP адресов внутри локальной сети, можно добавить статические записи arp в таблицу. Это легко сделать, создав *.bat — файл с указанием строк вида
arp -s …… и указанием запуска данного файла при загрузке Windows. Содержимое строк bat-файла можно скопировать в буфер обмена из данного окна путём нажатия правой кнопки мыши на соответствующей записи и выбора соответствующего пункта меню.
Более подробную информацио о команде arp смотрите в документации Windows и с помощью вызова команды arp /? из командной строки.
6.4. Группа окон «Списки».
Здесь представлены списки, использующиеся для задания правил работы фаервола. Каждый список можно сортировать по некоторым полям, нажав на кнопке заголовка списка.
6.4.1. Списки адаптеров.
AdaptersLists
Здесь можно создавать и изменять списки адаптеров. Для этого используется правая кнопка мыши на существующих элементах и выпадающее контекстное меню.
6.4.2. Списки IP адресов.
IpAddressesLists IpAddressesListElement
Здесь можно создавать и изменять списки IP адресов. Для этого используется правая кнопка мыши на существующих элементах и выпадающее контекстное меню и диалог указания типа и значения элемента. Элементы каждого списка могут быть следующих типов:
- «IP фаервола» — любой из IP адресов фаервола,
- «IP адрес» — адрес, указанный вручную,
- «Подсеть» — подсеть, заданная IP адресом и маской,
- «Диапазон IP адресов» — диапазон IP адресов от начального до конечного (используется арифметическое сравнение),
- «Имя DNS» — доменное имя хоста, например, «maasoft.ru». Файервол работает напрямую с IP адресами, поэтому важно определить по доменному имени IP адрес(а) для работы. Если это не сделать сразу, убрав галочку напротив «Определить сразу», в таком случае определить IP адреса всех доменных имён можно, выбрав соответствующий пункт в контексном меню основного окна.
- «Включить список» — дополняет список другим списком.
- «Широковещательный IP»
- «Файл со саписком IP»
Список сетевых протоколов со следующими критериями: имя, IP протокол, (порт-)источник, (порт-)получатель, двунаправленный (для UDP и PING), фильтр, данные фильтра, широковещательный.
Реализованы фильтры протоколов FTP (оба активный и пассивный режимы), IRC, PING, HTTP, PPTP. Для HTTP можно указать параметры фильтра, такие, как кеширование.
6.4.4. Расписание.
TimeTable
Здесь вы можете задавать списки времени, чтобы в дальнейшем указать их в параметрах правил. Соответствующее правило будет активным при установлении соединения только в указанный промежуток времени, а в другое время правило будет игнорироваться, но уже установленные соединения будут действовать.
6.5. DHCP серверы.
DHCP/RA servers
Здесь можно настроить DHCP серверы на каждом адаптере, чтобы не указывать IP адреса и другие сетевые параметры на каждом компьютере локальной сети.
Можно также указать прямое соответствие между конкретным MAC адресом сетевой карты и IP адресом, который ей назначить.
DHCPv6 сервер не старндартный, не позволяет работать с агентами DHCPv6, т.к. прамое соотвествие MAC <=> IPv6 использует MAC адрес DHCPv6 клиента из пакетов.
6.6. Управление заторами TCP (устарело, не актуально для версии 2.x фаервола RusRoute).
TCPCCServers
В первых версиях Windows 10, в оличии от Windows XP/7, нельзя было отключить bind (связь) между протоколом и драйвером RusRoute для отдельно взятых сетевых карт, что не позволяло настроить управление заторами TCP. Также, конфигурация без замены управления заторами TCP более простая, и современные OC Windows заявляют, что используют хороший алгоритм TCP, поэтому данная настройка мало актуальна, давно не тестировалась, и с VirtualBox/VMWare RusRoute 2.5.4 имеет проблемы несовместимости. Ниже выдержка со старой документации.
Здесь можно настроить внешние TCP серверы с различными алгоритмами управления передачей TCP, такие алгоритмы ещё называются алгоритмами управления и предотвращения заторов (TCP congestion control and avoidance algorithms).
Идея и реализация таковы, что RusRoute может перенаправлять как входящие, так и исходящие TCP соединения на другие адреса. Если запустить виртуальную машину с ОС Linux, например, используя бесплатный программый пакет VirtualBox 3.0.8 http://www.virtualbox.org/ или более мощный бесплатный пакет VMWare Server http://www.vmware.com/ (или установить эту операционную систему на отдельный компьютер, подключенный к данному, аналогичным образом), то перенаправляя TCP пакеты (для входящих соединений) сначала на виртуальную машину Linux, которая устанавливает специфический алгоритм управления передачей и осуществляет простое перенаправление данных этого соедиения на уровне клиент-серверного сетевого приложения обратно на IP адрес RusRoute, сообщая в первых 12 байтах IP адреса и порты источника и получателя (для дальнейшей идентификации), то управлять передачей для входящих соединений, таким образом, становится Linux. Здесь под входящими соединениями понимаются соединения первичного уровня (см. специальные опции правил RusRoute). Для исходящих соединений — аналогично, теперь уже RusRoute устанавливает соединение с сервером Linux, передавая в начале блок параметров — IP адрес и порт, на которые клиентской части Linux устанавливать соединение, которое затем перехватывается и перенаправляется RusRoute’ом на конечный адресат, используя простую подстановку IP адресов и портов. В случае успешного установления соединения сервер Linux возвращает код возврата 0 (4 байта dword), RusRoute извлекает эти данные, и оставшиеся данные передаются прозрачно в обе стороны. В случае ошибки сервер передаёт последовательно 4 байта — код ошибки, 4 байта — длина сообщения об ошибке (в текущей версии должно быть менее 512 байт), затем само сообщение переданной длины, и закрывает соединение, на которое RusRoute отвечает инициатору соединения ответом TCP Reset, приводящее обычно к реакции инициатора «Connection refused», если до этого не было возвращено управление по тайм-ауту. Само сообщение об ошибке передаётся в окно протокола RusRoute для диагностики.
Клиент-серверная прикладная программа cctcp для организации такого сетевого взаимодействия поставляется в виде скомпилированных бинарных файлов для Windows (у неё только один стек по умолчанию) и Linux (32 и 64 битных), размещена в каталоге Data\cctcp каталога установки, не исключена возможность получения исходных текстов (по дополнительному запросу).
Т.е. Вы можете поэкспериментировать с подменой стеков других систем Windows, например, у Windows XP и 2003 Server стек отличается от нового стека Windows Vista, Seven, 2008 Server.
Последнюю версию программы cctcp управления передачей TCP (32 и 64 битные версии) с конфигурационным файлом для xubuntu 9.10 можно скачать по адресу cctcp_static_linux_binaries_32_64.tar.gz. Условия использования — в составе данного программного пакета — в соотвестствии с лицензионным соглашением RusRoute.
Для оптимизации, упрощения использования и возможности взаимодействия RusRoute с Linux минуя драйвер RusRoute, я подключаю виртуальную машину двумя виртуальными сетевыми интерфейсами.
Создать такие сетевые интерфейсы можно, например, в VMWare virtual networks manager как дополнительные host-only адаптеры, также я задаю фиксированные MAC адреса для виртуальных сетевых адаптеров гостевых ОС.
Для одного host-only адаптера я снимаю галочку с драйвера RusRoute в свойствах сетевого адаптера.
Второй адаптер создаётся аналогично, на нём поднимается интерфейс с маршрутизацией по умолчанию на IP RusRoute этого интерфейса.
Дальнейшие улучшения работы можно постараться достичь путём разделения трафика входящих и исходящих соединений на разные виртуальные адаптеры (для устранения лимита скорости предачи 100 Мбит/сек / 2, т.к. оди и те же данные, обычно, принимаются и передаются в обоих направлениях, и максимльная скорость может ограничиваться коэффициентом 1/2).
Для это можно добавить ещё один сетевой интерфейс для прямой передачи (минуя драйвер RusRoute, с аналогичными настройками) и ещё один host-only адаптер. При этом нужно дополнительно настроить маршрутизацию.
Предположим, у нас напрямую связаны адаптеры VMnet1, VMnet2 и VMnet8(не используется), а через RusRoute — VMnet3 и VMnet4, (для локальных тестов можно ещё добавить VMnet5).
Тогда задействуем на VMnet1 адресацию
192.168.21.0/24 :
для RusRoute — 192.168.21.1
для Linux — 192.168.21.2
(обычная сеть)
На VMnet2 — адресацию
192.168.22.0/24 :
для RusRoute — 192.168.22.1
для Linux — 192.168.22.2
(обычная сеть)
На VMnet3 —
192.168.23.0/24 :
для RusRoute — 192.168.23.1
для Linux — 192.168.23.2
и маршруты
1.0.0.0/16 на шлюз 192.168.23.1,
0.0.0.0/0 (default) — на шлюз 192.168.23.1 (не обязятелен, нужен лишь, если требуется виртуальной машине Linux взаимодействовать с Интернетом) через этот адаптер
На VMnet4 —
192.168.24.0/24 :
для RusRoute — 192.168.24.1
для Linux — 192.168.24.2
и маршруты
1.1.0.0/16 на шлюз 192.168.24.1
Конфигурационные файлы для моей инсталляции дистрибутива ASPLinux 14 следующие:
/etc/sysconfig/network-scripts/ifcfg-eth0 :
# Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]
DEVICE=eth0
BOOTPROTO=static
BROADCAST=192.168.21.255
HWADDR=00:50:56:00:21:02
IPADDR=192.168.21.2
NETMASK=255.255.255.0
NETWORK=192.168.21.0
ONBOOT=yes
NM_CONTROLLED=
/etc/sysconfig/network-scripts/ifcfg-eth1 :
# Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]
DEVICE=eth1
BOOTPROTO=static
BROADCAST=192.168.22.255
HWADDR=00:50:56:00:22:02
IPADDR=192.168.22.2
NETMASK=255.255.255.0
NETWORK=192.168.22.0
ONBOOT=yes
NM_CONTROLLED=
/etc/sysconfig/network-scripts/ifcfg-eth2 :
# Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]
DEVICE=eth2
BOOTPROTO=static
BROADCAST=192.168.23.255
HWADDR=00:50:56:00:23:02
IPADDR=192.168.23.2
NETMASK=255.255.255.0
NETWORK=192.168.23.0
ONBOOT=yes
NM_CONTROLLED=
/etc/sysconfig/network-scripts/ifcfg-eth3 :
# Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]
DEVICE=eth3
BOOTPROTO=static
BROADCAST=192.168.24.255
HWADDR=00:50:56:00:24:02
IPADDR=192.168.24.2
NETMASK=255.255.255.0
NETWORK=192.168.24.0
ONBOOT=yes
NM_CONTROLLED=
/etc/sysconfig/network-scripts/ifcfg-eth4 :
# Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]
DEVICE=eth4
BOOTPROTO=static
BROADCAST=192.168.25.255
HWADDR=00:50:56:00:25:02
IPADDR=192.168.25.2
NETMASK=255.255.255.0
NETWORK=192.168.25.0
ONBOOT=yes
NM_CONTROLLED=
/etc/sysconfig/network-scripts/route-eth2 :
1.0.0.0/16 via 192.168.23.1 dev eth2
default via 192.168.23.1 dev eth2
/etc/sysconfig/network-scripts/route-eth3 :
1.1.0.0/16 via 192.168.24.1 dev eth3
ubuntu 9.10 network config file for cctcp server addresses 192.168.2*.2
#
# /etc/network/interfaces config file for ubuntu for RusRoute tcp congestion control support
#
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.21.2
netmask 255.255.255.0
auto eth1
iface eth1 inet static
address 192.168.22.2
netmask 255.255.255.0
auto eth2
iface eth2 inet static
address 192.168.23.2
netmask 255.255.255.0
up ip route add 1.0.0.0/16 via 192.168.23.1
up ip route add 0.0.0.0/0 via 192.168.23.1
auto eth3
iface eth3 inet static
address 192.168.24.2
netmask 255.255.255.0
up ip route add 1.1.0.0/16 via 192.168.24.1
auto eth4
iface eth4 inet static
address 192.168.25.2
netmask 255.255.255.0
/root/cctcp/cclist.xml включен в исходные тексты, шаблон можно создать командой
/root/cctcp/cctcp (запускает скомпилированный файл cctcp.out) :
#!/bin/sh
cd /root/cctcp
/etc/rc.d/init.d/network restart
killall -9 cctcp.out
./cctcp.out -system «`uname -a`» >/dev/null &
#./cctcp.out 10077 -system «`uname -a`» >/dev/null &
в /etc/rc.d/rc.local добавил строчки
setterm -blank 0
/root/cctcp/cctcp
Для возможности использования всех имеющихся модификаций стеков в Linux, нужно запускать
скомпилированную программу (cctcp.out) с правами root. Текущие ядра Linux поддерживают
следующие алгоритмы TCP: «reno», «bic», «cubic», «highspeed», «htcp», «hybla», «illinois», «lp», «scalable», «vegas», «veno», «westwood», «yeah».
Улучшит ли это работу Вашей сети — зависит от разных факторов. Например, у меня длительное время наблюдался странный эффект стабильно низкой (300 КБайт/сек) скорости приёма данных на 2 компьютера с Windows 7 RC (и x64, и i386) с компьютеров с ОС Windows XP внутри локальной сети (т.е. между разными стеками Windows). Первый тест с использованием указанной технологии позволил увеличить скорость в 19 раз до 5700 — 5900 КБайт/сек.
Позже, 26.10.2009 ставил тест — результаты оказались скромнее — 1071 КБ/сек (без RusRoute) и 4143 КБ/сек с использованием стека reno/linux. А ещё позже (30.10.2009) замедления в работе прекратились, но позже снова возобновились. Тесты ставились в изолированной от основной сети свитчем 3Com 100 Мбит/сек full duplex, сетевые карты работали в режиме 100 Мбит/сек half duplex. Между компьютерами с Windows XP замедлений не было. Обновления ОС Windows в эти дни (26-30 октября) не производились, за исключением, быть может, корпоративной версии Symantec Antivirus на компьютерах с Windows XP.
Больше пользы может принести использование альтернативных алгоритмов работы стеков TCP для связи с внешним миром — сетью Интернет или между территориально удалёнными филиалами и зданиями корпоративной сети, или для преобразования старого стека (XP/2003) для протяжённых глобальных сетей.
Обычное использование стеков linux также может увеличить производительность сети в случае использования технологии RusRoute из-за уменьшения нагрузки на обычные сетевые адаптеры с минимальным выделением ресурсов для гостевой OC Linux.
6.7. HTTP кеш.
HTTPcache
Здесь можно настроить HTTP кеши с определёнными именами и размером, чтобы, например, не загружать для каждого компьютера заново одни и те же обновления Windows из Интеренета или содержимое страниц и картинок других серверов. Также в качестве ответа на запросы, удовлетворяющие указанным маскам, можно подменять ответы содержимым своих файлов (рекомендуется указывать заголовок HTTP/1.1 в начале ресурсного файла без полей «Connection: » и «Proxy-Connection: «, в таком заголовке в качестве параметров «Content-Length: «, «Last-Modified: «, «Date: «, «Content-Type: » можно указывать «%» для автоматического определения параметра, использовать макросы «{URL}», «{Base64Url}», «{HTTPDOMAIN}», «{HTTPURLPATH}», «{FirewallIp}» и некоторые другие. Если программа заголовок не найдёт, то она вставит свой заголокок, посчитая, что нужно передать указанный файл полностью как ответ «HTTP/1.1 200 OK») Также можно указать «пропустить», чтобы перейти к сравнению по маске в следующем кеше или «нет» — не кешировать данный запрос.
С кешем можно производить некоторые операции, такие, как «Добавить настраиваемые адреса URL», «Удалить незавершённые», «Очистить кеш». Статистическая информация по работе кеша отображается на экране.
Настройкой фильтруемых доменных имён и масок url можно ограничить доступ к нежелательным и вредоносным сайтам (подробнее смотрите 6.14. Правила — HTTP фильтрация)
6.8. Данные фильтров.
FiltersData
Здесь можно указать настраиваемые параметры фильтров с заданным именем, например, использование кешей HTTP и прозрачной конвертации HTTP соединений в HTTP прокси соединения (последнее работает только при использовании кешей, пусть даже с отключенной функцией кеширования).
6.9. Схемы биллинга.
BillingShemeList BillingShemeExample
Здесь можно создавать и редактировать различные схемы биллинга, т.е. правил, по которым изменяется баланс пользователя. Биллинг различается по дням, диапазонам дней, дням недели в пересечении с временным интервалом в эти дни.
Если задать стоимость мегабайта трафика, равную 1.000, то такая схема биллинга считает трафик в мегабайтах со знаком минус, если 1024.000 — то в килобайтах, если 1048576.000 — то в байтах.
Значения стоимости можно задавать отрицательными, в этом случае подсчёт трафика ведётся без минуса, но величина минимально допустимого баланса пользователя (при котором происходит его отключение) теряет смысл.
Редактирование записей биллинга немного неудобно, т.к. нужно не забывать нажимать кнопку «Применить» после внесения изменений.
6.10. Журналы.
При создании журнала вы указываете имя журнала, период записи информации на диск и схему биллинга.
Когда в журнале накопятся записи, можно генерировать отчёты за выбранный период времени по указанным пользователям, проявившим активность в этот период. Эти отчёты можно экспортировать в виде файлов Excel.
Т.к. только из конкретного правила следует, записывать данные о пакете в журнал, или нет, то возможны случаи, когда неизвестно, в какой журнал должна попадать эта информация (например, при появлении пакета, не относящегося ни к какому соединению). В таком случае информация о пакете записывается в журнал «Unknown», если такой есть.
6.11. Пользователи.
UsersList
В основном окне списка учетных записей пользователей можно посмотреть краткую их характеристику, и в динамике наблюдать их активность (фон имени выделяется цветом), IP адрес(а), с которого пользователь осуществил вход в систему и текущий баланс.
Любого пользователя можно отключить (сделать за него выход из системы). Можно также отключить всех пользователей сразу и установить балансы макрокомандой (например, в начале каждого месяца).
6.11.1. Информация о пользователе.
RusRoute фаервол 2.0.7 — лимит времени
Основная информация о пользователе состоит из его имени и пароля, вводя которые он входит в систему. Вход в систему осуществляется через web-интерфейс на порт 10000 фаервола по протоколу http. Например, для входа с копьютера-фаервола можно использовать ссылку http://127.0.0.1:10000, а для входа с компьютеров локальной сети — http://192.168.100.1:10000 , если адрес фаервола 192.168.100.1. В последнем случае необходимо разрешить доступ с неавторизованных IP адресов пользователей на фаервол на порт 10000 TCP.
Для входа в систему RusRoute можно использовать специальное Win32-приложение RRClient.exe.
RRClient
В этом случае осуществляется защищённый вход в систему, раз в 2 минуты RRClient делает тестовый запрос на сервер для поддержания соединения, а в случае неактивности со стороны RRClient.exe в течении 5 минут (например, отсоединили сетевой кабель от клиентского компьютера) происходит отключение пользователя, работающего с данного IP адреса. Также со стороны сервера можно отправить текстовое сообщение пользователю на UDP порт 10007, которое отобразит RRClient.exe. RRClient необходимо настроить для работы с сервером. В новой записи указываются адрес сервера, порт (10000), шлюз (опционально, данный шлюз прописывается как шлюз по умолчанию с метрикой 20), стартовая страница (опционально), открывающаяся при успешном входе в систему. Первым делом нужно заргузить (обновить) ключи с сервера. Ключ берётся открытый, сгенерированный в окне «Роль VPN». RRClient по желанию сохраняет на диске имя пользователя и пароль для подключения к серверу RusRoute, шифруя данные на ключе, привязанном к серийному номеру системного раздела.
Дополнительная информация о пользователе — это его полное имя, идентификатор, признак «Отключен», признак «Автоматический вход в систему после перезапуска», фиксированный IP адрес(а), с которых пользователь работает, не вводя пароля, разрешённый IP адрес(а), с которых разрешён вход пользователей в систему через web-интерфейс, максимальное время простоя (в минутах), после которого происходит автоматический выход пользователя из системы, текущий баланс пользователя, минимальное значение баланса, при котором ещё разрешена работа пользователя, опция пакетной установки баланса с её значением, опция лимита одновременного количества TCP соединений, лимиты времени и комментарий.
Баланс пользователя можно увеличить или уменьшить на определённую величину, если указать её со знаком + или — и нажать кнопку «Добавить».
Минимальный допустимый баланс устанавливается путём ввода соответствующего значения и нажатия кнопки «Установить».
6.12. Шейперы (отключены в версии 3.0.2+).
ShapersList
Шейперы — опция алгоритма регулирования приоритетов и скоростей приёма/передачи полезных данных TCP протокола. Работает на уровне сокетов, не путём отбрасывая пакетов или ухудшения качества связи.
Каждый шейпер характеризуется четырьмя параметрами — весами и максимальными скоростями передачи и приёма. Исключение составляют корневые шейперы, для которых понятие веса отсутствует.
Вес шейпера — это приоритет данного соединения или группы соединений по сравнению с другими соединениями и группами соединений того же уровня.
Параметр максимальной скорости говорит сам за себя — это просто ограничивающее значение скорости.
Для настройки шейперов следует задать максимальные скорости для корневых шейперов (близкие к реальным). После чего для дочерних шейперов для пользователей по умолчанию, анонимного, выборочных пользователей и просто подшейперов задать их веса, указывая для максимальных скоростей либо просто большое значение, либо значение дополнительного ограничения.
Чтобы шейперы стали активны, нужно указать их использование в списке протоколов при редактировании конкретных правил, при использовании одного и того же шейпера для всех протоколов правила, можно указать только шейпер по умолчанию. Обычно имя конечного шейпера в окне протоколов правила — <некоторое_имя>.user
Скорость отдельного соединения можно изменять динамически путём задания условий ограничения скоростей. Условия могут быть заданы в виде арифметических выражений в стиле C/C++ с вызовами функций:
- RuleConnections(ИмяПравила) — возвращает количество активных соединений, разрешённых данным правилом.
- ShaperConnections() — возвращает количество активных соединений, связанных с данным шейпером.
- ShaperConnections(recursive) — возвращает количество активных соединений, связанных с данным шейпером и его подшейперами.
- Time(Connection/SinceShaperAttached/AllShaperConnectionsRecursive) — время, прошедшее с момента установки соедиенения/с момента подключения к шейперу (например, при осуществлении условного перехода)/время создания шейпера.
- V(Connection/SinceShaperAttached/AllShaperConnectionsRecursive, Send/Recv/Send+Recv, 120s/120m/120h/183d), Traffic() с теми же аргументами — для получения средней скорости или объёма трафика для конкретного соединения с момента его создания или подключения к шейперу, или суммарно всех соединений данного шейпера, отправляемых и/или принимаемых данных за указанный период времени или за весь период, если параметр опущен. Время можно задавать в секундах, минутах, часах или днях, в примере указаны максимально допустимые значения.
- url(InCaseSensitive, «http://*.iso», «*.rar») — сравнения адреса URL загружаемого HTTP-объекта с маской-шаблоном с применением символов ‘*’, ‘?’, где ‘*’ означает произвольное количество (>= 0) произвольных символов, ‘?’ — один любой символ. Параметр InCaseSensitive используется для сравнения без учёта регистров символов.
- host(«download.maasoftware.*», «rmail.maasoftware.*», «rmail.rusroute.*») аналогично для сравнения имени хоста.
- false, true — логические ложь и истина
- break — эквивалентен true и при этом сравнение других условий этого шейпера не происходит.
И операторами
- «(» — Открывающаяся скобка
- «)» — Закрывающаяся скобка
- «*» — Умножение
- «/» — Деление
- «%» — Целая часть от деления
- «+» — Сложение
- «–» — Вычитание
- «<<» — Сдвиг влево
- «>>» — Сдвиг вправо
- «<» — Меньше чем
- «>» — Больше чем
- «<=» — Меньше или равно
- «>=» — Больше или равно
- «==» — Равно
- «!=» — Не равно
- «&» — Побитовое И
- «^» — Побитовое эксклюзивное ИЛИ
- «|» — Побитовое включающее ИЛИ
- «&&» — Логическое И
- «||» — Логическое ИЛИ.
с приоритетом их выполнения в порядке их нахождения в списке (стандарт C/C++).
Числовые выражения — целые числа (qword) с возможными модификаторами
- «B/s», «KB/s», «MB/s», «GB/s», «TB/s» — для скоростей
- «B», «KB», «MB», «GB», «TB» — для объёма трафика
- «s», «m», «h», «d» — для времени. Время можно задавать в виде объединения значений без явного указания оператора ‘+’, например, 2m30s означает 2*60+30 секунд, а также в виде XX HH:MM:SS — XX дней, HH часов, MM минут, SS секунд, первые нулевые параметры при этом можно опустить.
Для изменения параметров самих шейперов (вес, скорость) можно использовать условные переходы между шейперами.
Шейперы неплохо работают на быстрых каналах связи.
6.13. Расписание задач.
CronTabPage CronTab
Расписание задач предназначено для запуска определённых действий в программе в определённое время (периодически, по расписанию).
На картинке 1 вы видите, как проверять обновления, в начале каждого месяца автоматически установить новые балансы пользователям, и каждую минуту записывать изменённые балансы в файл.
6.14. Правила фаервола.
Правила фаервола задаются, как прохождение первого пакета для TCP/двунаправленных UDP/ping соединений. Для однонаправленных UDP правила задаются как есть, по критериям данных пакета, для передачи в каждую сторону. Для других IP протоколов, например, GRE и IGMP, нужно задавать оба правила для прохождения пакетов в обе стороны. Без наличия отдельных правил для GRE, PPTP фильтр не функционален.
Правила фаервола описываются
- именем
- списком для адаптера-источника
- списком для IP адреса-источника
- пользователем
- списком для адаптера-получателя
- списком для IP адреса-получателя
- протоколами (с возможным указанием шейпера для каждого протокола)
- временем
- журналом
- специальными опциями
- действием
- дополнительным комментарием.
- правило может быть типа сплиттер для преключения между альтернативами передачи пакетов для типичного использования (объединения) нескольких каналов передачи данных для VPN UDP трафика.
Специальные опции — это
- возможность перенаправления на определённые IP адрес и порт (например, вы можете настраивать операционные системы клиентских компьютеров, чтобы они в качестве DNS сервера использовали IP адрес фаервола RusRoute, а на фаерволе создать правило, перенаправляющее DNS запросы пользователей на внешний DNS сервер провайдера),
- NAT — преобразование IP адресов — технология, позволяющая работать пользователям вашей локальной сети как будто от одного IP адреса, выделенного вам провайдером для работы в Интернете. Соответственно, правила, описывающие установку соединений из локальной сети в Интернет, как правило, должны иметь установленной такую опцию. Если вы используете NAT для локальной сети, то желательно использовать эту же технологию и для соединений с локального RusRoute фаервола в Интернет для избежания конфликтов с номерами портов. В данной версии NAT работает для протоколов TCP(FTP и т.д.), UDP и PING. Обычная маршрутизация работает также для этих протоколов плюс для протокола ICMP. Для других IP протоколов поступающие данные, если разрешено правилом, просто принимаются или передаются фаерволом.
- отправка (Xmit) через адаптер или шлюз — в случае использования нескольких маршрутов по умолчанию здесь можно выбрать адаптер или шлюз, через который пакеты отправляются во внешнюю сеть (полезно для спутникового Интернета, если вы хотите, чтобы маршрутизация почтовых протоколов (POP3, SMTP) шла по обычным, более защищённым каналам связи). Для изменения пути маршрута по умолчанию используйте Xmit с указанием адаптера и, опшионально, шлюза.
- сохранять адаптер-источник — вспомогательная опция, иногда нужна для того, чтобы знать, через какой адаптер отправлять ответные пакеты. В ряде случаев фаервол может игнорировать эту опцию.
- не дублировать широковещательные пакеты на VPN адаптер — отправлять только в канал VPN или отправлять только в мостовую сеть.
- ретранслятор широковещательных пакетов.
- Защита anti-SYN flood — блокировка атакующих входящих пакетов на установку соединений, параметры блокировки задаются в окне Настройки.
- лимит одновременного количества TCP соединений (действует для всех правил, у которых имя совпадает с именем данного правила).
- пользователь на конечном IP — указывает на то, что идентификатор пользователя ищется на конечной точке получателя пакетов, а не отправителя. Полезно для серверов локальной сети, предоставляющих свои сервисы в Интернет.
- когда авторизован пользователь на конечном IP — правило активно, когда авторизован пользователь на конечном IP адресе.
- обратный NAT — для сервера, например, FTP, находящегося внутри локальной сети для доступа к нему из Интертена.
- действует в случае превышения счётчика срабатывния параметров правила за 15 минут (для защиты портов). Если указать число/ip, то будут создаваться множество счётчиков по ключу не только имя правила, но и IP адреса в пакете.
- алгоритмы TCP для первичного соединения (с инициатором соединения) и для вторичного соединения (с конечным TCP сервером).
- отключить правило — игнорирует правило при его рассмотрении на предмет соответствия соединению.
Для создания сплиттера нужно сразу после правила ветвления создать сплиттер и требуемое число дополнительных правил-альтернатив ветвления (пример на рисунке) с таким же имененм, что и первое правило. При первом совпадении с правилом ветвления выбирается первое правило, при втором — первое альтернативное и т.д. циклически.
HTTP фильтрация
В RusRoute существуют black фильтры для фильтрации нежелательных http доменов и адресов url по маске.
Поддерживаются, в том числе, списки блокировок Роскомнадзора.
Скачать чёрные списки можно, например, с сайта
http://rusroute.ru
распаковать в каталог (например, c:\rusroute\blacklists)
Добавить файлы в фильтры http кеша
HTTP кеш | black lists | Настраиваемые адреса URL | Импортировать файлы со списками доменов из выбранного каталога c:\rusroute\blacklists
и
HTTP кеш | black lists | Настраиваемые адреса URL | Импортировать файлы со списками URL из выбранного каталога c:\rusroute\blacklists
файлы из каталогов whitelist не добавлять
с действием
Подменить файл с заменой макросов
http\403-BlockedByFilter.txt
или создать свой файл-шаблон сообщения,
включить опцию Игнорировать директиву «no-cache»,
задействовать этот вид кеша в первоочередном порядке в Данных фильтра HTTP (обычно, для фильтра с именем «Settings 1»).
в этом случае RusRoute фильтрует http запросы
расход памяти при этом увеличивается в зависимости от размера списка
Подробнее о настройке блокировки по списку Роскомнадзора здесь.
Также можно воспользоваться сервисом SkyDNS
SkyDNS — ранее был бесплатный альтернативный DNS сервис. Сервис предназначен для блокирования фишинговых и вредоносных сайтов в сети Интернет.
Режимы работы сервиса SkyDNS
Сервис работает в 2 режимах — анонимном и с регистрацией.
Для работы в анонимном режиме достаточно добавить IP адрес сервиса в правило [Lan DNS redirect>, которое перенаправляет запросы к локальному DNS серверу фаервола RusRoute на внешний DNS.
В этом режиме SkyDNS фильтрует фишинговые сайты и вредоносные сайты c malware, вирусами и троянами. При попытке доступа к этим сайтам будет произведено перенаправление на страницу блокировки с информацией о том, что сайт блокирован и причина блокировки сайта.
В режиме работы с регистрацией необходимо зарегистрироваться на сайте сервиса http://www.skydns.ru и привязать Интернет IP адрес фаервола RusRoute в личном кабинете на сайте сервиса.
После этого в личном кабинете SkyDNS вы сможете самостоятельно настроить какие категории сайтов блокировать, а также исключения по белым и черным спискам сайтов. Также в кабинете вы сможете смотреть статистику использованиям вами сервиса SkyDNS.
Адрес доступа к сервису
Единый адрес DNS серверов сервиса SkyDNS — 193.58.251.251.
Ограничения сервиса SkyDNS
Если фаервол RusRoute находится дополнительно за прозрачным прокси или NAT интернет-провайдера, то работоспособность сервиса SkyDNS не гарантируется.
в этом случае SkyDNS блокирует доступ к ресурсам, отвечая на DNS запросы
Можно одновременно задействовать возможности обоих сервисов
Также путём перенаправления на локальный IP адрес (127.0.0.1), и порт, и конвертированием HTTP запросов пользователей локальной сети в HTTP прокси запросы, можно осуществить произвольную контекстную HTTP фильтрацию приложением пользователя.
HTTPS фильтрация не поддерживается.
6.14.1. Мастер-генератор правил фаервола.
Мастер-генератор правил позволяет по шагам ответить на вопросы о конфигурации для создания, обычно, первоначального набора правил фаервола.
6.15. VPN.
В этой группе вкладок представлены настройки, относящиеся к организации виртуальной частной сети (VPN — Virtual Private Network). RusRoute VPN — корпоративного класса.
6.15.1. Роль VPN.
VpnRolePage
Здесь описываются основные настройки VPN:
Тип VPN:
- Отдельно стоящий маршрутизатор (без VPN) — функции VPN отключены.
- Первичный VPN сервер — RusRoute запускает на данном компьютере сервер на TCP порту 10005 и UDP сервер на порту 10005 для обслуживания VPN клиентов. Чтобы данный компьютер был виден в качестве VPN пользователя, укажите правильные имя пользователя и пароль ниже, а в качестве адреса сервера просто укажите 127.0.0.1 для обычного режима, или IP адрес, если на странице «Настройки» в разделе «VPN клиент» вы указали Локальный или Глобальный прямой приём между клиентами в «on».
- Вторичный VPN сервер — RusRoute устанавливает VPN соединение на первичный или другой вторичный VPN сервер, указанный ниже, с указанными параметрами именем пользователя и паролем, и запускает сервер на TCP порту 10005 и UDP серверы на портах 10005 (VPN сервер) и 10004 (VPN клиент) для подключения других пользователей через данный сервер (который называется вторичным) к основному серверу. Удобство применения вторичных серверов заключается в том, что связав виртуальной сетью два удалённых филиала, на дочернем запускают вторичный VPN сервер, который распределяет нагрузку на сеть VPN таким образом, что если два VPN пользователя, подключенных к одному и тому же вторичному VPN серверу, обмениваются сообщениями, то эти сообщения перенаправляются напрямую от одного клиента к другому через их вторичный сервер, минуя основной VPN сервер.
- VPN клиент — обычный VPN клиент, подключенный к первичному или вторичному VPN серверу, создаёт TCP соединение с VPN сервером и запускает UDP сервер на порту 10004 для приёма пакетов. UDP соединение не используется, если указана соответствующая опция в окне «Настройки» («Использовать только TCP соединение для VPN»), что позволяет в некоторых случаях добиться большей совместимости, но с этой опцией VPN работает существенно медленее и управляющее VPN соединение может быть перегружено.
Сеть VPN (информация, получаемая VPN адаптером с помощью протокола DHCP):
- Виртуальный IP адрес VPN клиента
- Маска сети VPN.
- Шлюз — опционально, здесь можно указать виртуальный IP адрес какого-нибудь VPN клиента для использования его в качестве шлюза по умолчанию (например, для удалённого выхода в Интернет из другой удалённой сети). В этом случае, для корректного выхода в Интернет, возможно, вам потребуется настроить маршруты с помощью системной программы route.exe или с использованием специальных опций правил фаервола RusRoute (для VPN подключений). Смотрите также route /?
Другие настройки:
- VPN адаптер — выберите VPN адаптер из списка. VPN адаптер добавляется в систему при установке фаервола RusRoute.
- Адреса LAN для моста VPN — в случае, если в качестве VPN адаптера указан реальный, а не не виртуальный адаптер Ethernet, добавляемый в систему вместе с установкой программы, и сеть этого адаптера использует допустимые IP адреса (сеть 10.1.0.0, маска 255.255.0.0), то здесь можно указать диапазоны и списки IP адресов, которые будут доступны другим VPN клиентам и их сетям в виде объединения в некий аналог Ethernet моста. Например, здесь можно указать для одного VPN клиента 10.1.2.0-10.1.2.255,10.1.1.11, для другого — 10.1.3.0-10.1.3.255. В этом случае с IP адресов 10.1.2.0-10.1.2.255 и 10.1.1.11 можно обмениваться данными с адресами 10.1.3.0-10.1.3.255, а также с VPN клиентами как будто они подключены к одному и тому же Ethenet сегменту. Для указания особенности дублирования входящих широковещательных пакетов как на локальных компьютер VPN клиента, так и в присоединённую сеть, смотрите «Специальные» настройки правил.
- Имя пользователя — укажите имя пользователя для входа в виртуальную защищённую сеть. Только пользователи, у которых в свойствах их учётных записей на первичном VPN сервере разрешена работа в качестве VPN клиента или вторичного сервера, могут входить в VPN сеть.
- Пароль — пароль VPN пользователя.
- Сервер IP[:порт] — IP адрес или доменное имя сервера, через двоеточие допустимо указать TCP порт для подключения, если он отличается от значения по умолчанию — 10005. Для локального первичного VPN сервера рекомендуем указывать адрес 127.0.0.1.
- Сохранять пароль — сохранять пароль в конфигурационном файле (в слабо защищённом виде), иначе пароль запрашивается при подключении.
- Создать новые ключи сервера — создаются новые ключи (открытый и закрытый) для использования при авторизации пользователей и передачи временного ключа пользователя на сервер. Это нужно сделать как минимумум перед первым запуском первичного VPN сервера. В случае компрометации ключа остановить первичный VPN сервер (перевести его в состояние отдельно стоящего сервера (без VPN)), сгенерировать ключи, запустить снова VPN сервер. Для VPN клиентов генерировать ключи не нужно.
- Экспорт/импорт открытого ключа — может оказаться, наиболе безопасный способ передачи открытого ключа от сервера клиенту (если, конечно, вы доверяете курьеру или другому способу дальнейшей передачи ключа). Сверить ключи можно по отпечатку.
- Статус — статусная строка, отображающая ход подключения к серверу или прогресс генерации ключей.
Временные ключи пользователей VPN преобразования обновляются каждые 15 минут.
Основанный на протоколе UDP VPN устанавливает соединение на TCP порт 10005 (протокол «RusRoute VPN») для обмена ключами и др. служебной информацией, а передача пакетов осуществляется на UDP порт 10004 (клиент) или 10005 (серверы) (протокол «RusRoute VPN-UDP»). При этом в свойствах протокола «RusRoute VPN-UDP» нужно указывать «Двунаправленный», если используется NAT, и не указывать в противном случае для избежания конфликта работы хеша правил. Возможно, придётся использовать оба протокола, «Двунаправленный» и не «Двунаправленный» для соединений из(в) Интернета и из(в) LAN.
Основанный на протоколе TCP VPN устанавливает соединение только на TCP порт 10005 (протокол «RusRoute VPN») для обмена ключами, передачи пакетов и др. служебной информацией.
Скорость передачи по FTP через VPN составляет около 140-155 Мбит/с между двумя ПК класса I7-7700K с Windows 10 x64 21H2 <=> Windows 11 22H2, версия RusRoute 2.5.5, драйвера v.2.05-111, в гигабитной локальной Ethernet сети.
6.15.2. VPN пользователи.
VpnUsersPage
Здесь отображается список всех подключенных VPN пользователей и предлагаются наиболее типичные действия, которые можно с ними совершить, обращаясь по их IP адресам: ping, ftp, просмотр с помощью Internet Explorer’а и explorer’а, просмотр удалённого рабочего стола, копирование IP адреса, имени и DNS имени в буфер. В случае использования фильтра DNS для протокола DNS, к vpn пользователям можно обращаться по их псевдо-DNS имени типа name.vpn — на DNS запрос по такому имени ответить RusRoute сервер, подставив используемый IP адрес.
6.16. TCP соединения.
Connections
Отображаются TCP соединения с их параметрами, такими, как протокол, адрес, порт, имя пользователя, скорость приёма/передачи на первичном(1) и вторичном(2) уровнях, размер переданных данных и имя правила.
Можно накладывать фильтры в данном окне, разрывать соединения и т.д.
6.17. UDP динамика.
UDP динамика
Отображаются соединения динамических правил UDP с их параметрами, такими, как протокол, адрес, порт, имя пользователя, количество пакетов, размер переданных данных и имя правила.
Можно накладывать фильтры в данном окне, разрывать соединения и т.д.
6.18. Протоколы.
Наиболее необходимые и интересные записи о процессах, происходящих в сети и внутри фаервола RusRoute.
6.18.1. Протокол http.
HttpProtocol
Отображает параметры запросов http-протокола (действует только для тех протоколов, для которых указан тип фильтра HTTP) с результатами использования кеширования.
Может оказаться удобным инструментом для web-мастеров, т.к. позволяет увидеть все обращения — запросы к сайту, статусы ответов, скопировать URL и т.д.
6.18.2. Протокол ftp.
FtpProtocol
Отображает некоторые команды и их параметры ftp-протокола (действует только для тех протоколов, для которых указан тип фильтра FTP).
6.18.3. Протокол dns.
DnsProtocol
Отображает информацию о запросах и ответах dns-протокола (действует только для тех протоколов, для которых указан тип фильтра DNS).
6.18.4. Протокол работы (общий протокол).
Protocol
Наиболее полный протокол работы фаервола.
Сообщения отображаются, в основном, на английском языке.
Например, сообщение «Reject … connection … by rule: Default blocking rule, protocol: Unknown» означает, что в ваших правилах фаервола не нашлось правила при просмотре от первого правила к последнему, удовлетворяющему данному соединению, в результате чего данный пакет/соединение были заблокированы.
7. Web API.
Некоторые параметры программы можно задавать путём http запросов на встроенный web-сервер, работающий на порту 10000. Для доступа к этим функциям API используется ключ, указываемый на странице “Настройки”.
Список функций API версии RusRoute 2.5.6:
/api.cgi?api_key=...&cmd=userid
/api.cgi?api_key=...&cmd=username
/api.cgi?api_key=...&cmd=username&userid=N
/api.cgi?api_key=...&cmd=getbalance
/api.cgi?api_key=...&cmd=addbalance&userid=N&amount=0.00
/api.cgi?api_key=...&cmd=addsettimelimit&userid=N&amount=60
/api.cgi?api_key=...&cmd=addsettimelimit&userid=N&set=120
/api.cgi?api_key=...&cmd=IpListAdd&n=N&ip=IP&to=-1|0|S
/api.cgi?api_key=...&cmd=IpListAddEx&n=N&ip=IP
Командой IpListAddEx можно формировать до 20 списков IPv4/IPv6 адресов от n=0 до n=19 с заданным временем действия (таймаутом) в секундах (-1 — без ограничения по времени, 0 — удалить запись). Далее этот список может быть использован в списках IP адресов для правил, чтобы, например, динамически блокировать нежелательные адреса. Адреса для списков можно брать, например, из разбора логов программ или журналов приложений Windows по аналогии с работой утилиты fail2ban в Linux. Для упрощения работы такой сторонней программы, если требуется вводить блокировку после 5-и попыток вторжений за последние 15 минут, можно использовать команду IpListAddEx, которая для этих же списков добавляет IP адрес в список n с таймаутом 15 минут. IpListAdd/IpListAddEx игнорируют IP адреса, указанные на странице «Специальных настроек» в настройке «IP адреса игнорирования бана для списков API», IP адреса указываются в настройке через пробел, слово «self» и пустая строка зарезервированы для адресов 127.0.0.1, ::1 и всех адресов сетевых карт RusRoute фаервол. В 0-ой список через функцию IpListAddEx RusRoute фаервол автоматически добавляет IP адреса с неправильными паролями авторизации к встроенному http web серверу и ключа api, 1-й — FTP Auth, 2-й — SMTP Auth, 3-й — POP3, IMAP4 Auth. Бан может добавляться только для открытых протоколов. Если протокол защищаемого вами почтового сервера переходит в SSL режим, то для добавления бан IP требуется специальное приложение, анализирующее SMTP/SMTPS/POP3/POP3S/IMAP4/IMAPS логи вашего сервера и добавляющие IP в список API адресов RusRoute для возможности блокировки.
Пример правила блокировки, правило обычно с действием «Заблокировать».
Пример специальной настройки правила 11-го шага мастера.
Текущий список команд API: http://127.0.0.1:10000/api.cgi
8. Техническая поддержка программы.
Техническая поддержка программы осуществляется по e-mail: support@rusroute.ru, а также на форуме.
Рейтинг:
Стабильность и эффективность бизнес-процессов современной организации во многом зависит от бесперебойного функционирования ИТ-инфраструктуры. Содержание ИТ-инфраструктуры во многих случаях обходится дорого, в особенности для малых и средних компаний.
С целью оптимизации расходов многие организации прибегают сегодня к практике ИТ-аутсорсинга: вместо того, чтобы приобретать оборудование, компания арендует его в стороннем дата-центре, а для его обслуживания привлекает сторонних специалистов.
Чтобы эта практика была выгодной с организационной и с финансовой точки зрения, нужно тщательно продумать техническую сторону вопроса.
Планируя перенос части ИТ-инфраструктуры в сторонний дата-центр, следует решить, каким именно образом все информационные ресурсы организации будут объединены в единую сеть. Решения от ведущих производителей (Juniper, Cisco и других) зачастую стоят дорого; компаниям небольшого и среднего размера они могут оказаться не по карману. В этой связи вполне закономерным и объяснимым является возросший интерес к бесплатным продуктам с открытым исходным кодом, многие из которых по возможностям не уступают платным аналогам, а иногда даже превосходят их.
Важным элементом корпоративной сети является маршрутизатор — специализированное сетевое устройство, предназначенное для объединения сегментов сети и пересылки пакетов между ними. Маршрутизаторы бывают как аппаратные, так и программные. В случае, когда необходимо выстроить ИТ-инфраструктуру с минимальными расходами, использование программного маршрутизатора может оказаться вполне подходящим вариантом.
В этой статье мы расскажем о маршрутизаторе VyOS — интересном и перспективном продукте, к тому же распространяемым по свободной лицензии совершенно бесплатно, и покажем, как его можно использовать для решения практических задач.
VyOS: общая информация
VyOS представляет собой форк известной сетевой операционной системы Vyatta. Его первый релиз под кодовым названием Hydrogen был представлен в декабре 2013 года.
Последний на сегодняшний день релиз — Helium — вышел в свет в сентябре 2014 года. Интерфейс командной строки (CLI) в VyOS похож на СLI устройств от Juniper Networks.
Возможности VyOS действительно широки. Вот далеко не полный список:
- межсетевой экран для IPv4 и IPv6, включая фильтрацию p2p-трафика;
трансляция сетевых адресов (NAT); - DHCP-сервер для IPv4 и IPv6;
- система обнаружения вторжений;
- балансировка нагрузки и резервирование канала;
- резервирование маршрутизаторов с синхронизацией таблицы состояний соединений;
- виртуальные частные сети (IPsec, L2TP/IPsec, PPTP, OpenVPN);
- учёт трафика (Netflow и sFlow);
- веб-прокси и фильтрация URL.
Как и Vyatta, VyOS основан на Debian. Это позволяет расширить функциональность путём установки дополнительных deb-пакетов.
Установка
Подробную инструкцию по установке VyOS мы приводить не будем, да в этом и нет нужды: всё детально расписано здесь. Существует два типа установки VyOS: install system и install image. Первый тип (install system) подразумевает стандартную установку ОС на диск. При установке с использованием install image каждая версия VyOS будет находиться в отдельной директории, что даёт возможность откатиться к предыдущему релизу в случае возникновения неполадок (рекомендуемый метод установки).
Итак: загружаемся с диска, входим в систему (логин — vyos, пароль — vyos), выполняем команду install image. Начнётся установка, в ходе которой нужно будет ответить на стандартные вопросы установщика Linux. По завершении выполним команду reboot и снова зайдём в систему и войдём в систему под логином и паролем, заданными во время установки.
Практический пример
Рассмотрим особенности работы VyOS на конкретном практическом примере. Условия задачи: организация состоит из трёх географически удалённых друг от друга подразделений: одно — в Москве, второе — в Санкт-Петербурге, третье — в Хабаровске. В Петербурге имеются четыре сервера, установленные в дата-центре. Нужно сделать так, чтобы только один из них должен быть подключен к Интернету напрямую. Остальные должны быть объединены в локальную сеть и выходить в Интернет через маршрутизатор. Мы будем использовать разные типы подключений для филиалов — L2TP/IPsec, PPTP и OpenVPN.
Наша сеть будет выглядеть следующим образом:
Конфигурация шлюза
После установки сети ещё нет, поэтому мы сначала настроим её через KVM-консоль.
Для начала настроим первый сетевой интерфейс (внешний), который будет иметь адрес 95.213.170.75. Переходим в режим настройки командой configure — да-да, все как у «старших» железных собратьев.
set interfaces ethernet eth0 address 95.213.170.75/29
set interfaces ethernet eth0 description "WAN"
В данном случае мы назначили интерфейсу eth0 адрес и указали описание порта, чтобы не запутаться в дальнейшем.
Также укажем адреса шлюза по умолчанию и DNS-сервер:
set system gateway-address 95.213.170.73
set system name-server 188.93.16.19
Здесь мы используем Санкт-Петербургский DNS-сервер Селектел, но вы, конечно же, можете указать любой другой.
Настроим сервис SSH, с помощью которого мы будем производить дальнейшее конфигурирование шлюза:
set service ssh port "22"
Логика работы VyOS почти такая же, как у устройств от Juniper Networks. Чтобы применить изменения, нужно выполнить команду commit. Чтобы изменения остались в силе после перезагрузки, их нужно сохранить с помощью команды save. Этой командой vyOS отличается в плане логики от JunOS: в сетевой ОС от Juniper после commit не нужно сохранять изменения.
Подключимся к маршрутизатору по SSH. Для входа в систему введём логин и пароль, заданные при установке. Затем настроим внутренний сетевой интерфейс eth1. Это локальный сетевой интерфейс, к которому подключены серверы в дата-центре. Присвоим ему адрес 10.0.10.1 с маской сети /24 и добавим описание:
set interfaces ethernet eth1 address 10.0.10.1/24
set interfaces ethernet eth1 description "LAN"
Чтобы наши машины могли распознавать имена сетевых ресурсов, нужно настроить DNS. Мы будем настраивать DNS-forwarder, который будет перенаправлять запросы на разрешение имён к серверам, заданным конфигурацией. Процедура настройки этого компонента проста:
set service dns forwarding cache-size "0"
set service dns forwarding listen-on "eth1"
set service dns forwarding name-server "188.93.16.19"
set service dns forwarding name-server "188.93.17.19"
В первой команде указывается размер кэша, который DNS-forwarder будет использовать для хранения записей. Мы выставили нулевой размер кэша, так как в нашем случае хранение DNS-записей не имеет особого смысла. Вторая команда задает интерфейс, на котором будет «слушать» запросы DNS-forwarder. Мы специально используем только внутренний интерфейс, на котором DNS-forwarder будет «слушать» запросы, чтобы не сделать DNS-forwarder, доступный всему интернету. В третьей и четвертой команде указываются адреса, куда будут пересылаться запросы. В нашем примере используются DNS-серверы Селектел, но вместо них, конечно же, можно указать любые другие.
Все компоненты, необходимые для функционирования локальной сети, готовы к работе. Переходим к настройке межсетевого экрана.
В VyOS мы можем использовать наборы правил межсетевого экрана (файерволла), называя их любыми именами. В нашем примере для внешней сети используется набор правил под именем OUTSIDE, для внутренней, соответственно, INSIDE.
Для внешнего интерфеса мы разрешим все соединения «изнутри наружу», для внутреннего интерфейса — все «изнутри наружу» и доступ к SSH.
Создадим правила для внешнего интерфейса:
set firewall name OUTSIDE default-action "drop"
set firewall name OUTSIDE rule 1 action "accept"
set firewall name OUTSIDE rule 1 state established "enable"
set firewall name OUTSIDE rule 1 state related "enable"
Вышеперечисленными командами мы разрешаем уже установленные ранее (established) и относящиеся к ним (related) соединения.
Затем зададим правила файерволла:
Посмотреть правила
set firewall name INSIDE default-action 'drop'
set firewall name INSIDE rule 1 action 'accept'
set firewall name INSIDE rule 1 state established 'enable'
set firewall name INSIDE rule 1 state related 'enable'
set firewall name INSIDE rule 2 action 'accept'
set firewall name INSIDE rule 2 icmp type-name 'echo-request'
set firewall name INSIDE rule 2 protocol 'icmp'
set firewall name INSIDE rule 2 state new 'enable'
set firewall name INSIDE rule 3 action 'drop'
set firewall name INSIDE rule 3 destination port '22'
set firewall name INSIDE rule 3 protocol 'tcp'
set firewall name INSIDE rule 3 recent count '4'
set firewall name INSIDE rule 3 recent time '60'
set firewall name INSIDE rule 3 state new 'enable'
set firewall name INSIDE rule 31 action 'accept'
set firewall name INSIDE rule 31 destination port '22'
set firewall name INSIDE rule 31 protocol 'tcp'
set firewall name INSIDE rule 31 state new 'enable'
В первом правиле мы задаем действие по умолчанию — в нашем случае это «drop» (все пакеты, которые не попадают под установленные правила будут отбрасываться файерволлом). Во втором мы разрешаем прохождение пакетов ICMP; прежде всего это нужно для того, чтобы в случае сбоя мы смогли «пропинговать» наш роутер. Третье правило отвечает за SSH-подключения: мы разрешаем TCP трафик приходящий на 22 порт.
Применим созданные правила к соответствующим интерфейсам — внешнему и локальному:
set interfaces ethernet eth0 firewall in name 'OUTSIDE'
set interfaces ethernet eth1 firewall out name 'INSIDE'
Стоит обратить внимание на параметры in и out — они задают тип трафика, входящий или исходящий относительно маршрутизатора, и не связаны с названиями наборов правил межсетевого экрана.
Не забываем применять и сохранять конфигурацию с помощью команд commit и save.
Настройка VPN
Как уже было сказано выше, в филиалах у нас будут использоваться разные типы VPN-соединений. Начнём с настройки L2TP/IPSec (подробнее см. здесь):
set vpn ipsec ipsec-interfaces interface eth0
set vpn ipsec nat-traversal enable
set vpn ipsec nat-networks allowed-network 0.0.0.0/0
set vpn l2tp remote-access outside-address 95.213.170.75
set vpn l2tp remote-access client-ip-pool start 10.0.10.20
set vpn l2tp remote-access client-ip-pool stop 10.0.10.30
set vpn l2tp remote-access ipsec-settings authentication mode pre-shared-secret
set vpn l2tp remote-access ipsec-settings authentication pre-shared-secret <пароль>
set vpn l2tp remote-access authentication mode local
set vpn l2tp remote-access authentication local-users username <пользователь> password <личный_пароль>
С помощью первых трёх мы задаем конфигурацию IPSec: указываем интерфейс, на который будут идти пакеты, включаем NAT traversal и разрешаем NAT для всех сетей. Далее идут команды отвечающие за L2TP. В целом по написанию команд нетрудно догадаться, за что они отвечают, обратим внимание лишь на некоторые параметры.
- outside-address — указывает внешний адрес VPN-сервера;
- pre-shared-secret <пароль> — задает пароль для подключения, который в дальнейшем будет использоваться для настройки VPN на клиентских устройствах;
- authentication mode local — задаёт тип аутентификации. В нашем примере используется аутентификация по локальной базе, но можно использовать и RADIUS-сервер для централизованного управления учётными записями.
В последней строке мы создаём пользователя и устанавливаем для него пароль.
После этого внесём коррективы в правила файерволла и разрешим трафик L2TP/IPSec.
Посмотреть правила
set firewall name INSIDE rule 4 action 'accept'
set firewall name INSIDE rule 4 protocol 'esp'
set firewall name INSIDE rule 41 action 'accept'
set firewall name INSIDE rule 41 destination port '500'
set firewall name INSIDE rule 41 protocol 'udp'
set firewall name INSIDE rule 42 action 'accept'
set firewall name INSIDE rule 42 destination port '4500'
set firewall name INSIDE rule 42 protocol 'udp'
set firewall name INSIDE rule 43 action 'accept'
set firewall name INSIDE rule 43 destination port '1701'
set firewall name INSIDE rule 43 ipsec 'match-ipsec'
set firewall name INSIDE rule 43 protocol 'udp'
commit
save
Правило 4 разрешает трафик протокола ESP, по которому работает установленный туннель IPSEC, 42 — NAT traversal, 43 — порт 1701, на котором работает L2TP.
Теперь перейдем к настройке второго типа VPN-подключения и «поднимем» OpenVPN-сервер.
Для начала скопируем файлы easy-rsa в директорию /config/easy-rsa2, чтобы не потерять их при обновлении системы:
cp -rv /usr/share/doc/openvpn/examples/easy-rsa/2.0/ /config/easy-rsa2
В случае необходимости можно изменить переменные, указанные по умолчанию в сертификатах, например:
nano /config/easy-rsa2/vars
export KEY_COUNTRY="RU"
export KEY_CITY="Saint-Petersburg"
export KEY_ORG="Selectel"
export KEY_EMAIL="t-rex@selectel.ru"
Эти данные будут указываться в полях сертификатов, которые мы будем генерировать. Перейдем в директорию /config/easy-rsa2/ и загрузим переменные:
cd /config/easy-rsa2/
source ./vars
Удалим все ключи:
./clean-all
Затем сгенерируем файлы центра сертификации:
./build-ca
./build-dh
и сертификат сервера:
./build-key-server t-rex-server
После этого скопируем ключи в соответствующие директории:
cp /config/easy-rsa2/keys/ca.crt /config/auth/
cp /config/easy-rsa2/keys/dh1024.pem /config/auth/
cp /config/easy-rsa2/keys/t-rex-server.key /config/auth/
cp /config/easy-rsa2/keys/t-rex-server.crt /config/auth/
Далее подготовим клиентские файлы для подключения к серверу:
./build-key branch-msk
и сразу же скопируем их в отдельную папку:
cd /config/easy-rsa2/keys
mkdir branch-msk
cp branch-msk* branch-msk/
cp ca.crt branch-msk/
Сгенерированные файлы понадобятся для подключения клиентов к серверу, поэтому их нужно будет передать на клиентскую сторону. Это можно сделать с помощью любого SCP-клиента: WinSCP для Windows или стандартного консольного клиента scp для Linux.
Далее переходим к настройке сервера:
set interfaces openvpn vtun0 mode 'server'
set interfaces openvpn vtun0 server name-server '10.0.10.1'
set interfaces openvpn vtun0 server push-route '10.0.10.0/24'
set interfaces openvpn vtun0 server subnet '10.1.10.0/24'
set interfaces openvpn vtun0 tls ca-cert-file '/config/auth/ca.crt'
set interfaces openvpn vtun0 tls cert-file '/config/auth/t-rex-server.crt'
set interfaces openvpn vtun0 tls dh-file '/config/auth/dh1024.pem'
set interfaces openvpn vtun0 tls key-file '/config/auth/t-rex-server.key'
set service dns forwarding listen-on vtun0
commit
save
Обратим внимание на последнюю команду: в ней мы перенаправляем запросы на разрешение имён на DNS-forwarder, настроенный ранее. Отметим также, что в случае с OpenVPN мы сначала использовали отдельную сеть для построения самого туннеля, а затем смаршрутизировали её на локальную сеть, где находятся наши серверы. Это объясняется особенностями протокола. Более подробно об этом мы расскажем в следующей публикации.
Настройка PPTP-сервера
Настроим последний тип VPN-подключения — PPTP. Конечно, протокол PPTP слабо защищён и поэтому вряд ли может быть использован для передачи конфиденциальной информации, но для обеспечения удаленного доступа он находит широкое применение. PPTP-клиент присутствует практически в любом устройстве, имеющем подключение к сети.
Из приведённого примера можно заметить, что PPTP настраивается почти таким же образом, как L2TP:
set vpn pptp remote-access authentication mode local
set vpn pptp remote-access authentication local-users username <имя_пользователя> password <пароль>
set vpn pptp remote-access client-ip-pool start 10.0.10.31
set vpn pptp remote-access client-ip-pool stop 10.0.10.40
set vpn pptp remote-access dns-server server-1 188.93.17.19
set vpn pptp remote-access outside-address 95.213.170.75
В первой команде мы задаем локальный режим аутентификации пользователей. Если у вас есть RADIUS-сервер, можно выбрать режим аутентификации radius: с его помощью управлять учётными записями пользователей гораздо удобнее.
Затем мы создаем локальных пользователей, указываем диапазон IP-адресов и данные серверов DNS, выдаваемых клиентам. Последняя команда задает адрес интерфейса, на котором будет «слушать» наш сервер.
Применим и сохраним настройки:
commit
save
Сервер готов к подключению клиентов.
Осталось только разрешить прохождение трафика из локальной сети во внешнюю. Таким образом мы обеспечим доступ в Интернет серверам, подключенным к локальной сети, а также пользователям, подключающимся к нашему роутеру из филиалов:
set nat source rule 1 outbound-interface 'eth0'
set nat source rule 1 source address '10.0.10.0/24'
set nat source rule 1 translation address masquerade
Заключение
Итак, готово: мы построили сеть в соответствии с условиями поставленной задачи. Один из серверов (расположенный в Санкт-Петербурге) выступает в качестве маршрутизатора, остальные три сервера подключены к нему по локальной сети. Маршрутизаторы в филиалах имеют доступ к ресурсам локальной сети через безопасные VPN-подключения.
В этом небольшом обзоре мы описали лишь основы построения малой корпоративной сети. В следующей публикации мы поговорим о возможностях VyOS более подробно и научимся более гибко управлять правилами межсетевого экрана, пробрасывать порты, разрешать трафик различных протоколов, часто используемых в сетях компаний, а также рассмотрим следующие вопросы:
- организация GRE-туннелей;
- работа с протоколом L2TPv3;
- QoS;
- zone-based firewall;
- увеличение производительности сетевого интерфейса (performance tuning);
- VRRP.
Technology Advisor | Cybersecurity Evangelist
Updated: July 31, 2024
Expert in B2B Software and Experienced Privacy and Security Researcher
Updated: July 31, 2024
Looking for alternatives to commercial router OS software products? Here are some open-source options to consider
Open-source router OS software refers to router operating systems that are released under an open-source license, allowing users to freely use, modify, and distribute the software. These router OS software options are based on Linux or other open-source operating systems, and offer a range of features such as advanced networking configurations, security capabilities, and user-friendly interfaces. They are designed to provide a customizable, secure, and feature-rich networking experience while being cost-effective alternatives to commercial router OS software.
Here is our list of the best open-source router OS software for large or small networks:
- OpenWrt This open-source firmware can be installed on a long list of routers and wireless APs, including those produced by some of the major manufacturers of network equipment, such as Aruba, Barracuda, Belkin, Cisco, Huawei, and Linksys. The system is based on Linux and you can download it for free.
- RouterOS from MikroTik This proprietary firmware can be downloaded onto a Windows PC to convert it into a router.
- DD-WRT Originally created for use on the Linksys WRT54G, this free, Linux-based OS has always been independent and can be installed on WiFi routers.
- VyOS Based on Debian Linux, this software can be run as a virtual appliance to provide router and firewall functions.
- OPNsense Classed as a firewall, this free software based on OpenBSD can be used to form an SD-WAN.
- pfSense This firewall software runs as a virtual appliance on a computer, on AWS, or on Azure.
- IPFire Primarily a firewall system, this Linux-based software includes an intrusion prevention system.
Open-source router OS software can be a strong option to consider as an alternative to commercial products. Open-source router OS software can be customized to meet specific networking needs and can be more cost-effective than commercial products. These software options are often designed to be user-friendly and feature-rich, with advanced networking configurations and security capabilities. These routers’ OSs can be used in networks ranging from home networks, to small business networks, or even in large corporate environments. Additionally, the open-source nature of these products means that users can contribute to the development of the software and collaborate with other users to improve it over time.
In this article, we present the best open-source router OS software out there. Hopefully, this will help you in choosing the right one for your network.
The Best Open-source Router OS Software
1. OpenWrt
OpenWrt is an open-source router operating system (OS) that is designed to provide a customizable, secure, and feature-rich networking experience. It is based on the Linux kernel and offers a range of features and capabilities that make it a popular choice among network enthusiasts, developers, and IT professionals.
Key Features:
- Stability: Renowned for its stability and reliability in networking environments.
- Frequent Updates: Users benefit from timely updates that ensure compatibility with new devices, protocols, and security patches.
- Firewall Functions: Users can configure firewall rules to control incoming and outgoing traffic, protect against unauthorized access, and safeguard sensitive data.
- IPv6 Enabled: Supports the IPv6 protocol, addressing the modern networking requirements of expanding IP address space and improved network efficiency.
- Traffic Shaping: Offers traffic shaping capabilities, allowing users to prioritize network traffic based on user-defined rules.
One of the primary benefits of OpenWrt is its flexibility. OpenWrt allows users to customize and modify the software to meet their specific networking needs. This includes adding new features, removing unnecessary features, or configuring the software to work with specific hardware. This flexibility makes it an attractive option for advanced users who want more control over their networking equipment.
Another benefit of OpenWrt is its security capabilities. OpenWrt includes features such as firewalls, intrusion detection and prevention, and VPN support, which can help protect against security threats and attacks. Additionally, the software is updated frequently with security patches and bug fixes, ensuring that users have access to the latest security enhancements.
OpenWrt is also designed to be user-friendly. The software includes a web-based interface that allows users to configure their networking settings easily. The interface is responsive and can be accessed from any device with a web browser. OpenWrt also includes support for a wide range of hardware, including popular router models from companies such as TP-Link, Netgear, and Asus.
OpenWrt also offers a range of advanced networking configurations, including support for Quality of Service (QoS), network address translation (NAT), and virtual LAN (VLAN) tagging. These features make OpenWrt an attractive option for businesses and organizations that require more advanced networking capabilities. The open-source nature of OpenWrt means that users can contribute to the development of the software and collaborate with other users to improve it over time. This community-driven approach has led to the development of many useful plugins and packages that extend the functionality of the software.
OpenWrt is a powerful and flexible open-source router operating system that offers advanced networking capabilities, robust security features, and a user-friendly interface. Its customizable nature, support for a wide range of hardware, and active development community make it an attractive option for network enthusiasts and IT professionals alike.
Pros:
- Security: Known for its strong focus on security, OpenWrt provides regular security updates and patches to address vulnerabilities promptly.
- Community Support: This community-driven approach ensures ongoing improvement, troubleshooting assistance, and access to a wealth of resources.
- Advanced Features: Offers advanced networking features not typically found in stock firmware, such as QoS, VPN support, VLAN support, and more.
- Compatibility: Supports a wide range of hardware platforms, including routers, access points, and embedded devices, allowing users to repurpose existing hardware to run OpenWrt.
- Open-Source Philosophy: Being an open-source project, OpenWrt promotes transparency, collaboration, and innovation.
Cons:
- Complexity for Beginners: Can be complex for users who are not familiar with networking concepts and configurations.
- Limited Official Hardware Support: May have limited official hardware support compared to commercial router firmware.
2. RouterOS from MikroTik
MikroTik RouterOS is a proprietary operating system that MikroTik created for its routers. There are open-source elements in the operating system. For example, the component RouterBOOT unit, which is a firmware bootloader can be downloaded and adjusted. While MicroTik doesn’t ask the public for programming contributions and it doesn’t endorse an official team of volunteers, the company would probably be interested to hear about any bugs that members of the public discover in the code.
Key Features:
- Powerful Networking Functionality: Includes routing, switching, firewall, VPN, QoS, and dynamic routing protocols for building complex networks.
- User-Friendly Interface: Offers an intuitive GUI and CLI for easy management by users of all levels.
- Security: Features robust security measures like built-in firewall, IPsec/L2TP VPN support, ACLs, and regular security updates.
- Wireless Networking: Supports wireless access points, bridges, and mesh networks with encryption and roaming capabilities.
- Affordability: Provides powerful networking capabilities at a competitive price point.
The router software is based on Windows. It is possible to download it and run the software on a computer to turn it into a router. The software isn’t free to use but MikroTik offers a free trial. MikroTik operates an online demo router, which runs RouterOS. You can access that demo through your browser and get to know the menu system of RouterOS. Alternatively, download the RouterOS software and run it on Winbox to familiarize yourself with the operating system’s methods before actually running it live.
MicroTik also offers a cloud-based router system, called Cloud Hosted Router (CHR) that can be installed on AWS. Again, this is not free and you purchase it from the AWS Marketplace.
MikroTik RouterOS provides advanced networking configurations. The software includes support for Quality of Service (QoS), network address translation (NAT), and virtual private network (VPN) support, which can help optimize network performance and improve security. Additionally, the software includes support for advanced routing protocols such as OSPF, BGP, and VRRP, making it an ideal solution for complex network setups.
MikroTik RouterOS also offers a range of security features to protect against security threats and attacks. The software includes support for firewalls, intrusion detection, and prevention, and secure remote access.
MikroTik RouterOS is also designed to be user-friendly. The software includes a web-based interface that allows users to configure their networking settings easily. The interface is responsive and can be accessed from any device with a web browser.
Pros:
- Proprietary Operating System: Being proprietary can offer tighter integration and control over the software.
- Active Community: Access to a dedicated user community and resources for support and collaboration.
- Customization: Highly customizable to meet specific networking requirements.
- Extensibility: Allows integration of additional features and functionalities through third-party applications and plugins.
Cons:
- Learning Curve: RouterOS may have a learning curve for users not familiar with MikroTik’s interface and configurations.
- Limited Hardware Support: MikroTik’s RouterOS may have limited official hardware support compared to more mainstream router operating systems.
3. DD-WRT
DD-WRT is an open-source router OS software based on the Linux kernel that offers a highly customizable and feature-rich networking experience for both home and enterprise users. Its advanced networking features include Quality of Service (QoS), VPN support, and port forwarding. The software supports multiple wireless protocols, such as 802.11ac, 802.11n, and 802.11g, among others, and advanced routing protocols such as OSPF, BGP, and RIPv2.
Key Features:
- RADIUS Support: Includes support for RADIUS (Remote Authentication Dial-In User Service) for authentication and authorization.
- Access Control: Offers access control features to manage network permissions and restrictions.
- OpenVPN: Supports OpenVPN, an open-source VPN (Virtual Private Network) protocol, for secure remote access and communication.
DD-WRT includes multiple wireless SSIDs, which allows for the creation of multiple wireless networks with different access levels and security settings. Additionally, the software offers network storage capabilities, allowing users to share files across their network. DD-WRT is highly customizable, allowing users to tailor the software to their specific needs. Its user-friendly web-based interface makes it easy to configure network settings.
The software includes a range of security features, such as firewall support, WPA/WPA2 encryption, VPN and add-ons, and plugin support.
Other features and capabilities include:
- DD-WRT supports a wide range of routers and hardware, including older and newer devices.
- The software includes advanced networking features such as Quality of Service (QoS), VPN support, and port forwarding.
- DD-WRT offers support for multiple wireless protocols, including 802.11ac, 802.11n, and 802.11g, among others.
- The software includes support for advanced routing protocols such as OSPF, BGP, and RIPv2.
- DD-WRT supports multiple wireless SSIDs, which allows for the creation of multiple wireless networks with different access levels and security settings.
- The software includes a range of security features, including firewall support, WPA/WPA2 encryption, and VPN support.
- DD-WRT also supports network storage, allowing users to share files across their network.
- The software can be customized using add-ons and plugins, allowing users to add new features or modify existing ones.
Pros:
- Compatibility: Allows users to repurpose existing hardware or choose from various compatible devices to run DD-WRT.
- Community Support: This community-driven approach ensures ongoing improvement, troubleshooting assistance, and access to a wealth of resources.
- Learning Opportunity: Using DD-WRT provides users with an opportunity to learn about networking concepts, Linux-based systems, and software configuration.
- Customizability: DD-WRT provides extensive customization options, allowing users to tailor their firmware to their specific needs and preferences.
Cons:
- Complexity: Learning curve for users unfamiliar with advanced networking concepts and configurations.
- Limited Hardware Compatibility: Some routers may have limited compatibility with DD-WRT, requiring compatible hardware for installation.
- Potential Risks: Incorrect configuration or firmware flashing can lead to router malfunctions or vulnerabilities, requiring caution during setup and usage.
4. VyOS
VyOS is an open-source network operating system based on Debian GNU/Linux. It is designed to be used as a router, firewall, and VPN gateway, and it is well-suited for small to medium-sized businesses and enterprise-level networks. VyOS is a fork of the Vyatta project, which was discontinued in 2013. The software is actively maintained by the VyOS community and offers a range of advanced networking features.
Key Features:
- Virtual Appliance: Can be deployed as a virtual appliance, providing flexibility in network setups.
- NetFlow/sFlow Sensor: Includes support for NetFlow and sFlow protocols for network traffic monitoring and analysis.
- Stateful Load Balancing: Offers stateful load balancing capabilities to distribute network traffic efficiently.
One of the key features of VyOS is its flexibility. It can be installed on a range of hardware, including physical servers, virtual machines, and cloud platforms such as Amazon Web Services and Microsoft Azure. It can also be deployed as a virtual appliance, making it easy to test and evaluate the software. VyOS includes a wide range of networking features, including advanced routing protocols such as OSPF, BGP, and RIPv2. It also supports VPNs, including IPsec, OpenVPN, and L2TP. The software includes advanced firewall features, such as stateful packet inspection, NAT, and zone-based firewalling. Additionally, VyOS supports Quality of Service (QoS) and network address translation (NAT).
One of the strengths of VyOS is its command-line interface (CLI), which allows for detailed configuration of networking features. The CLI is similar to the Juniper Networks Junos CLI, making it a good choice for users familiar with that platform. Additionally, VyOS includes a web-based GUI for configuring basic networking settings. VyOS’s strengths also include its advanced networking features, flexibility, and ability to be deployed in a variety of environments. The software’s active development community and frequent software updates ensure that it remains up-to-date with the latest networking technologies. Additionally, VyOS’s CLI makes it a good choice for experienced network administrators who prefer to work with a command-line interface.
On the other hand, one potential weakness of VyOS is that it may be less user-friendly than other router OS software with a graphical user interface. Additionally, configuring advanced networking features may require a higher level of technical expertise. Nevertheless, VyOS is a powerful and flexible open-source router OS software that is well-suited for enterprise-level networks. Its advanced networking features and active development community make it an excellent choice for experienced network administrators who require advanced routing, firewalling, and VPN capabilities.
Pros:
- Powerful Routing Capabilities: VyOS offers robust routing features, including support for dynamic routing protocols such as BGP, OSPF, and RIP, as well as policy-based routing, VRF, and IPv6 routing.
- Virtualization and Cloud Support: VyOS can be deployed as a virtual appliance in hypervisor environments like VMware, Hyper-V, and KVM, making it suitable for virtualized and cloud-based deployments.
- Flexibility and Customization: VyOS is highly customizable, allowing users to configure and tailor their network infrastructure to meet specific requirements.
Cons:
- Complexity: Setting up and configuring VyOS requires some advanced networking knowledge and experience, making it less suitable for beginners.
- Limited Support: As an open-source project, official support may be limited compared to commercial solutions, although community support is available.
- Resource Intensive: Virtual deployment of VyOS may require adequate resources in terms of CPU, memory, and storage, especially in high-traffic environments.
5. OPNsense
OPNsense is an open-source router OS software that is based on FreeBSD. It is designed to be used as a firewall, router, and VPN gateway, and it includes a range of advanced networking features. OPNsense is a fork of the pfSense project, and it is actively maintained by the OPNsense community.
Key Features:
- Firewall Functions: Includes firewall functionalities for network security and traffic management.
- Based on pfSense: Built on the pfSense platform, known for its robust networking capabilities.
- NetFlow Exporter: Supports NetFlow exporting for network traffic monitoring and analysis.
One of the key features of OPNsense is its flexibility. It can be installed on a range of hardware, including physical servers, virtual machines, and cloud platforms such as Amazon Web Services and Microsoft Azure. It can also be deployed as a virtual appliance, making it easy to test and evaluate the software. Other features and capabilities include:
- Firewall OPNsense includes a powerful firewall with stateful packet inspection, which allows it to filter traffic based on packet contents, port numbers, and other criteria. This provides a high level of security for enterprise networks.
- Quality of Service (QoS) OPNsense supports Quality of Service (QoS) features, which allows network administrators to prioritize traffic based on its type, source, and destination. This helps to ensure that critical network traffic is given priority over less important traffic.
- Virtual Private Network (VPN) support OPNsense includes built-in support for Virtual Private Networks (VPNs), allowing users to securely connect to the network from remote locations.
- Web-based GUI OPNsense provides a web-based graphical user interface (GUI) for easy configuration and management. The GUI is user-friendly and includes a range of features, such as a dashboard, firewall rule editor, and package manager for installing additional features.
- Traffic shaping OPNsense includes advanced traffic shaping capabilities, which allows network administrators to control the flow of traffic on the network. This helps to optimize network performance and reduce congestion.
- Intrusion Detection and Prevention System (IDPS) OPNsense includes an Intrusion Detection and Prevention System (IDPS), which allows network administrators to detect and prevent network attacks.
As with most applications, OPNsense has its strengths and weaknesses. OPNsense’s strengths include its advanced networking features, flexibility, and ease of use. The software is actively maintained by the OPNsense community, which ensures that it remains up-to-date with the latest networking technologies. Additionally, the software’s web-based GUI makes it easy to configure networking settings, even for users without extensive technical expertise.
On the other hand, one of OPNsense’s weaknesses is that it may be less user-friendly than other router OS software with a graphical user interface. Additionally, configuring advanced networking features may require a higher level of technical expertise. Nonetheless, OPNsense is a powerful and flexible open-source router OS software that is well-suited for enterprise-level networks. Its advanced networking features, flexibility, and ease of use make it an excellent choice for both experienced network administrators and users with less technical expertise.
Pros:
- Robust Firewall Features: Inherits and extends the robust firewall features from pfSense, enhancing network security.
- Community Support: Being open-source, OPNsense benefits from community-driven development, updates, and support.
- NetFlow Exporting: Supports NetFlow exporting, allowing for detailed network traffic monitoring and analysis.
- User-Friendly Interface: OPNsense is known for its user-friendly interface, making it accessible for network administrators.
Cons:
- Resource Intensive: Running OPNsense with all features enabled may require adequate hardware resources, especially in high-traffic environments.
- Limited Commercial Support: While community support is strong, official commercial support options may be limited compared to proprietary solutions.
6. pfSense
pfSense is a free and open-source router and firewall operating system based on the FreeBSD operating system. It is designed to be used on standard x86 hardware and can be deployed as a virtual machine or on dedicated hardware. pfSense offers advanced features and capabilities that are typically found in commercial routers and firewalls, making it an ideal solution for small to medium-sized businesses, educational institutions, and other organizations that require robust network security and management.
Key Features:
- Firewall: Offers comprehensive firewall functionalities for network security and access control.
- Traffic Shaping: Includes traffic shaping capabilities to prioritize and manage network traffic effectively.
- VPN Support: Provides support for VPN technologies for secure remote access and communication.
pfSense provides a web-based graphical user interface (GUI) that allows users to configure and manage all aspects of their network. This includes setting up firewall rules, configuring virtual private networks (VPNs), managing DNS and DHCP services, and monitoring network activity. The GUI is highly customizable, allowing users to create dashboards and widgets that display real-time network information and statistics.
One of the key features of pfSense is its firewall capabilities. It offers advanced features such as stateful packet inspection, traffic shaping, and intrusion detection and prevention. These features allow administrators to block unwanted traffic and prevent malicious attacks on their networks. pfSense also supports VPN connections, allowing users to securely connect to their network from remote locations.
Another important feature of pfSense is its support for high availability (HA) and load balancing. With HA, administrators can set up redundant systems that automatically failover in the event of a hardware or software failure. Load balancing allows administrators to distribute network traffic across multiple servers or internet connections, improving performance and reducing downtime.
pfSense is highly flexible and can be customized to meet the specific needs of different organizations. It supports a wide range of third-party packages and plugins, including antivirus and anti-spam filters, content filtering, and intrusion detection and prevention systems. It also has an active community of developers and users who contribute to its ongoing development and support.
Pros:
- Community Support: Being open-source, pfSense benefits from a large community of users and developers, providing extensive documentation, forums, and support resources.
- Flexibility: Offers flexibility in deployment, allowing users to install pfSense on standard hardware or as a virtual appliance.
Cons:
- Complexity: Setting up and configuring pfSense may require technical expertise, especially for users unfamiliar with advanced networking concepts.
- Hardware Requirements: Running pfSense with all features enabled may require adequate hardware resources, especially in high-traffic environments.
7. IPFire
IPFire is a free and open-source router and firewall operating system based on the Linux kernel. It is designed to be used on standard x86 hardware and can be deployed as a virtual machine or on dedicated hardware. IPFire offers advanced features and capabilities for network security and management, making it an ideal solution for small to medium-sized businesses, educational institutions, and other organizations that require robust network protection.
Key Features:
- Firewall: Provides robust firewall functionalities for network security and access control.
- Intrusion Prevention System (IPS): Includes an intrusion prevention system to detect and block network threats.
- VPN Support: Offers support for Virtual Private Network (VPN) technologies for secure remote access and communication.
IPFire provides a web-based graphical user interface (GUI) that allows users to configure and manage all aspects of their network. This includes setting up firewall rules, configuring virtual private networks (VPNs), managing DNS and DHCP services, and monitoring network activity. The GUI is highly customizable, allowing users to create dashboards and widgets that display real-time network information and statistics.
One of the key features of IPFire is its firewall capabilities. It offers advanced features such as stateful packet inspection, traffic shaping, and intrusion detection and prevention. These features allow administrators to block unwanted traffic and prevent malicious attacks on their networks. IPFire also supports VPN connections, allowing users to securely connect to their network from remote locations. Another important feature of IPFire is its support for proxy servers, which can be used to filter web traffic and block unwanted content. It also supports content filtering, which allows administrators to block access to specific websites or types of content.
IPFire is highly flexible and can be customized to meet the specific needs of different organizations. It supports a wide range of third-party packages and plugins, including antivirus and anti-spam filters, content filtering, and intrusion detection and prevention systems. It also has an active community of developers and users who contribute to its ongoing development and support.
Pros:
- Modular Design: IPFire adopts a modular design approach, allowing users to customize their firewall and network infrastructure according to their specific requirements.
- Performance Optimization: IPFire is optimized for performance, offering efficient resource utilization and low overhead.
- User-Friendly Interface: IPFire is known for its user-friendly interface, making it accessible for network administrators and users.
- Open Source: IPFire is an open-source project, providing transparency, flexibility, and community-driven development.
Cons:
- Community Size: Compared to some other firewall solutions, IPFire may have a smaller user community and ecosystem.
- Resource Intensive: Running IPFire with all features enabled may require adequate hardware resources, especially in high-traffic environments.
- Limited Commercial Support: While community support is strong, official commercial support options may be limited compared to proprietary solutions.
Virtual Router
The original, open source Wifi Hotspot for Windows 7, Windows 8.x and Windows Server 2012 and newer!
FYI, this project is no longer being updated. However, the software will still work as-is. If you find it helpful, please use it.
What is Virtual Router?
Virtual Router is a free, open source software based router for PCs running Windows 8, Windows 7 or Windows Server 2008 R2. Using Virtual Router, users can wirelessly share any internet connection (Wifi, LAN, Cable Modem, Dial-up, Cellular, etc.) with any Wifi device (Laptop, Smart Phone, iPod Touch, iPhone, Android Phone, Zune, Netbook, wireless printer, etc.) These devices connect to Virtual Router just like any other access point, and the connection is completely secured using WPA2 (the most secure wireless encryption.)
This application has had OVER 10 MILLION DOWNLOADS over the years. I am humbled and appreciative of being able to help so many people by adding a feature to Windows that Microsoft should have added themselves. Thanks you!
Download / Install
Click below to download the installer for Virtual Router v1.0 so you can get started using it today!
Important: To install Virtual Router, you will also need to have .NET Framework 3.5 installed on your Windows computer.
For previous releases, you can find those located within the Release
folder inside this repository.
Where can Virtual Router be used?
Anywhere you are!
Including:
- Home
- Office
- School
- Airport
- Bus Station
- The Park
- Grandmas House
- The In-Laws
- Absolutely Anywhere!
No Advertising, No Hassle
Unlike similar applications, Virtual Router is not only completely Free, but will not annoy you with any advertisements. Also, since Virtual Router is not ad-supported, it does not track your web traffic the way other ad-supported applications do/can.
Frequently Asked Questions (FAQ)
Is Virtual Router Free to use?
Yes, Virtual Router is completely Free. If you’ve paid for it, then I suggest you demand a refund.
Will I incur extra charges from my ISP using Virtual Router?
The bandwidth the extra devices you have connected to a Virtual Router shared Internet connection will of course count towards your internet service bandwidth. Using Virtual Router functions identically to using a router to share your internet connection. If you have questions regarding how much bandwidth you have allocated and/or what overage charges you may be subject to, then you should contact your Internet Service Provider.
Which Wifi Devices are Supported?
The device support is dependent on you having a driver installed that is Certified for Windows 7 or Windows 8. As far as we know, part of the requirement for a wireless driver to be «Certified for Windows 7» or «Certified for Windows 8» must support the Virtual Wifi and Wireless Hosted Network features of Windows 7.
Unfortunately, in regards to using Virtual Router, any driver that is «Certified for Windows Vista» will work with your Wifi device in Windows 7 or 8, however it will not support the Virtual Wifi and Wireless Hosted Network features.
Virtual Router will not start after installation
There are some cases that Virtual Router is unable to start immediately after installation. First you should make sure that you have the latest device drivers installed from the manufacturer of your Wifi device, then if that still doesn’t work you should try restarting/rebooting you machine if you haven’t already done so.
Error: «group or resource is not in the correct state to perform the requested operation»
Here’s a Hotfix available from Microsoft for a common cause of this problem on Windows 7 and Windows Server 2008 R2: http://support.microsoft.com/kb/2496820
If the hotfix doesn’t work, or you aren’t using Windows 7 or 2008 R2, then you could try some of the suggestions at the following link: http://superuser.com/questions/373861/how-can-i-start-hostednetwork-on-windows-7
How do I know if my computer/hardware supports Virtual Router?
First, you need to have a Wifi device and driver that both support the Windows Virtual Wifi and Wireless Hosted Network features. Drivers that are Certified for Windows 7 or Windows 8 will work.
Can I use Virtual Router with Windows Vista or Windows XP?
Unfortunately, Virtual Router will not work on Windows Vista or Windows XP, or any older version of Windows. Virtual Router is only compatible with Windows 7 and Windows 8 since the Virtual Wifi and Wireless Hosted Network features are new in Windows 7 and Windows Server 2008 R2.
What About Windows 7 Starter Edition?
Unfortunately, Microsoft has disabled the Virtual Wifi features in Windows 7 Starter Edition so Virtual Router will not work. This is the only edition of Windows 7 that the software will not work with.
Is the connection encrypted? How secure it this?
The wireless connection is encrypted with WPA2 encryption. Encryption is also required, with no method of disabling it. The security of you «Virtual Router» is dependent on the strength of you Password / Passphrase.
How To Change Device (Connected Peer) Icon
You can open the Device «Properties» dialog one of two ways:
- Double Click the Device / Connected Peer
- Right Click the Device / Connected Peer and Select «Properties…»
- Then click on the «Change Icon…» Button, and Select the Icon you want and click «Save».
Source Code
The source code for Virtual Router is located within the Source
folder inside this repository.
This project was originally hosted on Microsoft’s CodePlex open source project hosting site, but that site is no longer in existence, so I moved the project hosting over here to GitHub.
Disclaimer
This software is provided «as-is» without any warranty express or implied.
Project History
This software was originally created in 2009 using Virtual Wifi features that were newly introduced in the Windows 7 operating system. There were a couple improvements and releases made to the software with the most recent release in 2013. This software works well for what it does, and what it was intended for. However, at this time the project is no longer being updated. Please use this software for what it does and what value it offers you. Just because there aren’t new updates doesn’t negate the benefits from working software that still solves a need people have. If you need to share your laptop or desktops Internet connection with your smartphone, tablet, or other device then this software will likely help you.
Plus, it doesn’t advertise or spy on you like other similar solution. It’s extremely humbling to see this software be so helpful to over 10 MILLION users over the years. And, people still use this software today, over 10 years after the first release! Thank you, and you are more than welcome!!
Feel free to use Virtual Router as-is. The latest released version still works just fine. However, this project will no longer be updated. I’m Chris Pietschmann, the creator of Virtual Router, and I truly thank the over 10 MILLION users for using Virtual Router over the years! Feel free to keep using Virtual Router where it provides value.
RusRoute
для Windows
RusRoute firewall — программный IPv4 и IPv6 маршрутизатор, фаервол, межсетевой экран, Интернет-шлюз для организации выхода локальной сети LAN небольшой компании в Интернет.
Имеется подсчет и ограничение трафика пользователей, защита от сетевых, (D)DOS атак, с функциями NAT, redirect, динамические шейперы, VPN сервер/клиент, прокси, мост LAN в VPN, DHCP серверы, HTTP кэши, преобразователь HTTP в HTTP прокси, с функцией Captive Portal для автоматического приглашения ввода имени и пароля пользователя при первом выходе в Интернет, настройкой времени действия и разделителей потоков для правил, с дополнительными возможностями маршрутизации.
RusRoute состоит из двух модулей: драйвера, перехватывающего Ethernet и IP-пакеты (пакеты протокола Интернет версии 4) и передающего эти пакеты для обработки модулю фаервола.
Особенности приложения:
- маршрутизатор, фаервол
- прозрачная прокси
- многофункциональный NAT
- динамический TCP шейпер
- распределённые межсерверные VPN сети
- встроенные DHCP, HTTP серверы
- гибкий HTTP кеш, автоматическая авторизация “на лету”
- авторизация, аутентификация и аккаунтинг пользователей
ТОП-сегодня раздела «Firewalls»
Firewall App Blocker 1.9
Firewall App Blocker — удобная программа для управления параметрами Firewall запуска или блокирования приложений на Вашем ПК…
Fort Firewall 3.17.6
Бесплатный и простой в использовании файервол для Windows, основанный на Windows Filtering Platform (WFP). …
Отзывы о программе RusRoute
Admin
Отзывов о программе RusRoute 2.7.4 пока нет, можете добавить…