ru:doc:uci:firewall

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
ru:doc:uci:firewall [2013/10/17 09:14]
127.0.0.1 external edit
ru:doc:uci:firewall [2016/05/14 16:38] (current)
karpen [Zones]
Line 3: Line 3:
  
 ===== Введение ===== ===== Введение =====
-Для пакетной фильтрации,​ NAT и искажения пакетов (mangling, манглинг) OpenWrt использует [[doc:​howto:​netfilter]]. с Для упрощения настройки файрволл UCI предоставляет абстрагированный от подсистемы ядра **''​iptables''​** интерфейс конфигурации,​ что является вполне достаточным в большинстве случаев,​ но в то же время этот интерфейс сохраняет возможность пользователю - когда это необходимо - самостоятельно определить необходимые //​нестандартные//​ правила ''​iptables''​. Файрволл UCI отображает ​1-н и более //​интерфейсов//​ ((interfaces)) в специальные //​зоны//​ ((zones)), которые используются для для описания правил //​по-умолчанию//​ для данного интерфейса,​ правил пересылки пакетов между интерфейсами ((forwarding)),​ а также дополнительные правила,​ которые не подпадают под первые два типа. В конфигурационном файле правила //​по-умолчанию//​ идут //​первыми//,​ но вступают в силу последними. Система netfilter является системой фильтрации с последовательной ((chained)) обработкой,​ в которой пакеты последовательно,​ по цепочке,​ обрабатываются различными правилами. Первое совпавшее ((matched)) правило выполняется,​ но оно часто выполняет переход на другую цепочку правил,​ по которой //​движется//​ пакет пока не встретит команды ACCEPT ((принять пакет и закончить обработку по цепочке)) или DROP/REJECT ((отбросить/​отклонить пакет и закончить обработку по цепочке)). Правила с такими командами выполняются последними ​ в цепочке правил,​ поэтому правила //​по-умолчанию//​ вступят в силу последними,​ а более конкретные правила будут проверяться ​ в первую очередь. Зоны также используются для конфигурации //​маскарадинга//​ ((masquerading)),​ также известного как NAT ((network-address-translation - трансляция сетевых адресов)),​ а также для конфигурации правил переадресации портов,​ более известных как редирект ((redirect - перенаправление,​ "​проброс"​ портов)).+Для пакетной фильтрации,​ NAT и искажения пакетов (mangling, манглинг) OpenWrt использует [[doc:​howto:​netfilter]]. с Для упрощения настройки файрволл UCI предоставляет абстрагированный от подсистемы ядра **''​iptables''​** интерфейс конфигурации,​ что является вполне достаточным в большинстве случаев,​ но в то же время этот интерфейс сохраняет возможность пользователю - когда это необходимо - самостоятельно определить необходимые //​нестандартные//​ правила ''​iptables''​. Файрволл UCI отображает ​один и более //​интерфейсов//​ ((interfaces)) в специальные //​зоны//​ ((zones)), которые используются для для описания правил //​по-умолчанию//​ для данного интерфейса,​ правил пересылки пакетов между интерфейсами ((forwarding)),​ а также дополнительные правила,​ которые не подпадают под первые два типа. В конфигурационном файле правила //​по-умолчанию//​ идут //​первыми//,​ но вступают в силу последними. Система netfilter является системой фильтрации с последовательной ((chained)) обработкой,​ в которой пакеты последовательно,​ по цепочке,​ обрабатываются различными правилами. Первое совпавшее ((matched)) правило выполняется,​ но оно часто выполняет переход на другую цепочку правил,​ по которой //​движется//​ пакет пока не встретит команды ACCEPT ((принять пакет и закончить обработку по цепочке)) или DROP/REJECT ((отбросить/​отклонить пакет и закончить обработку по цепочке)). Правила с такими командами выполняются последними ​ в цепочке правил,​ поэтому правила //​по-умолчанию//​ вступят в силу последними,​ а более конкретные правила будут проверяться ​ в первую очередь. Зоны также используются для конфигурации //​маскарадинга//​ ((masquerading)),​ также известного как NAT ((network-address-translation - трансляция сетевых адресов)),​ а также для конфигурации правил переадресации портов,​ более известных как редирект ((redirect - перенаправление,​ "​проброс"​ портов)).
  
 //​Зоны//​ должны всегда отображаться на один или несколько //​интерфейсов//,​ что в конечном счете приводит к их отображению на физическое устройство;​ поэтому //​зоны//​ не могут быть использованы для конкретных сетей (подсетей),​ и генерируемые правила ''​iptables''​ работают исключительно с пакетами на интерфейсах. ​ //​Зоны//​ должны всегда отображаться на один или несколько //​интерфейсов//,​ что в конечном счете приводит к их отображению на физическое устройство;​ поэтому //​зоны//​ не могут быть использованы для конкретных сетей (подсетей),​ и генерируемые правила ''​iptables''​ работают исключительно с пакетами на интерфейсах. ​
Line 42: Line 42:
 ==== Zones ==== ==== Zones ====
  
-''​zone'' ​section groups one or more //​interfaces//​ and serves as a //​source// ​or //​destination// ​for //​forwardings//,​ //​rules// ​and //​redirects//​. ​Masquerading ​(NAT) of outgoing traffic is controlled on a per-zone basis. Note that masquerading ​is defined on the //​outgoing//​ interface.+Секция ​''​zone'' ​группирует один или несколько интерфейсов,​ или IP-диапазонов для использования как источник - //source//, или назначение - //​destination//​, для пересылки трафика между интерфейсами - //​forwardings//, ​создания правил - //rules//, и перенаправлений - //​redirects//​. ​Маскировка внутренних сетей ​(NAT - masquerading) для исходящего трафика также управляется на основе зон. ​ К сведению! Маскирование задаётся на интерфейсе,​ из которого замаскированный трафик будет исходить.
  
-  * INPUT rules for a zone describe what happens to traffic trying to reach the router itself through that interface+  * правило ​INPUT для зоны описывает,​ что произойдёт с трафиком,​ входящим в роутер через интерфейсы этой зоны
-  * OUTPUT ​rules for a zone describe what happens to traffic originating from the router itself+  * правило ​OUTPUT ​для зоны описывает,​ что произойдёт с трафиком,​ исходящим от самого роутера через интерфейсы этой зоны
-  * FORWARD ​rules for a zone describe what happens to traffic coming from that zone and passing to another zone.+  * правило ​FORWARD ​для зоны описывает,​ что произойдёт с трафиком,​ проходящим между различными интерфейсами внутри этой зоны.
  
-The options below are defined within ​''​zone'' ​sections:+Ниже представлены параметры,​ используемые в секции ​''​zone'':​
  
-Name Type Required ​^ Default ^ Description ​+Имя ​Тип ​Требуются? ​^ Default ^ Описание ​
-| ''​name''​ | zone name | yes | //(none)// | Unique zone name +| ''​name''​ | zone name | yes | //(none)// | уникальное имя зоны ​
-| ''​network''​ | list | no | //(none)// | List of //​[[doc:​uci:​network#​interfaces|interfaces]]// attached to this zoneIf omitted and neither ​extra* ​options, subnets ​or devices ​are giventhe value of ''​name''​ is used by default ​+| ''​network''​ | list | no | //(none)// | Список ​//​[[doc:​uci:​network#​interfaces|интерфейсов]]// прикреплённых к этой зонеЕсли параметр опущен и нет других ​extra*. опцийподсетей (subnets), или устройств (devices)//имя зоны// будет использовано как имя интерфейса,​ прикреплённого к зоне. ​
-| ''​masq''​ | boolean | no | ''​0''​ | Specifies whether ​//​outgoing// ​zone traffic should be masqueraded ​this is typically enabled on the //wan// zone +| ''​masq''​ | boolean | no | ''​0''​ | Описывает,​ должен ли маскироваться исходящий (//​outgoing//​) тафик зоны. Обычно так делается на wan-зонах. ​
-| ''​masq_src''​ | list of subnets | no | ''​0.0.0.0/​0''​ | Limit masquerading to the given source subnetsNegation is possible by prefixing the subnet with ''​!''​; multiple subnets are allowed. | +| ''​masq_src''​ | list of subnets | no | ''​0.0.0.0/​0''​ | Маскирует только заданную внутреннюю подсетьПри указании ​''​!'' ​перед префиксом сети, будут маскироваться все сети кроме этой. допустимо указание нескольких сетей. | 
-| ''​masq_dest''​ | list of subnets | no | ''​0.0.0.0/​0''​ | Limit masquerading to the given destination subnetsNegation is possible by prefixing the subnet with ''​!''​; multiple subnets are allowed. | +| ''​masq_dest''​ | list of subnets | no | ''​0.0.0.0/​0''​ | Предпиывает маскировку только для заданных dest-сетейПри указании ​''​!'' ​перед префиксом сети, будут маскироваться все сети кроме этой. допустимо указание нескольких сетей. | 
-| ''​conntrack''​ | boolean | no | ''​1'' ​if masquerading is used, ''​0'' ​otherwise ​Force connection tracking for this zone (see [[#​note.on.connection.tracking.notrack|Note on connection tracking]]) | +| ''​conntrack''​ | boolean | no | ''​1'' ​если используется маскировка, ''​0'' ​иначе ​Принудительно включает трэкинг соединений для этой зоны ​(см. [[#​note.on.connection.tracking.notrack|заметки по connection tracking]]) | 
-| ''​mtu_fix''​ | boolean | no | ''​0''​ | Enable ​MSS clamping ​for //outgoing// zone traffic ​+| ''​mtu_fix''​ | boolean | no | ''​0''​ | разрешает //MSS clamping// ​для ​//исходящего//​ трафика зоны ​
-| ''​input''​ | string | no | ''​DROP''​ | Default policy ​(''​ACCEPT'',​ ''​REJECT'',​ ''​DROP''​) ​for //incoming// zone traffic ​+| ''​input''​ | string | no | ''​DROP''​ | Стандартная политика ​(''​ACCEPT'',​ ''​REJECT'',​ ''​DROP''​) ​для ​//входящего// трафика зоны. ​
-| ''​forward''​ | string | no | ''​DROP''​ | Default policy ​(''​ACCEPT'',​ ''​REJECT'',​ ''​DROP''​) ​for //​forwarded// ​zone traffic ​+| ''​forward''​ | string | no | ''​DROP''​ |Стандартная политика ​(''​ACCEPT'',​ ''​REJECT'',​ ''​DROP''​) ​для ​//​forwarded// ​трафика зоны. ​
-| ''​output''​ | string | no | ''​DROP''​ | Default policy ​(''​ACCEPT'',​ ''​REJECT'',​ ''​DROP''​) ​for //outgoing// zone traffic ​+| ''​output''​ | string | no | ''​DROP''​ | Стандартная политика ​(''​ACCEPT'',​ ''​REJECT'',​ ''​DROP''​) ​для ​//исходящего// трафика зоны. ​
-| ''​family''​ | string | no | ''​any''​ | Protocol family ​(''​ipv4'',​ ''​ipv6''​ or ''​any''​) ​to generate ​iptables rules for. | +| ''​family''​ | string | no | ''​any''​ | семейство протоколов ​(''​ipv4'',​ ''​ipv6''​ or ''​any''​) ​для генерации ​iptables rules. | 
-| ''​log''​ | boolean | no | ''​0''​ | Create log rules for rejected and dropped traffic in this zone. | +| ''​log''​ | boolean | no | ''​0''​ | Стимулирует запись в лог событий reject и drop для трафика этой зоны. | 
-| ''​log_limit''​ | string | no | ''​10/​minute''​ | Limits the amount of log messages per interval. | +| ''​log_limit''​ | string | no | ''​N * 10/​minute''​ | Ограничивает количество сообщений в логе за интервал времени. | 
-| ''​device''​ | list | no | //(none)// | List of raw network device names attached to this zonee.g. ''​ppp+'' ​to match any PPP interface. \\ :!: Only supported by the Firewall v2, version ​58 and above +| ''​device''​ | list | no | //(none)// | Список низкоуровневых сетевых интерфейсовпривязанных к этой зонеЕсли указать,​ для примера, ​''​ppp+''​, этому будут соответствовать любой ​PPP-интерфейс. \\ :!: Поддерживается только ​Firewall v2, версии ​58 или выше
-| ''​subnet''​ | list | no | //(none)// | List of IP subnets attached to this zone. \\ :!: Only supported by the Firewall v2, version ​58 and above +| ''​subnet''​ | list | no | //(none)// | Список ​IP-подсетей,​ привязанных к этой зоне.\\ :!: Поддерживается только ​Firewall v2, версии ​58 или выше. ​
-| ''​extra''​ | string | no | //(none)// | Extra arguments passed directly to iptables. ​Note that these options are passed to both source ​and destination ​classification rulestherfore direction-specific options like ''​--dport'' ​should not be used here in this case the ''​extra_src'' ​and ''​extra_dest'' ​options should be used instead. \\ :!: Only supported by the Firewall v2, version ​58 and above +| ''​extra''​ | string | no | //(none)// | Дополнительные аргументы,​ переданные напрямую ​iptables. ​Эти параметры будут переданы и source ​и destination ​правилам классификациипоэтому опциям,​ зависящим от направления,​ таким как ​''​--dport'' ​не должны использоваться здесь. ​В этом случае надо использовать ​''​extra_src'' ​и ''​extra_dest'' ​параметры. \\ :!: Поддерживается только ​Firewall v2, версии ​58 или выше. ​
-| ''​extra_src''​ | string | no | //Value of ''​extra''//​ | Extra arguments passed directly to iptables for source ​classification rules. \\ :!: Only supported by the Firewall v2, version ​58 and above +| ''​extra_src''​ | string | no | //Value of ''​extra''//​ | Дополнительные аргументы,​ для классификации ​source-правил,​ переданные напрямую iptables. \\ :!: Поддерживается только ​Firewall v2, версии ​58 или выше. ​
-| ''​extra_dest''​ | string | no | //Value of ''​extra''//​ | Extra arguments passed directly to iptables for destination ​classification rules. \\ :!: Only supported by the Firewall v2, version ​58 and above |+| ''​extra_dest''​ | string | no | //Value of ''​extra''//​ | Дополнительные аргументы,​ для классификации ​destination-правил,​ переданные напрямую iptables. \\ :!: Поддерживается только ​Firewall v2, версии ​58 или выше. ​|
  
 ==== Forwardings ==== ==== Forwardings ====
Line 245: Line 245:
  
  
-===== Examples ​=====+===== Примеры ​=====
  
-==== Opening ports ====+==== Как разрешить доступ к порту ​====
  
-The default configuration accepts all LAN trafficbut blocks all incoming ​WAN traffic on ports not currently used for connections or NAT. To open a port for a serviceadd a ''​rule''​ section:+Изначальнофайрволл настроен пропускать вест трафик **LAN** и блокировать весь входящий **WAN**-трафик кроме портов,​ используемых для ​NAT и портов,​ открытых для созданных изнутри сессий. 
 +Чтобы открыть для доступа с WAN портдобавьте секцию //rule//:
 <​code>​ <​code>​
 config rule config rule
Line 258: Line 259:
 </​code>​ </​code>​
  
-This example enables machines on the internet to use SSH to access your router.+Этот пример разрешает всем доступ по ssh к вашему роутеру. 
 + 
 +==== Как разрешить доступ к порту из определённой сети ==== 
 + 
 +Если вы хотите,​ чтобы доступ по порту был открыт только с определённого адреса,​ или подсети,​ вам надо в правиле указать параметр //src_ip//. В этом поле можно указывать,​ как одиночный IP-адрес,​ так и подсеть с маской. 
 +config rule 
 +        option src              wan 
 +        option src_ip ​          ​12.34.56.64/​28 
 +        option dest_port ​       22 
 +        option target ​          ​ACCEPT 
 +        option proto            tcp 
 +</​code>​ 
 + 
 +Этот пример разрешает доступ к вашему роутеру по SSH (порт 22) с подсети 12.34.56.64/​28.
 ==== Forwarding ports (Destination NAT/DNAT) ==== ==== Forwarding ports (Destination NAT/DNAT) ====
  
ru/doc/uci/firewall.1381994053.txt.bz2 · Last modified: 2016/02/18 07:39 (external edit)