Среди великого разнообразия Linux систем особо популярны специализированные дистрибутивы-роутеры. Такие решения, как правило, имеют небольшой размер, просты и понятны в установке и настройке, а имеющиеся функции позволяют подключить к Интернет домашнюю/корпоративную сеть, защитив ее от сетевых атак и вирусов. Дополнительно многие из них имеют функции контроля трафика, блокировки протоколов, антиспам фильтр, шейпер и много другое. Поэтому выбрать «своего защитника» достаточно не просто. Эта статья поможет тебе быстрее сориентироваться.
Untangle Gateway 7.0.1
ОС: Untangle Gateway 7.0.1
Сайт проекта: www.untangle.com
Дата выхода: 20 октября 2009 года
Лицензия: GPL
Аппаратные платформы: x86_32
Системные требования: CPU 800 МГц, 512 Mб RAM, 20 Гб диск, 2+ NIC
Дистрибутив Untangle, выпускаемый одноименной компанией, способен заменить коммерческие решения вроде ISA Server (Forefront TMG), обеспечивая безопасный доступ в Интернет. Рассчитан Untangle на небольшие и средние организации, имеющие 50-300 и более компьютеров (системные требования приведены для 50). Основой Untangle послужил Debian, все настройки производятся при помощи понятного, хотя и нелокализованного интерфейса. Для управления достаточно понимать суть, глубоких знаний Unix систем в обычной ситуации не потребуется. В отличие от других решений, использующих веб-технологии, интерфейс Untangle написан на Java, поэтому все изменения в консоли управления, статистика работы и так далее выводятся в реальном времени, что очень удобно. Хотя за использование Java пришлось заплатить повышенными системными требованиями.
Endian Firewall Community 2.3
ОС: Endian Firewall Community 2.3
Сайт проекта: www.endian.com/en/community/overview/
Дата выхода: 27 октября 2009 года
Лицензия: GPL
Аппаратные платформы: x86_32
Системные требования: CPU 166 МГц, 64 Mб RAM, 2 Гб
Основой Endian Firewall (EFW) изначально служил IPCop Firewall, в котором разработчики решили усилить функции безопасности и юзабилити интерфейса. Сегодня от родства уже мало чего осталось, а EFW строится на базе CentOS и включает полный набор средств защиты от внешних угроз, что позволяет относить его к UTM системам (Unified Threat Management). Это
Подключение к Интернет реализовано посредством Ethernet, PPPoE, ADSL (USB, PCI), ISDN, модема, в том числе и 3G. Внешнему интерфейсу можно назначить несколько IP-адресов (IP-алиасинг). Кроме локальной (NCSA) аутентификации пользователей, предусмотрена поддержка Active Directory, LDAP и RADIUS. Добавим к этому списку создание и управление VLAN, полноценное управление QoS, поддержку SNMP. В составе EFW находим два приложения для организации защищенного VPN соединения — OpenVPN и Openswan/Pluto (реализация IPsec для Linux).
IPCop Firewall 1.9.8
ОС: IPCop Firewall 1.9.8
Сайт проекта: www.ipcop.org
Дата выхода: 29 октября 2009 года
Лицензия: GPL
Аппаратные платформы: x86_32
Системные требования
Версия IPCop 0.1.1 (2002 год) базировалась на SmoothWall 0.9.9, затем проект полностью перешел на LFS и сегодня о родстве уже мало, что говорит. Дистрибутив ориентирован на рынок SOHO (Small Office, Home Office), поэтому основная задача разработчиков — сделать интерфейс удобным и простым. В поставке имеется все необходимое для организации защищенного шлюза — фильтр пакетов, IDS/IPS, веб и DNS прокси, DHCP сервер/клиент, Openswan, OpenVPN, ограничение трафика, NTP сервер. Реализован контроль соединений через веб-прокси по IP-адресам и имени системы.
Все, чего не хватает в базовой поставке, доступно в аддонах (sf.net/apps/trac/ipcop/wiki/Addons), которые разрабатываются и поддерживаются, как правило, сторонними программистами. Здесь уже находим фильтр URL, продвинутые настройки firewall, проверку веб и SMTP трафика на вирусы и многое другое. Как и в EFW, интерфейсы имеют цвета — GREEN, RED, ORANGE (DMZ) и т.д. Внешний интерфейс поддерживает подключение по Ethernet (статический, DHCP), PPTP, PPPoE, ISDN, а также посредством модемного соединения. Некоторые операции (подключение, отключение, обновление и т.п.) можно выполнять по расписанию.
До недавнего времени стабильной версией считалась 1.4.20 (с обновлением до 1.4.21), сегодня активно разрабатывается версия IPCop v2, с релизом 1.9.8 мы и познакомимся.
Для загрузки доступны не только традиционные ISO (размер 50 Мб), но и образы для сетевой загрузки, установки на USB флэшку/хард и некоторые другие.
Процесс установки производится в псевдографической консоли и весьма тривиален. По окончании набираем в браузере адрес https://айпишник_шлюза:8443/. Для локализации интерфейса следует перейти в System — GUI Setting и выбрать в списке русский язык.
Консоль управления достаточно проста. Вверху 7 вкладок (Система, Состояние, Сеть, Сервисы, Файервол, ВЧС, Логи), при наведении мышки на любой появляются подпункты. Например, чтобы настроить OpenVPN, переходим в нужную вкладку, где установив флажок «OpenVPN on RED«, активируем сервер.
Теперь указываем дополнительные параметры (IP-адрес внешней и внутренней сети, протокол, алгоритм шифрования, сжатие передаваемых данных с помощью библиотеки LZO и т.п.) Переход по «Advanced Server Options» позволит более тонко настроить работу OpenVPN сервера. Также просто в «Файервол — Firewall Rules» настраиваются правила пакетного фильтра. Выбираем тип правила (Outgouing Traffic, Перенаправление портов, IPCop Access, External IPCop Access) и заполняем предложенные поля.
SmoothWall Express 3.0 SP1 «Polar»
ОС: SmoothWall Express 3.0 SP1
Сайт проекта: smoothwall.org
Дата выхода: 8 января 2009 года
Лицензия: GPL
Аппаратные платформы: x86_32, x86_64
Системные требования: Intel Pentium 166 МГц, 32 Mб RAM, 2Гб HDD
Проект, возникший в середине 2000 года, ставил перед собой цель превратить устаревший компьютер в полноценный шлюз с функциями защиты, с настройками которого мог бы справиться обычный пользователь. Начинание имело успех. За первые месяцы с SourceForge было скачано несколько десятков тысяч копий. Хотя удобным веб-интерфейсом, IDS/IPS и некоторыми другими полезными функциями SmoothWall обзавелся чуть позже (с версии 0.9.9). А так в составе SmoothWall имеется все необходимое — firewall, форвардинг портов, поддержка VPN, Web/DNS/SIP/POP3 прокси, IM прокси (MSN/AIM/ICQ/Yahoo) с готовыми фильтрами и журналированием трафика (на базе IMSpector), DHCP сервер, NTP, поддержка QoS. Возможна установка доступа выхода в Интернет для определенных адресов в зависимости от времени суток. При необходимости трафик проверяется при помощи антивируса Clamav.
Как и в двух предыдущих дистрибутивах, поддерживается до 4 сетевых подключений: WAN, LAN, DMZ, WiFi. «Красный» интерфейс можно закрепить за: Ethernet (static, DHCP), PPPoE, ISDN, ADSL или модемным соединением.
Сам релиз 3.0 вышел в конце 2007 года, сегодня доступна свежая версия с SP1. Кроме ISO (x86, x86_64), на отдельной странице доступен образ VMWare.
Установка достаточно проста, несколько раз нажимаем ОК и все, процедура завершена. Далее идут первичные настройки — раскладка, hostname и выбор политики исходящего трафика:
— Open — весь исходящий трафик разрешен;
— Half-Open — разрешено подключение только по основным портам, потенциально опасные соединения блокированы;
— Closed — все исходящие соединения блокированы.
Затем настраиваем тип сети. Предлагается несколько комбинаций интерфейсов и типов соединений (GREEN + RED, GREEN + RED + ORANGE и т.п.) После чего распределяем сетевые устройства по назначению, указываем адреса интерфейсам (где нужно) и адреса шлюза и DNS сервера. Указываем пароль для пользователей root и admin. После перезагрузки для дальнейших установок вызываем браузер и набираем http://ip-адрес:81/ или https://ip-адрес:441.
Веб-интерфейс не локализован, но достаточно прост. Выбираем одну из основных вкладок (Control, About, Services, Networking, VPN, Logs, Tools, Maintenance) и получаем доступ к настройкам. По умолчанию Snort не активирован, необходимо перейти в Services — IDS, установить флажок «Snort» и ввести «Oink code«. Настройки правил брандмауэра производятся в Networking, выбираем нужное направление (например, outgoing) и заполняем предложенные поля. Использование AJAX позволяет админу просматривать графики загрузки каналов в реальном времени (вкладка About). Доступна статистика трафика по любому IP-адресу, за любой период времени. Обновление дистрибутива производится нажатием одной кнопки в Maintenance — Updates.
Vyatta CE 5
ОС: Vyatta Community Edition 5.0.2
Сайт проекта: www.vyatta.org
Дата выхода: 9 марта 2009 года
Лицензия: GPL
Аппаратные платформы: x86_32
Системные требования: Intel Pentium III 450 МГц, 128 Мб ОЗУ и 2 Гб, 2+ NIC
Разработчики дистрибутива Vyatta решили составить конкуренцию не кому-нибудь, а самой Cisco Systems. Взяв за основу Debian, они интегрировали его со свободно распространяемой платформой маршрутизации XORP (eXtensible Open Router Platform, xorp.org), разработкой которой занимается группа в ICSI (International Computer Science Institute) Беркли при финансировании такими гигантами, как Intel и Microsoft. Установив Vyatta на x86 компьютер, получаем маршрутизатор с функциями IDS/IPS (на базе Snort), кэширующий прокси и фильтр URL (Squid + SquidGuard), сетевые политики (Network Access Policies), OpenVPN, DNS Forwarding, Ethernet Bonding и Bridget Ethernet over ADSL (RFC 2684). Поддерживаются мультипортовые карты (T1/E1, T3 и др.) и беспроводные 3G модемы.
Первые версии Vyatta настраивались исключительно посредством командной строки (как маршрутизаторы Cisco). Затем с версии 4 стал доступен веб-интерфейс (для этих целей в состав включен lighttpd). Особо подчеркивается поддержка популярных сегодня виртуальных машин — VMware, Xen, Hyper-V и некоторых других гипервизоров. Дистрибутив может работать с LiveCD с сохранением настроек на флэшку или другой носитель (файл config.boot). Возможна установка на хард, USB-брелок или карту Compact Flash. При наличии двух дисков установщик позволяет их автоматически связать в RAID 1.
Проект предлагает коммерческую поддержку и продает роутеры с предустановленным ПО. Для свободной загрузки и использования доступна версия Vyatta Community Edition (ISO, образы Citrix XenServer и VMWare).
Процесс установки достаточно прост, хотя и производится при помощи командной строки. Регистрируемся как root с паролем vyatta и запускаем инсталлятор:
# install-system
Далее подтверждаем установку и приступаем к созданию разделов. По умолчанию стоит Auto. Введя «Yes», подтверждаем уничтожение данных на диске, указываем размер корневого раздела (по умолчанию весь диск) и ждем, пока скопируются данные. Затем устанавливаем пароли пользователей root и vyatta, водружаем GRUB, после чего перезагружаемся и переходим в режим конфигурирования:
# configure
Настраиваем сетевой интерфейс:
# set interfaces ethernet eth0 address 192.168.1.1/24
# set interfaces ethernet eth0 description LAN
Включаем веб-интерфейс:
# set service https
Аналогично включаются и остальные сервисы — nat, dns, dhcp-relay, dhcp-server, webproxy, ssh. В консоли доступно автодополнение: нажимая , получаем список возможных значений. Подтверждаем все установки.
# commit
Смотрим, что получилось:
# show interfaces
Все настройки можно вывести, набрав show-all. Выходим из режима редактирования по команде exit. Теперь вызываем браузер и настраиваем параметры при помощи веб-интерфейса. Выбираем нужную категорию и нажимаем кнопку Create, после чего заполняем предложенные поля. Кнопка Show в самом верху покажет конфигурационный файл, в котором знаком «+» будут подсвечены добавленные, но еще неактивированные параметры. Чтобы привести их в действие, нажимаем кнопку Commit (отмена — Discard).
На мой взгляд, проще ввести в командной строке:
# set firewall name allow rule 10 action accept
# set firewall name allow rule 10 source address 192.168.0.0/24
# set interfaces ethernet eth0 firewall in name allow
# commit
Чем настраивать аналогичное разрешающее правило при помощи предлагаемого веб-интерфейса. Нужно только немного привыкнуть к новому синтаксису.
Заключение
Победителя каждый выберет себе сам, исходя из конкретных задач. Мне лично нравится Vyatta за гибкость и Cisco-подобные команды, Endian Firewall и Untangle — за оснащенность. Тем, кому нужны простота в настройках, присмотритесь к SmoothWall и IPCop.
www.tux.in.ua
Программный маршрутизатор «ArtX router»
Основные функции и модули маршрутизатора:
Интерфейсы 1\10 GE, RS-232
Производительность маршрутизации — до 2 000 000 packet\s в режиме полной поддержки BGP Full View.
Программный маршрутизатор реализован на ОС Linux v. 3.10 (функции 1-12) и ОС Free BSD v.9.1 Реализация ПМ для двух операционных систем позволяет использовать особенности каждой из них для решения специализированных задач, использовать дополнительный функционал, предоставляемый сторонними разработчиками и главное использовать передовые разработки для каждой из ОС, появление которых происходит или не синхронно или вообще не происходит.
В качестве платформы для ПМ используются современные многоядерные процессорные платы общего назначения, что сильно влияет на снижение стоимости решения.
Описание функций (модулей) маршрутизатора.
Поддержка протоколов IP v4/ IPv6 с применением механизма policy-based routing (PBS, маршрутизация на основе правил). Поддержка множественных таблиц маршрутизации и специальных таблиц маршрутизации на основе правил. Это позволяет создавать более гибкие механизмы обработки пакетов, дополняя стандартные механизмы, предоставленные протоколами маршрутизации.
Поддержка протоколов OSPF, BGP4, BGP6, RIP v1/2, IS-IS, RIP-NG без ограничения числа записей в таблице маршрутизации.
Поддержка MPLS, 802.1q.
Виртуальный маршрутизатор (virtual router). Возможность создания множества виртуальных маршрутизаторов внутри функционала данного маршрутизатора. То есть, можно на одной платформе иметь несколько маршрутизаторов, реализующих особенные или дополнительные к основной задачи или просто клоны основного маршрутизатора. Масштабирование задачи ограничивается только количеством ОЗУ и мощностью платформы.
Фильтрация пакетов на основе одиночных или комбинированных фильтров по source/destination, port, protocol, address,содержимого пакета (content, u32 filter), заданной последовательности байтов в пакете данных. Поддержка фильтрации по таблицам адресов и портов. Динамическое добавление таблиц фильтрации. Динамическая фильтрация пакетов по заданным условиям на основе правил.
NAT, поддержка трансляции адреса источника, адреса назначения, masquerading
поддержка туннелей IPSEC, PPPoE, PPTP, L2TP, EoIP (GRE,ArtX). EoIP (ArtX) — проприетарный туннель, собственная разработка компании.
Подержка L2Bridge + Filter позволяет маршрутизатору осуществлять коммутацию пакетов на втором уровне (Layer2 switch) с возможностью фильтрации трафика (L2,L3) и перенаправления трафика в систему маршрутизации L3.
Transparent PROXY для протокола НТТР с кешированием контента. Для протокола HTTPS возможна поддержка замены корневого сертификата для пересылки трафика на ICAP сервер (MITM attack). (C использованием данной технологии (направления) связывается разработка SSL SPLIT для исследования контента в защищенных соединениях).
FLOW QUEUE (QoS), 802.1p, RED, GRED. Классификация трафика на основе адресации пакета (адрес, порт, протоколы), содержимого пакета (u32), меток файервола и т. д. Разделение трафика по очередям и установка правил (дисциплин) обработки этих очередей. Реализация FLOW QUEUE позволяет обеспечивать механизмы не толькоТоS, QoS, CoS, но и задачи связанные с обеспечением DPI, управлением предоставляемыми услугами.
Маршрутизатором поддерживается модуль DPI, обеспечивающий поиск известных (зарегистрированных) в системе протоколов в трафике и возможность классификации и фильтрации по контенту передающемуся в идентифицированных системой протоколах (типах трафика).
Мультиплексор (MUX) каналов — модуль обеспечивающий объединение нескольких L2 каналов в один канал, с учетом загрузки объединенных каналов и\или приоритетом трафика в объединяемых каналах.
Конфигуратор системы: система конфигурирования, управления, мониторинга с веб-интерфейсом. Поддержка CLI (telnet). Логгирование: локальное, поддержка syslog. Поддержка программных интерфейсов и протоколов для взаимодействия с системами биллинга, управления услугами и т.д.
Мониторинг SNMP v2/v3
Обовление ПО — www server. Поддержка модульной лицензионной политики.
steptosleep.ru
p.s. Будет дополняться! Может у Вас есть что добавить.
edgi.livejournal.com
И снова здравствуйте!
В первой части статьи я рассказывал о «железной» составляющей будущего роутера. Поскольку без софта даже самое расчудесное железо, естественно, работать не будет, следовательно требовалось снабдить аппарат соответствующей программной «начинкой».
Когда я затевал всё это движение, я предполагал, что будет непросто. Но не предполагал, что настолько. В одном из комментариев к предыдущей части статьи я клятвенно пообещал рассказать о нижеследующем «к выходным». Благоразумно умолчал к каким именно. 🙂 Тут ещё умудрился прихворнуть не вовремя, но всё-таки сдерживаю своё обещание.
Итак…
Напомню комплектацию:
Ещё раз уточню, что эти ваши интернеты приходят ко мне по 100 Мбитному каналу (тариф, естественно, даёт несколько меньшую скорость, но не суть). Получилось, собственно, вот что:
Расстраивался я недолго: не состоялась фряха — возьму старый добрый Debian. Установил с netinstall-образа базовую систему без графического окружения. Долго пытался понять, что не так. Стабильный релиз Debian в данный момент 7.7.0, имеет ядро версии 3.2. В этом ядре опять же нет поддержки моей многострадальной Wi-Fi сетевушки. Полез на ЛОР искать ответ, в итоге получил неутешительные выводы: надо ставить ядро посвежее (в случае Debian — тот ещё геморрой), пляски с бубном ядрами, по мнению гуру, не труъ Debian-way (так прямо и сказали: хочешь перекомпилять ядра — выбери другой дистрибутив).
Плюнув на попытки круто провести время покрасноглазить, я взял знакомый и уважаемый мной дистрибутив. Уже более года он (правда версии 12.04 LTS) вертится у меня на сервере, раздающем плюшки в сети провайдера.
Из плюсов: стабильность, простота установки, настройки и администрирования, куча документации.
Из минусов: необходимость дорабатывать напильником, поскольку «искаропки» получается толстоват и несколько неповоротлив.
Важным моментом является правильная разметка и подготовка SSD. Всем прекрасно известно, что твердотельные накопители построены на технологии flash-памяти и имеют ограниченный ресурс на запись. Справедливости ради отмечу, что на просторах всемирной паутины глаголят о достаточной надёжности современных твердотельников (сравнимой с классическими жёсткими дисками). Тем не менее было бы глупо плевать на элементарные рекомендации в отношении эксплуатации SSD.
Перед началом любых манипуляций с накопителем рекомендуется обновить прошивку, но на моём оказалась самая свежая, поэтому данный шаг я пропустил.
Первой необходимой манипуляцией при разметке накопителя является выравнивание разделов диска. Если кратко, то каждый раздел должен начинаться с сектора кратного 8. Первый раздел рекомендовано начинать с 2048 сектора (это связано с расположением в начале накопителя MBR или GPT, а «отступ» в 1 Мб берётся с запасом.
При разметке я создал 3 раздела:
$ sudo fdisk -l
Диск /dev/sda: 120.0 Гб, 120034123776 байт
255 головок, 63 секторов/треков, 14593 цилиндров, всего 234441648 секторов
Units = секторы of 1 * 512 = 512 bytes
Размер сектора (логического/физического): 512 байт / 4096 байт
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Идентификатор диска: 0x000ea779
Устр-во Загр Начало Конец Блоки Id Система
/dev/sda1 * 2048 1050623 524288 83 Linux
/dev/sda2 1050624 42993663 20971520 83 Linux
/dev/sda3 42993664 234440703 95723520 83 Linux
Далее в опциях монтирования разделов в /etc/fstab следует добавить discard — для включения TRIM и noatime — для отключения записи в метаданные времени последнего доступа к файлу.
Очередное отступлениеС noatime не всё так однозначно. Например, в десктопных системах браузеры отслеживают «свежесть» своего кэша именно по времени последнего доступа, таким образом, включение данной опции влечёт за собой не уменьшение записи на диск, а наоборот — увеличение, поскольку браузер видит, что его кэш «протух» и начинает подтягивать новый. В этом случае рекомендуется использовать опцию relatime — атрибут времени доступа (atime) обновляется, но только в том случае, если изменились данные файла (атрибут mtime) или его статус (атрибут ctime). Для серверной системы это, пожалуй, не столь критично, но всё же я включил noatime для boot, а для root и home — relatime.
Также было принято волевое решение вынести временные файлы (/tmp) в tmpfs.
В процессе установки задаются общие параметры, как то: локаль, параметры времени/геопозиции, имя системы, а также создаётся новый юзер и пароль к нему. Далее следует выбор устанавливаемого программного обеспечения, в котором я пометил для установки следующее:
add to /etc/modprobe.d/blacklist.conf:
blacklist gma500_gfxrun
sudo update-initramfs -u
sudo reboot
no talloc stackframe at ../source3/param/loadparm.c:4864, leaking memory
$ sudo pam-auth-update
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get dist-upgrade
$ ifconfig -a
em0 Link encap:Ethernet HWaddr 00:22:4d:ad:69:f0
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Interrupt:17 Память:d0220000-d0240000
eth0 Link encap:Ethernet HWaddr d8:fe:e3:a7:d5:26
inet addr:192.168.1.10 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::dafe:e3ff:fea7:d526/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:741 errors:0 dropped:0 overruns:0 frame:0
TX packets:477 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:482523 (482.5 KB) TX bytes:45268 (45.2 KB)
eth2 Link encap:Ethernet HWaddr 00:22:4d:ad:69:ec
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Interrupt:16 Память:d0320000-d0340000
lo Link encap:Локальная петля (Loopback)
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:28 errors:0 dropped:0 overruns:0 frame:0
TX packets:28 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1784 (1.7 KB) TX bytes:1784 (1.7 KB)
wlan0 Link encap:Ethernet HWaddr 80:19:34:1e:fe:83
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
$ sudo iwconfig wlan0 mode Master
$ sudo apt-get install iw
$ sudo iw dev wlan0 del
$ sudo iw phy phy0 interface add wlan0 type __ap
$ iwconfig
wlan0 IEEE 802.11abgn Mode:Master Tx-Power=0 dBm
Retry long limit:7 RTS thr:off Fragment thr:off
Power Management:on
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet dhcp
auto wlan0 br0
# The wireless interface
iface wlan0 inet manual
pre-up iw dev wlan0 del
pre-up iw phy phy0 interface add wlan0 type __ap
# The bridge
iface br0 inet static
address 192.168.0.1
network 192.168.0.0
netmask 255.255.255.0
broadcast 192.168.0.255
bridge_ports em0 eth2 wlan0
$ ifconfig -a
br0 Link encap:Ethernet HWaddr 00:22:4d:ad:69:ec
inet addr:192.168.0.1 Bcast:192.168.0.255 Mask:255.255.255.0
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
em0 Link encap:Ethernet HWaddr 00:22:4d:ad:69:f0
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Interrupt:17 Память:d0220000-d0240000
eth0 Link encap:Ethernet HWaddr d8:fe:e3:a7:d5:26
inet addr:192.168.1.10 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::dafe:e3ff:fea7:d526/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1329 errors:0 dropped:0 overruns:0 frame:0
TX packets:819 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:531178 (531.1 KB) TX bytes:125004 (125.0 KB)
eth2 Link encap:Ethernet HWaddr 00:22:4d:ad:69:ec
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Interrupt:16 Память:d0320000-d0340000
lo Link encap:Локальная петля (Loopback)
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:28 errors:0 dropped:0 overruns:0 frame:0
TX packets:28 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1784 (1.7 KB) TX bytes:1784 (1.7 KB)
wlan0 Link encap:Ethernet HWaddr 80:19:34:1e:fe:83
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
interface=wlan0
bridge=br0
driver=nl80211
logger_syslog=-1
logger_syslog_level=4
logger_stdout=-1
logger_stdout_level=4
ssid=TEST
hw_mode=g
ieee80211n=1
ht_capab=[HT40-][SHORT-GI-40]
channel=11
macaddr_acl=0
deny_mac_file=/etc/hostapd/hostapd.deny
auth_algs=3
ignore_broadcast_ssid=1
ap_max_inactivity=300
wpa=2
wpa_passphrase=my_wpa_passphrase
wpa_key_mgmt=WPA-PSK
rsn_pairwise=CCMP
DAEMON_CONF="/etc/hostapd/hostapd.conf"
DAEMON_OPTS="-B"
RUN_DAEMON="yes"
# Configuration file for dnsmasq.
#
# Format is one option per line, legal options are the same
# as the long options legal on the command line. See
# "/usr/sbin/dnsmasq --help" or "man 8 dnsmasq" for details.
# Never forward plain names (without a dot or domain part)
domain-needed
# Never forward addresses in the non-routed address spaces.
bogus-priv
# If you want dnsmasq to listen for DHCP and DNS requests only on
# specified interfaces (and the loopback) give the name of the
# interface (eg eth0) here.
# Repeat the line for more than one interface.
interface=br0
# This is an example of a DHCP range where the netmask is given. This
# is needed for networks we reach the dnsmasq DHCP server via a relay
# agent. If you don't know what a DHCP relay agent is, you probably
# don't need to worry about this.
dhcp-range=192.168.0.2,192.168.0.254,255.255.255.0,12h
# Give a host with Ethernet address 11:22:33:44:55:66 or
# 12:34:56:78:90:12 the IP address 192.168.0.60. Dnsmasq will assume
# that these two Ethernet interfaces will never be in use at the same
# time, and give the IP address to the second, even if it is already
# in use by the first. Useful for laptops with wired and wireless
# addresses.
#dhcp-host=11:22:33:44:55:66,12:34:56:78:90:12,192.168.0.60
dhcp-host=00:11:22:33:44:55,66:77:88:99:aa:bb,MyDevice1,192.168.0.2
dhcp-host=cc:dd:ee:ff:ee:dd,cc:bb:aa:99:88:77,MyDevice2,192.168.0.3
Ффух… Получилось несколько сумбурное описание моих мытарств с собственноручно собранным устройством, но удовлетворение от того, что всё работает просто неописуемо.
В комментарии к предыдущей части статьи многоуважаемый dmitrmax интересовался уровнем энергопотребления сборки. Ну что же, привожу примерные данные, которые мне удалось почерпнуть из открытых источников:
Вроде бы ничего не забыл, упомянул все ключевые моменты. За подробностями прошу в комментарии. Спасибо за внимание! (-;
UPD: Господин Revertis справедливо заметил, и я с ним соглашусь, что изначально при установке системы не следовало отмечать DNS-сервер, чтобы потом его сносить (речь о bind9), но в статье я описывал именно путь, который проделал — со всеми его ошибками и закоулками. И да, соглашусь, что nginx лучше, чем Apache, более того — я его даже заменю. Спасибо за совет.
habr.com
Существует немецкая компания Mikrotik, которая выпускает отличные роутеры. Благодаря операционной системе, разработанной этой компанией, в роутер можно превратить любой компьютер.
Системные требования – невысоки, и зависят от типа выполняемых задач и нагрузки. Все бы хорошо, но данная операционная система является платной. В то же время, альтернативой для нее считаются сборки Linux router. Это – дистрибутивы, построенные на базе Linux, позволяющие получить от ПК функциональность роутера.
Схема включения роутера в домашней сети
Как нетрудно догадаться, за основу большинства рассматриваемых дистрибутивов взяты «фирменные» широко распространенные сборки Linux (Цент-ОС, Дебиан и некоторые другие). Но есть исключения, например, система SmoothWall, обладающая очень низкими системными требованиями.
Пользователь, прочитав данное руководство, может остановить свой выбор на двух или трех дистрибутивах. Затем, надо будет изучить каждый из них в отдельности (более подробно), после чего, можно будет определиться на 100%, что именно устанавливать на компьютер. Желаем удачи!
Сразу отметим, что о машинах с 486-м процессором здесь речь не идет. Роутер можно собрать, если есть плата с процессором Pentium 166 МГц или выше. Современное ядро Linux – достаточно прожорливо, что поделать.
Ознакомьтесь с требованиями к железу, актуальными для каждого дистрибутива. Лучшим вариантом «апгрейда» ПК, используемого как роутер, можно считать добавление в него оперативной памяти. Впрочем, для начала будет достаточно и 32-х мегабайт… Рассматриваемые дистрибутивы поддерживают разные протоколы подключения (и даже через внешний COM-модем).
Данный проект ведет свое начало с 2000 года. Дистрибутив сделан не на основе какой-либо готовой сборки, однако, распространяется под лицензией GPL. Актуальная сегодня версия: 3.1.
Действуем так: скачиваем образ дистрибутива для требуемой архитектуры («686» значит «32-разрядный процессор», что подходит всем). В компьютер можно установить включительно до 4-х сетевых карт (проводных или беспроводных), большее число – не поддерживается.
Установка идет очень просто: нажимаем несколько раз «OK», выбираем раскладку клавиатуры и сетевое имя «роутера». В качестве политики исходящего трафика рекомендуем выбрать «Open».
Стартовая вкладка web-интерфейса
Интерфейс будет доступен по адресу: «IP роутера:81» или «IP роутера:441». Каждая вкладка содержит набор закладок (доступны функции «обычного роутера», и даже больше):
Закладка «монитор трафика»
Эта сборка базировалась на SmoothWall, но затем родство потерялось. В задачу разработчиков входило сделать интерфейс настройки простым и понятным. То есть, похожим на web-интерфейс «обычного» роутера.
Из протоколов VPN поддерживается только Open VPN. Интерфейс выглядит так:
Web-интерфейс, основная вкладка
Не думайте, что здесь доступно более 4-х сетевых контроллеров (можно установить и больше, но использовать будете только 4).
Не что иное, как улучшенная версия предыдущего дистрибутива. Улучшения коснулись интерфейса и опций безопасности.
Впрочем, от IPCop в данном дистрибутиве осталось мало чего, так как он теперь построен на базе CentOS. Плюсы: можно сохранять настройки на отдельной USB-флешке. Минусы: по-прежнему, работает четыре сетевых порта.
Рассматриваемые здесь сборки реализуют возможности профессионального роутера. Для дома и малого офиса – это избыточно. Например, дистрибутив Untangle подходит для средних организаций (50-300 рабочих станций и сетевых устройств). Мы приводим лишь минимальные системные требования и рассматриваем основные особенности.
Не устанавливайте этот дистрибутив у себя дома. Интерфейс роутера здесь построен полностью на Java. Плюсы: все отображается «в реальном времени». Минусы: web-интерфейс требует много ресурсов, в том числе, на стороне терминала.
Подключаемые модули есть во всех рассмотренных дистрибутивах. Но здесь в их числе будут: антивирус Касперского (платный), приложение для Active Directory, Web Filter от eSoft. Вообще, сборку считают функциональным аналогом системы ISA Server.
Web-интерфейс Untangle Gateway
Установив данную операционную систему, пользователь получит аналог роутера Cisco. Все опции здесь доступны из командной строки, а web-интерфейс неудобен и требует знания синтаксиса:
Графический интерфейс настройки роутера Vyatta
Кстати, Vyatta базируется на дистрибутиве Debian.
http://youtu.be/MdaENZhQFKs
27sysday.ru
V3.01 —>
Статья для журнала Взломщик
Среди великого контраста Linux систем особо популярны спец дистрибутивы-роутеры. Такие решения, обычно, имеют небольшой размер, просты и понятны в установке и настройке, а имеющиеся функции позволяют подключить к Интернет домашнюю/корпоративную сеть, защитив ее от сетевых атак и вирусов.
Дополнительно многие из их имеют функции контроля трафика, блокировки протоколов, антиспам фильтр, шейпер и много другое. Поэтому выбрать «собственного заступника» достаточно не просто. Эта статья поможет тебе быстрее сориентироваться.
Untangle Gateway 7.0.1
ОС: Untangle Gateway 7.0.1
Сайт проекта: www.untangle.com
Дата выхода: 20 октября Две тыщи девять года
Лицензия: GPL
Аппаратные платформы: x86_32
Системные требования: CPU Восемьсот МГц, 500 двенадцать Mб RAM, 20 Гб диск, 2+ NIC
Дистрибутив Untangle, выпускаемый одноименной компанией, способен поменять коммерческие решения вроде ISA Server (Forefront TMG), обеспечивая безопасный доступ в Интернет. Рассчитан Untangle на мелкие и средние организации, имеющие 50-300 и более компютеров (системные требования приведены для 50).
Основой Untangle послужил Debian, все функции производятся при помощи понятного, хотя и нелокализованного интерфейса. Для управления достаточно обдумывать суть, глубочайших знаний Unix систем в обычной ситуации не будет необходимо.
В отличие от других решений, использующих веб-технологии, интерфейс Untangle написан на Java, поэтому все конфигурации в консоли управления, статистика работы и т.д. выводятся в реальном времени, что очень комфортабельно. Хотя за внедрение Java пришлось заплатить завышенными системными требованиями.
Untangle выполнен в виде конструктора. После установки базовой системы в нем отсутствуют модули защиты, администратор без помощи других выбирает то, что взаправду необходимо, ориентируясь по задачам и имеющемуся оборудованию.
В Untangle можно добавить Девяносто четыре пакета (19 приложений), которые обеспечат: маршрутизацию, антивирусную/антифишинг/spyware защиту, обнаружение атак, анализ протоколов (7 уровень), контентную фильтрацию веб-трафика, VPN-подключения и многие другие функции. В их базе лежат популярные OpenSource приложения — Snort, ClamAV, SpamAssassin, Squid и т.д.
От DoS’а и некоторых низкоуровневых сетевых атак защищает модуль собственной разработки «Attack Blocker», который предлагается безвозмездно. Антиспам фильтр распознает мусор в изображениях, для чего он подключается к OCR. Модуль анализа протоколов при необходимости способен ограничить работу всех протоколов прикладного уровня (P2P, IM и т.п., всего ~100 протоколов), даже если они употребляют нестандартные порты.
Бесплатный модуль Reports позволяет админу получать отчеты по всем возможным ситуациям — сетевой активности, протоколам, обнаруженному мусору и вирусам, активности юзеров. Результат можно сохранить в файлы форматов PDF, HTML, XLS, CSV и XML и выслать по e-mail.
Установка дистрибутива достаточно проста и занимает минимум времени: обычно следуем по подсказкам мастера (во время установки можно выбрать русский язык), отвечая на вопросы. По ходу будут испытаны системные требования, во всех позициях должно стоять ОК. Далее форматируем жесткий диск, процесс автоматизирован, для чего достаточно нажать кнопку «Продолжить«.
После перезагрузки активируется мастер, задача которого — помочь в настройке шлюза. В списке предложенных языков понятен только англицкий, русского здесь уже нет.
Далее попеременно набираем пароль для учетной записи admin, выбираем часовой пояс, вводим регистрационную информацию (неотклонимы e-mail и количество компов). После этого система распознает сетевые карты и назначает их — External/Internal (при наличии третьего сетевого интерфейса можно без особых заморочек организовать демилитаризованную зону).
Используя мышку, назначение можно поправить, только вот отыскать, где какая из карт при имеющейся инфы нереально. Указываем тип интернет-подключения (DHCP, PPPoE, Static), для проверки нажимаем «Testing Connectivity«.
На шаге «Internal Network» будет необходимо выбрать один из 2-ух вариантов внедрения Untangle: Transparent Bridge или Router. При выборе второго варианта нужно указать Ip-адрес интерфейса внутренней сети и опционально активировать встроенный DHCP сервер.
И последний этап — отправка тестового сообщения по e-mail, по умолчанию употребляется внутренний SMTP, но можно указать и хоть какой внешний. По окончании загружается консоль управления. Слева две вкладки.
В Apps выбираем и устанавливаем пакеты, в Config — производим функции. Все разбито по пт, поэтому найти нужные установки и разобраться до боли просто. Например, для функции Firewall переходим в одноименную вкладку. Система сходу предложит скачать требуемый пакет.
Нажимаем «Free Download», по окончании загрузки в центре окна появится ярлык для функции компонента.
Аналогичным образом ставим все необходимое — Attack Blocker, Protocol Control, OpenVPN, Reports и т.д. Для функции модуля выбираем его и щелкаем по кнопке Setting.
Например, в Firewall уже имеются Три приготовленных правила (блокировка входящих соединений на 20 один порт, блокирующий и разре
hpunix.org
В статье об отказоустойчивом роутере мы вскользь упоминали свой корпоративный стандарт для решения этой задачи — Open Source-продукт NetGWM — и обещали рассказать об этой утилите подробнее. Из этой статьи вы узнаете, как устроена утилита, какие «фишки» можно использовать в работе с ней и почему мы решили отказаться от использования альтернативных решений.
ip rule
), по которым трафик попадает в ту или иную таблицу маршрутизации (например, по источнику и/или по метке из iptables).Исходный код и документация на английском языке доступны на GitHub, а краткая документация и описание на русском языке — здесь.
Установка из GitHub:
## Предварительно в системе требуется установить:
## iproute2, conntrack, модуль python-yaml
## После этого клонируем репозиторий:
$ git clone git://github.com/flant/netgwm.git netgwm
## И устанавливаем (понадобятся права суперпользователя):
$ cd netgwm && sudo make install
## Добавим служебную таблицу маршрутизации, которая будет использоваться NetGWM
$ sudo sh -c "echo '100 netgwm_check' >> /etc/iproute2/rt_tables"
## Добавляем в cron пользователя root вызов netgwm с той частотой,
## с которой вам бы хотелось проверять доступность основного шлюза
## (например, раз в минуту):
$ sudo crontab -e
*/1 * * * * /usr/lib/netgwm/newtgwm.py
## Установим репозиторий:
$ sudo wget https://apt.flant.ru/apt/flant.trusty.common.list \
-O /etc/apt/sources.list.d/flant.common.list
## Импортируем ключ:
$ wget https://apt.flant.ru/apt/archive.key -O- | sudo apt-key add -
## Понадобится HTTPS-транспорт — установите его, если не сделали это раньше:
$ sudo apt-get install apt-transport-https
## Обновим пакетную базу и установим netgwm:
$ sudo apt-get update && sudo apt-get install netgwm
netgwm
, init-скрипт которой стартует в качестве демона небольшой shell-скрипт /usr/bin/netgwm
, который, в свою очередь, читает из файла /etc/default/netgwm
значение параметра INTERVAL
(в секундах) и с указанной периодичностью сам вызывает netgwm.py
.Допустим, есть 3 оператора, и необходимо сделать так, чтобы основным оператором был оператор 1, в случае отказа — использовался оператор 2, а в случае отказа из обоих — оператор 3.
Пусть первый оператор у нас подключен к интерфейсу eth2, второй — к eth3, третий — к eth4. Первый оператор имеет шлюз 88.88.88.88, второй оператор — шлюз 99.99.99.99, третий — 100.100.100.100.
Мы почти всегда при настройке сети с несколькими основными шлюзами используем маркировку пакетов и модуль conntrack из NetFilter. Это хорошая практика, помогающая распределять пакеты по таблицам маршрутизации с учетом состояния, но не являющаяся обязательной.
Настроим маркинг пакетов и conntrack:
iptables -t mangle -A PREROUTING -i eth2 -m conntrack --ctstate NEW,RELATED -j CONNMARK --set-xmark 0x1/0x3
iptables -t mangle -A PREROUTING -i eth3 -m conntrack --ctstate NEW,RELATED -j CONNMARK --set-xmark 0x2/0x3
iptables -t mangle -A PREROUTING -i eth4 -m conntrack --ctstate NEW,RELATED -j CONNMARK --set-xmark 0x3/0x3
iptables -t mangle -A PREROUTING -j CONNMARK --restore-mark --nfmask 0xffffffff --ctmask 0xffffffff
iptables -t mangle -A OUTPUT -o eth2 -m conntrack --ctstate NEW,RELATED -j CONNMARK --set-xmark 0x1/0x3
iptables -t mangle -A OUTPUT -o eth3 -m conntrack --ctstate NEW,RELATED -j CONNMARK --set-xmark 0x2/0x3
iptables -t mangle -A OUTPUT -o eth4 -m conntrack --ctstate NEW,RELATED -j CONNMARK --set-xmark 0x3/0x3
iptables -t mangle -A OUTPUT -j CONNMARK --restore-mark --nfmask 0xffffffff --ctmask 0xffffffff
iptables -t mangle -A POSTROUTING -o eth2 -m conntrack --ctstate NEW,RELATED -j CONNMARK --set-xmark 0x1/0x3
iptables -t mangle -A POSTROUTING -o eth3 -m conntrack --ctstate NEW,RELATED -j CONNMARK --set-xmark 0x2/0x3
iptables -t mangle -A POSTROUTING -o eth4 -m conntrack --ctstate NEW,RELATED -j CONNMARK --set-xmark 0x3/0x3
iptables -t mangle -A POSTROUTING -j CONNMARK --restore-mark --nfmask 0xffffffff --ctmask 0xffffffff
/etc/network/interfaces
при событии post-up
на интерфейсе lo:#!/bin/bash
/sbin/ip rule flush
# operator 1
/sbin/ip rule add priority 8001 iif eth2 lookup main
/sbin/ip rule add priority 10001 fwmark 0x1/0x3 lookup operator1
/sbin/ip rule add from 88.88.88.88 lookup operator1
# operator 2
/sbin/ip rule add priority 8002 iif eth3 lookup main
/sbin/ip rule add priority 10002 fwmark 0x2/0x3 lookup operator2
/sbin/ip rule add from 99.99.99.99 lookup operator2
# operator 3
/sbin/ip rule add priority 8002 iif eth4 lookup main
/sbin/ip rule add priority 10002 fwmark 0x3/0x3 lookup operator3
/sbin/ip rule add from 100.100.100.100 lookup operator3
/etc/iproute2/rt_tables
:# Зарезервированные значения:
255 local
254 main
253 default
0 unspec
# Служебная таблица, которую мы (или dpkg) добавили ранее:
100 netgwm_check
# Таблицы для операторов, которые мы должны добавить сейчас:
101 operator1
102 operator2
103 operator3
netgwm.py
будет искать конфигурационный файл по адресу /etc/netgwm/netgwm.yml
, однако вы можете переопределить это с помощью ключа -c
. Настроим работу утилиты:# Описываем маршруты по умолчанию для каждого оператора и приоритеты
# Меньшее значение (число) имеет больший приоритет. 1 - самый высокий приоритет
# Обратите внимание, что для смены шлюза по умолчанию на другой достаточно просто
# изменить значения приоритетов в этом файле. И уже при следующем запуске (через
# минуту в нашем случае) шлюз изменится на более приоритетный (если он доступен).
# Наименование оператора должно совпадать с именем таблицы маршрутизации из
# /etc/iproute2/rt_tables
gateways:
operator1: {ip: 88.88.88.88, priority: 1}
operator2: {ip: 99.99.99.99, priority: 2}
operator3: {ip: 100.100.100.100, priority: 3}
# Этот параметр решает проблему «шалтай-болтай», когда приоритетного
# оператора (из доступных) «штормит».
# Параметр определяет время постоянной доступности (в секундах),
# после которого netgwm будет считать, что связь стабильна
min_uptime: 900
# Массив удаленных хостов, которые будут использоваться netgwm для
# проверки работоспособности каждого оператора. Здесь стоит указать либо важные
# для вас хосты в интернете, либо общедоступные и стабильно работающие ресурсы,
# как сделано в примере. Шлюз считается недоступным, если netgwm НЕ СМОГ
# установить через него связь до ВСЕХ (условие AND) указанных хостов
check_sites:
- 8.8.8.8 # Google public DNS
- 4.2.2.2 # Verizon public DNS
# По умолчанию netgwm проверяет доступность только для самого
# приоритетного шлюза. Если тот недоступен — до второго по приоритетности и т.д.
# Данная опция, будучи установленной в true, заставит netgwm проверять
# доступность всех шлюзов при каждом запуске
check_all_gateways: false
Если произойдет переключение, то после смены основного шлюза будут выполнены все исполняемые файлы из каталога /etc/netgwm/post-replace.d/*
. При этом каждому файлу будут переданы 6 параметров командной строки:
$1
— наименование нового оператора;$2
— IP вновь установленного шлюзе или NaN, если новый шлюз установить не удалось;$3
— имя устройства нового шлюза или NaN, если шлюз установить не удалось;$4
— наименование старого оператора или NaN, если шлюз устанавливается впервые;$5
— IP старого оператора или NaN, если шлюз устанавливается впервые;$6
— имя устройства старого оператора или NaN, если шлюз устанавливается впервые.#!/bin/bash
# Определяем, что произошло: переключение или старт netgwm
if [ "$4" = 'NaN' ] && [ "$5" = 'NaN' ]
then
STATE='start'
else
STATE='switch'
fi
# Отправляем уведомление дежурным инженерам о произошедшем
case $STATE in
'start')
/usr/bin/flant-integration --sms-send="NetGWM on ${HOSTNAME} has been started and now use gw: $1 - $2"
;;
'switch')
/usr/bin/flant-integration --sms-send="NetGWM on ${HOSTNAME} has switched to new gw: $1 - $2 from gw: $4 - $5"
;;
*)
/usr/bin/logger -t netgwm "Unknown NetGWM state. Try restarting service fo fix it."
;;
esac
exit
netgwm
в Ubuntu, если вы установили DEB-пакет:$ sudo service netgwm start
/var/log/netgwm
:$ tail -n 3 /var/log/netgwm.log
2017-07-14 06:25:41,554 route replaced to: via 88.88.88.88
2017-07-14 06:27:09,551 route replaced to: via 99.99.99.99
2017-07-14 07:28:48,573 route replaced to: via 88.88.88.88
Стабильность, покрытие всех наших потребностей и отсутствие проблем в эксплуатации в течение длительного времени привели к тому, что мы практически не занимаемся развитием проекта. Код NetGWM написан на Python, поэтому отсутствует и необходимость в адаптации утилиты к новым версиям операционных систем. Тем не менее, мы будем очень рады, если вы решите принять участие в развитии NetGWM, отправив свои патчи в GitHub или просто написав feature request в комментариях.
Любые вопросы по использованию NetGWM также приветствуются — можно прямо здесь в комментариях.
P.S. Читайте также в нашем блоге: «Наш рецепт отказоустойчивого Linux-роутера» — и подписывайтесь на него, чтобы не пропускать новые материалы!
habr.com