Настройка правил межсетевого экрана из командного интерфейса
Примечание
Данная статья предназначена только для опытных пользователей.
В этой инструкции рассмотрим настройку правил межсетевого экрана из интерфейса командной строки (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 out
Network::Acl: Output "MyList1" access list added to "ISP".
В исходящем (out
) направлении интерфейса ISP (это направление от интернет-центра в сеть данного интерфейса) будет запрещена передача любого трафика на любые адреса.
Список правил, подобный нашему примеру, может быть полезен, когда нужно запретить доступ в Интернет через внешний интерфейс всем хостам локальной сети, кроме одного. В нашем примере доступ и пинг запрещён всем хостам подсети 192.168.1.0
, кроме хоста с IP-адресом 192.168.1.33
.
На интерфейсах интернет-центра предусмотрены настройки уровня доступа (security-level
), которые определяют уровень безопасности (логику работы сетевого экрана):
private
(частный, локальный);public
(внешний, публичный);protected
(защищённый, локальный).
Cхему разрешённых и запрещённых направлений передачи данных в интернет-центре серии Keenetic можно представить следующей диаграммой:
![firewall-rules-01-en.png](image/uuid-024cf2cf-e21a-d790-d3fa-d6b30657fe9c-ru.png)
По умолчанию 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 protected
Network::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
на клавиатуре. На экран будет выведен список всех имеющихся на текущий момент интерфейсов устройства, включая предустановленные служебные.
![firewall-rules-02-en.png](image/uuid-2219a52f-e233-63b3-e676-afb51703c713.png)
Примечание
Интернет-центр Keenetic поддерживают работу с протоколами IPv6 и IPv4. Для управления межсетевым экраном IPv6 предусмотрены только минимальные настройки: включить или выключить.
Сделать это можно через команды
ipv6 firewall
(включить) иno ipv6 firewall
(выключить).По умолчанию межсетевой экран для протокола IPv6 включен.
В интернет-центрах Keenetic присутствует уровень доступа
protected
. Данный уровень доступа является аналогом уровняprivate
, но без доступа к интернет-центру.Тип
protected
устанавливается для интерфейса гостевой сети Wi-Fi, когда в веб-конфигураторе на странице "Гостевая сеть" в разделе "Ограничения для устройств сегмента" выключена опция "Доступ к настройкам интернет-центра". По умолчанию доступ из гостевой сети к интернет-центру запрещён. Если разрешить доступ к настройкам, для данного интерфейса будет установлен уровеньprivate
.В случае когда необходимо применить большое количество правил сетевого экрана, можно выполнять настройку правил путём редактирования файла конфигурации интернет-центра startup-config.txt с помощью любого текстового редактора. После сохранения изменений нужно загрузить файл обратно на устройство и перезагрузить его. Но редактировать файл конфигурации следует крайне осторожно, т.к. это может привести к невозможности управления устройством, потере работоспособности отдельных функций, некорректному отображению настроек в веб-интерфейсе.
Если ваше устройство после загрузки отредактированного файла конфигурации перестало корректно работать, советуем сбросить пользовательские настройки кнопкой Сброс и настроить интернет-центр заново, либо загрузить заведомо рабочий резервный конфигурационный файл.