Настройка правил межсетевого экрана из командного интерфейса
Примечание
Данная статья предназначена только для опытных пользователей.
В этой инструкции рассмотрим настройку правил межсетевого экрана из интерфейса командной строки (CLI) интернет-центра. Теоретическая информация подробно рассмотрена в статье Как реализован межсетевой экран?. Для получения информации, по настройке правил межсетевого экрана из веб-конфигуратора, обратитесь к инструкции Межсетевой экран.
CLI предоставляет дополнительные возможности настройки межсетевого экрана Keenetic, по сравнению с возможностями веб-конфигуратора. Подробное описание команд интерфейса CLI для каждой модели Keenetic можно найти в Справочнике команд, который размещён на сайте в Центр загрузки.
Сетевой экран интернет-центра Keenetic выполняет правила фильтрации, записанные в список правил доступа (Access Control List, access-list), на каждом интерфейсе, к которому привязан этот список. К одному интерфейсу может быть привязано несколько списков.
Для настройки сетевого экрана доступны следующие команды:
access-list {Имя_списка_правил}— осуществляет переход к управлению правилами в указанном списке доступа. Если списка не существует, он будет создан.no access-list {Имя_списка_правил}— удаляет указанный список, если он существует.
Например, для перехода к редактированию списка MyList1 используется команда:
(config)> access-list MyList1
(config-acl)>После создания списка доступа можно приступать к созданию его правил. Для этого используются команды deny и permit, соответствующие запрещающим и разрешающим правилам фильтрации. Формат этих команд одинаков и приведен в Справочнике команд.
Важно
Каждое правило может содержать фильтр только для одного из поддерживаемых протоколов.
Далее приведём примеры некоторых правил:
Команда, включающая фильтр для разрешения передачи TCP-пакетов с хоста
192.168.1.33на любые адреса:(config-acl)>
permit tcp 192.168.1.33/32 0.0.0.0/32Команда для запрета пинга со всех хостов подсети
192.168.1.0/24в любую другую подсеть:(config-acl)>
deny icmp 192.168.1.0/24 0.0.0.0/32Команда, включающая фильтр для запрета передачи IP-пакетов из подсети
192.168.1.0/24на любые узлы:(config-acl)>
deny ip 192.168.1.0/24 0.0.0.0/32Команда (
permit|deny ip) без указания типа протокола объединяет протоколы TCP и UDP в одну общую настройку (ip).Команда для разрешения подключения к веб-конфигуратору интернет-центра (
192.168.1.1) по протоколу HTTP (tcp порт 80) с любых хостов из Интернета:(config-acl)>
permit tcp 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0 port eq 80Чтобы удалить правило из списка, нужно повторить команду, задающую его, но перед ней указать
noНапример:
(config-acl)>
no permit tcp 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0 port eq 80
Для выхода из редактирования списка доступа используется команда exit
Сформированный список правил, при помощи приведенных выше команд, в файле конфигурации интернет-центра будет выглядеть следующим образом:
access-list MyList1 permit tcp 192.168.1.33/32 0.0.0.0/32 deny icmp 192.168.1.0/24 0.0.0.0/32 deny ip 192.168.1.0/24 0.0.0.0/32
Подготовив список правил доступа, нужно выполнить его привязку к требуемому интерфейсу устройства. Для этого служит команда ip access-group {Имя_Списка_Доступа} {направление in|out} в настройках каждого интерфейса.
Напоминаем, что для каждого списка на интерфейсе также задаётся направление потока трафика, к которому данные правила будут применены. Направление определяется относительно интерфейса (входящее направление in — всегда к устройству, а исходящее out — от него). Эта информация подробно рассмотрена в статье Как реализован межсетевой экран?.
Например, привяжем созданные правила ко внешнему интерфейсу ISP:
(config)>interface ISP(config-if)>ip access-group MyList1 outNetwork::Acl: Output "MyList1" access list added to "ISP".
В исходящем (out) направлении интерфейса ISP (это направление от интернет-центра в сеть данного интерфейса) будет запрещена передача любого трафика на любые адреса.
Список правил, подобный нашему примеру, может быть полезен, когда нужно запретить доступ в Интернет через внешний интерфейс всем хостам локальной сети, кроме одного. В нашем примере доступ и пинг запрещён всем хостам подсети 192.168.1.0, кроме хоста с IP-адресом 192.168.1.33.
На интерфейсах интернет-центра предусмотрены настройки уровня доступа (security-level), которые определяют уровень безопасности (логику работы сетевого экрана):
private(частный, локальный);public(внешний, публичный);protected(защищённый, локальный).
Схему разрешённых и запрещённых направлений передачи данных в интернет-центре серии Keenetic можно представить следующей диаграммой:

По умолчанию Keenetic принимает сетевые подключения только с интерфейсов private. Интерфейсам типа private разрешено устанавливать соединения в интерфейсы public, и на само устройство для управления и доступа к сервисам, работающим на интернет-центре. Для интерфейса гостевой сети закрыт доступ для управления интернет-центром и к его сервисам.
Между интерфейсами private и из private в protected устанавливать соединение запрещено по умолчанию, но при необходимости, доступ можно разрешить. Данная настройка зависит от установки параметра isolate-private. Если вам нужно разрешить соединения между интерфейсами типа private или между private и protected (т.е. не изолировать доступ), для этого выполните команду no isolate-private
Из интерфейсов типа public запрещено устанавливать соединения на любые интерфейсы, в том числе на другие интерфейсы типа public, а также на само устройство.
Интерфейсам типа protected разрешено устанавливать соединения только в интерфейсы public. По умолчанию доступ запрещён к устройствам интерфейсов private и других protected, а также к управлению устройством.
С помощью команды security-level public|private|protected можно управлять уровнями доступа на интерфейсах интернет-центра.
Например:
(config)>interface Bridge3(config-if)>security-level protectedNetwork::Interface::IP: "Bridge3": security level set to "protected".
Определить действующий для интерфейса уровень безопасности, а также локальный это интерфейс или публичный, можно по результатам выполнения команды show interface {Имя_Интерфейса}, которая отображает данные указанного интерфейса.
Например:
(config)> show interface ISP
id: GigabitEthernet1
index: 1
type: GigabitEthernet
description: Broadband connection
interface-name: ISP
link: up
connected: yes
state: up
mtu: 1500
tx-queue: 2000
address: 193.0.174.199
mask: 255.255.255.0
uptime: 12433
global: yes
defaultgw: yes
priority: 700
security-level: public
mac: 50:ff:20:2d:ed:ea
auth-type: noneВ строке security-level указан уровень безопасности, соответственно которому работает преднастроенная политика сетевого экрана.
Важно
По умолчанию всем вновь созданным через командную строку интерфейсам присваивается уровень безопасности public.
Список названия интерфейсов устройства и их системные идентификаторы можно посмотреть следующим образом: впишите команду show interface и затем нажмите клавишу TAB на клавиатуре. На экран будет выведен список всех имеющихся на текущий момент интерфейсов устройства, включая предустановленные служебные.

Примечание
Интернет-центр Keenetic поддерживают работу с протоколами IPv6 и IPv4. Для управления межсетевым экраном IPv6 предусмотрены только минимальные настройки: включить или выключить.
Сделать это можно через команды
ipv6 firewall(включить) иno ipv6 firewall(выключить).По умолчанию межсетевой экран для протокола IPv6 включен.
В интернет-центрах Keenetic присутствует уровень доступа
protected. Данный уровень доступа является аналогом уровняprivate, но без доступа к интернет-центру.Тип
protectedустанавливается для интерфейса гостевой сети Wi-Fi, когда в веб-конфигураторе на странице Гостевая сеть в разделе Параметры IP выключена опция Доступ к приложениям вашего устройства Keenetic. По умолчанию доступ из гостевой сети к интернет-центру запрещён. Если разрешить доступ к настройкам, для данного интерфейса будет установлен уровеньprivate.
В случае когда необходимо применить большое количество правил сетевого экрана, можно выполнять настройку правил путём редактирования файла конфигурации интернет-центра startup-config.txt с помощью любого текстового редактора. После сохранения изменений нужно загрузить файл обратно на устройство и перезагрузить его. Но редактировать файл конфигурации следует крайне осторожно, т.к. это может привести к невозможности управления устройством, потере работоспособности отдельных функций, некорректному отображению настроек в веб-интерфейсе.
Если ваше устройство после загрузки отредактированного файла конфигурации перестало корректно работать, советуем сбросить пользовательские настройки кнопкой Сброс и настроить интернет-центр заново, либо загрузить заведомо рабочий резервный конфигурационный файл.