Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revisionBoth sides next revision
ru:docs:guide-user:network:wifi:wireless.security.8021x [2018/09/10 13:33] – [How It Works/Troubleshooting] a727ru:docs:guide-user:network:wifi:wireless.security.8021x [2018/09/12 08:23] a727
Line 1: Line 1:
-FIXME **This page is not fully translated, yet. Please help completing the translation.**\\ //(remove this paragraph once the translation is finished)// 
  
 ====== Введение в 802.1x ======   ====== Введение в 802.1x ======  
Line 5: Line 4:
 Одна из наименее известных опций безопасности стандарта 802.11 (как минимум среди SOHO пользователей) - это возможность иметь индивидуальные имена пользователей и пароли на централизованном сервере авторизации, который может быть использован для одной или более беспроводных точек доступа. Главное преимущество этого типа настройки – отдельные пользователи могут быть добавлены  и отключены от беспроводного доступа без нарушения работы других пользователей или изменения ключей доступа к сети. Поэтому такой способ популярен в корпоративной среде. Если у вас имеются более сложные системы (такие как Active Directory) для входа пользователей – тогда имеется возможность подключить вашу беспроводную сеть к вашему серверу Active Directory для аутентификации этих пользователей.    Одна из наименее известных опций безопасности стандарта 802.11 (как минимум среди SOHO пользователей) - это возможность иметь индивидуальные имена пользователей и пароли на централизованном сервере авторизации, который может быть использован для одной или более беспроводных точек доступа. Главное преимущество этого типа настройки – отдельные пользователи могут быть добавлены  и отключены от беспроводного доступа без нарушения работы других пользователей или изменения ключей доступа к сети. Поэтому такой способ популярен в корпоративной среде. Если у вас имеются более сложные системы (такие как Active Directory) для входа пользователей – тогда имеется возможность подключить вашу беспроводную сеть к вашему серверу Active Directory для аутентификации этих пользователей.   
  
-Для этого типа настройки на точке доступа используются режимы беспроводного шифрования «WPA Enterprise» или «WPA2 Enterprise». Вы также можете посмотреть ссылки на 802.1x, являющийся стандартом аутентификации пользователей - как проводных, так и беспроводных - через RADIUS сервер. 802.1x является базовым протоколом, который используется беспроводным режимом шифрования WPA/2 Enterprise.    +Для этого вида настройки на точке доступа используются режимы беспроводного шифрования «WPA Enterprise» или «WPA2 Enterprise». Вы также можете посмотреть ссылки на 802.1x, являющийся стандартом аутентификации пользователей - как проводных, так и беспроводных - через RADIUS сервер. 802.1x является базовым протоколом, который используется беспроводным режимом шифрования WPA/2 Enterprise.    
  
 Обратите внимание, что пользовательские имена и пароли хранятся на RADIUS сервере, с которым точка доступа будет общаться для авторизации пользователей. В большинстве случаев, программное обеспечение RADIUS сервера расположено где-то еще в сети (очевидно, что это место должно быть достижимо для точки доступа). Но также возможно установить и запустить RADIUS сервер на OpenWRT. Установка и конфигурация RADIUS сервера лежит за рамками этого документа, однако на эту тему будет дано несколько советов. RADIUS – стандартизированный протокол, который поддерживается многими серверными приложениями, в том числе Microsoft Windows Network Policy Server (NPS), что позволяет авторизовывать пользователей Active Directory. FreeRADIUS – наиболее распространенный open source RADIUS сервер.    Обратите внимание, что пользовательские имена и пароли хранятся на RADIUS сервере, с которым точка доступа будет общаться для авторизации пользователей. В большинстве случаев, программное обеспечение RADIUS сервера расположено где-то еще в сети (очевидно, что это место должно быть достижимо для точки доступа). Но также возможно установить и запустить RADIUS сервер на OpenWRT. Установка и конфигурация RADIUS сервера лежит за рамками этого документа, однако на эту тему будет дано несколько советов. RADIUS – стандартизированный протокол, который поддерживается многими серверными приложениями, в том числе Microsoft Windows Network Policy Server (NPS), что позволяет авторизовывать пользователей Active Directory. FreeRADIUS – наиболее распространенный open source RADIUS сервер.   
Line 44: Line 43:
 ВНИМАНИЕ! Вы будете изменять способ, которым CPU вашего роутера соединяется с вашим коммутатором (switch) в процессе этого конфигурования. Если выполнить это с ошибками, то вы можете потерять доступ к вашему роутеру. Если вы оказались в такой ситуации – вам понадобится ознакомиться с механизмом восстановления вашего роутера. Тогда вы сможет выполнить сброс настроек и вернуть управление или исправить вашу конфигурацию. Также хорошо **иметь резервную копию рабочей конфигурации до начала процесса** и знать каким образом OpenWRT управляет конфигурацией VLAN (т. к. это может быть несколько по-разному реализовано в том или ином роутере).  Если у вас есть физический доступ к вашему роутеру – вы навряд ли сможете "убить" свой роутер таким образом, что это будет невозможно восстановить. Но если вы работаете по wifi или удаленно, то это возможно. //Лучше всего настраивать тестовую сеть на втором роутере и работать над ней пока вы не освоитесь с конфигурацией так как это поначалу может быть непросто сделать это правильно.//    ВНИМАНИЕ! Вы будете изменять способ, которым CPU вашего роутера соединяется с вашим коммутатором (switch) в процессе этого конфигурования. Если выполнить это с ошибками, то вы можете потерять доступ к вашему роутеру. Если вы оказались в такой ситуации – вам понадобится ознакомиться с механизмом восстановления вашего роутера. Тогда вы сможет выполнить сброс настроек и вернуть управление или исправить вашу конфигурацию. Также хорошо **иметь резервную копию рабочей конфигурации до начала процесса** и знать каким образом OpenWRT управляет конфигурацией VLAN (т. к. это может быть несколько по-разному реализовано в том или ином роутере).  Если у вас есть физический доступ к вашему роутеру – вы навряд ли сможете "убить" свой роутер таким образом, что это будет невозможно восстановить. Но если вы работаете по wifi или удаленно, то это возможно. //Лучше всего настраивать тестовую сеть на втором роутере и работать над ней пока вы не освоитесь с конфигурацией так как это поначалу может быть непросто сделать это правильно.//   
 ==== Конфигурация ==== ==== Конфигурация ====
-Поскольку мы будем работать с множеством VLAN, нам необходимо создать дополнительные VLAN для гостевой сети и включить маркировку (tagging) VLAN на порту CPU для VLANов “lan” и “guest” чтобы роутер мог взаимодействовать с обоими VLANами. В этом случае мы оставим сеть “lan” на VLAN 1 и создадим новую сеть “guest” на VLAN 3. Мы пропустим VLAN 2 потому что наш роутер, использующийся для этой демонстрациииспользует VLAN 2 чтобы соединять порт WAN с CPU портом. Такое бывает не у всех роутеров, некоторые привязывают порт WAN непосредственно к CPU. Больше информации по раскладке портов коммутатора можно найти на странице OpenWRT wiki, посвященной конкретной модели роутера.   +Поскольку мы будем работать с множеством VLAN, нам необходимо создать дополнительные VLAN для гостевой сети и включить маркировку (tagging) VLAN на порту CPU для VLANов “lan” и “guest” чтобы роутер мог взаимодействовать с обоими VLANами. В этом случае мы оставим сеть “lan” на VLAN 1 и создадим новую сеть “guest” на VLAN 3. Мы пропустим VLAN 2 потому что имеющийся у нас в этой демонстрации роутер использует VLAN 2 чтобы соединять порт WAN с CPU портом. Это не обязательно для всех роутеров, некоторые привязывают порт WAN непосредственно к CPU. Больше информации по раскладке портов коммутатора можно найти на странице OpenWRT wiki, посвященной конкретной модели роутера.   
  
 Сначала, изменим существующий VLAN “lan” для маркировки трафика, идущего к порту CPU. В нашем примере порт CPU находится на порту 0, а порты 2, 3, 4 и 5 – существующие LAN порты коммутатора (которые мы хотим сохранить на VLAN “lan” как и раньше). Порт 1 на этом роутере – вторичный порт CPU, использующийся для WAN соединения. **Порты на вашем роутере могут различаться, проверьте подробности по портам вашего коммутатора на странице OpenWRT wiki, посвященной конкретно вашему роутеру.** На нашем роутере файл конфигурации коммутатора для VLAN 1 ''/etc/config/network'' выглядит так:   Сначала, изменим существующий VLAN “lan” для маркировки трафика, идущего к порту CPU. В нашем примере порт CPU находится на порту 0, а порты 2, 3, 4 и 5 – существующие LAN порты коммутатора (которые мы хотим сохранить на VLAN “lan” как и раньше). Порт 1 на этом роутере – вторичный порт CPU, использующийся для WAN соединения. **Порты на вашем роутере могут различаться, проверьте подробности по портам вашего коммутатора на странице OpenWRT wiki, посвященной конкретно вашему роутеру.** На нашем роутере файл конфигурации коммутатора для VLAN 1 ''/etc/config/network'' выглядит так:  
Line 63: Line 62:
 '' ''
  
-Теперь создайте новый VLAN для гостевой сети (мы использовали VLAN 3 на нашем роутере):  +Теперь создайте новый VLAN для гостевой сети (на нашем роутере мы использовали VLAN 3):  
  
 ''config switch_vlan ''config switch_vlan
Line 91: Line 90:
 '' ''
  
-Мы сделали два важных изменения. Во-первых, интерфейс ДОЛЖЕН быть назван vlan1’ чтобы программа hostapd могла найти правильный интерфейс, к которому нужно присоединить пользователя. Во-вторых, опция ifname ДОЛЖНА быть изменена на “eth1.1.” т.к. трафик на VLAN 1 теперь будет маркироваться между коммутатором и CPU.   +Мы сделали два важных изменения. Во-первых, интерфейс ДОЛЖЕН быть назван "vlan1чтобы программа hostapd могла найти правильный интерфейс, к которому нужно присоединить пользователя. Во-вторых, опция ifname ДОЛЖНА быть изменена на “eth1.1.” т.к. трафик на VLAN 1 теперь будет маркироваться между коммутатором и CPU.   
  
 Мы также должны добавить новый интерфейс на VLAN 3 для нашей гостевой сети. Мы также должны добавить новый интерфейс на VLAN 3 для нашей гостевой сети.
Line 103: Line 102:
 '' ''
  
-Обратите внимание, что опция ifname – eth1.3 – указывает что этот интерфейс должен взаимодействовать с VLAN 3 на порте CPU коммутатора и опция ipaddr находится в сети, отличной от VLAN 1. В целях упрощения, я сделал третий октет IP адреса равным номеру VLAN, но это не обязательно должно быть так. Соединение с VLAN сделано только по имени интерфейса, опции ifname и конфигурации коммутатора.   +Обратите внимание, что опция ifname – eth1.3 – указывает что этот интерфейс должен взаимодействовать с VLAN 3 на порте CPU коммутатора и опция ipaddr находится в сети, отличной от VLAN 1. В целях упрощения, я сделал третий октет IP адреса равным номеру VLAN, но это не обязательно. Соединение с VLAN сделано только по имени интерфейса, опции ifname и конфигурации коммутатора.   
  
 **Важное замечание:** до того, как вы измените имя вашего первичного интерфейса с “lan” на “vlan1”, вы должны обновить ваши файлы ''/etc/config/dhcp'' (опцию interface) и ''/etc/config/firewall'' (опцию network в зонах) чтобы отразить это изменение. //Ошибка в этих действиях сделает ваш роутер недоступным для вас.//    **Важное замечание:** до того, как вы измените имя вашего первичного интерфейса с “lan” на “vlan1”, вы должны обновить ваши файлы ''/etc/config/dhcp'' (опцию interface) и ''/etc/config/firewall'' (опцию network в зонах) чтобы отразить это изменение. //Ошибка в этих действиях сделает ваш роутер недоступным для вас.//   
  
-Сохраните изменения в вашем файле ''/etc/config/network'' и используйте команду перезагрузки ''/etc/init.d/network'' чтобы применить изменения. Если вы все сделали правильно – вы должны через несколько секунд вы должны вернуться в командную строку и у вас по-прежнему будет доступ к роутеру. Если у вас появились проблемы с доступом к роутеру – наверняка вы каким-то образом отсоединили ваш порт CPU от коммутатора и вам необходимо использовать механизм восстановления чтобы снова попасть на роутер и исправить вашу конфигурацию.   +Сохраните изменения в вашем файле ''/etc/config/network'' и используйте команду перезагрузки ''/etc/init.d/network'' чтобы применить изменения. Если вы все сделали правильно – то через несколько секунд у вас должно получиться вернуться в командную строку и у вас по-прежнему будет доступ к роутеру. Если у вас появились проблемы с доступом к роутеру – наверняка вы каким-то образом отсоединили ваш порт CPU от коммутатора и вам необходимо использовать механизм восстановления чтобы снова попасть на роутер и исправить вашу конфигурацию.   
  
-Вероятно, что вы захотите настроить DHCP сервер для этого гостевого интерфейса, а также соответствующие правила фаервола чтобы разрешить доступ к Интернет, но запретить доступ к компьютерам вашей LAN. Но эти настройки находятся за пределами этого документа. Мы продолжим считая, что у вас есть настроенные и работающие адресация и правила фаервола. Вы также можете захотеть перед продолжением настроить отдельный беспроводной SSID на роутере, который НЕ БУДЕТ использовать 802.1x, который будет бриджиться с гостевой сетью и убедиться, что он работает. Если он не будет работать – вы должны будете разобраться с этим до того, как будете добавлять сложность динамических VLAN 802.1x.   +Вероятно, что вы захотите настроить DHCP сервер для этого гостевого интерфейса, а также соответствующие правила фаервола чтобы разрешить доступ к Интернет, но запретить доступ к компьютерам вашей LAN. Но эти настройки находятся за пределами этого документа. Мы продолжим считая, что у вас есть настроенные и работающие адресация и правила фаервола. Вы также можете захотеть перед продолжением настроить отдельный беспроводной SSID на роутере, который НЕ БУДЕТ использовать 802.1x, который будет бриджиться с гостевой сетью и убедиться, что он работает. Если он не будет работать – вы должны будете разобраться с этим до того, как будете добавлять сложности динамических VLAN 802.1x.   
  
-Теперь на нашем роутере есть функционирующая гостевая сеть и мы можем модифицировать нашу беспроводную конфигурацию для поддержки динамических vlanов 802.1x. Чтобы это сделать необходимо изменить настройки SSID в вашем файле ''/etc/config/wireless'' и удалить опцию ''network'', а также добавить опции ''dynamic_vlan'' и ''vlan_tagged_interface''. Пример ниже основан на базовой настройке 802.1x и будет выглядеть так: +Теперь на нашем роутере есть функционирующая гостевая сеть и мы можем модифицировать нашу беспроводную конфигурацию для поддержки динамических VLANов 802.1x. Чтобы это сделать необходимо изменить настройки SSID в вашем файле ''/etc/config/wireless'' и удалить опцию ''network'', а также добавить опции ''dynamic_vlan'' и ''vlan_tagged_interface''. Пример ниже основан на базовой настройке 802.1x и будет выглядеть так: 
  
  
Line 166: Line 165:
 Но как wlan0.1 знает, что присоединяться нужно к eth1.1 на br-vlan1? Ответ лежит в ПО hostapd и в дополнительной конфигурации, сделанной нами в /etc/config/wireless.   Но как wlan0.1 знает, что присоединяться нужно к eth1.1 на br-vlan1? Ответ лежит в ПО hostapd и в дополнительной конфигурации, сделанной нами в /etc/config/wireless.  
  
-On a normal Linux based access point the idea is that you only need to set a ''vlan_tagged_interface'' option in your configuration which lets hostapd know what tagged CPU interface contains access to all VLANs. Hostapd would then automatically create subinterfaces like ethX.Y where ethX is the tagged interface and is the VLAN numberUnfortunately this simple configuration does not work with OpenWRT because most users are ALREADY using bridging on their CPU interface by setting the interface type to bridge in ''/etc/config/network'' which is part of the standard OpenWRT configuration as it is how non-802.1x wireless users connect to the CPU portWhen you set things up that way OpenWRT automatically creates a bridge called "br-lan" or "br-" in front of whatever the interface name is and then adds the physical interface such as eth1.1 to the bridgeRun ''brctl show'' on an OpenWRT router which is not configured for 802.1x dynamic VLANs to see this setup.+На обычной точке доступа, работающей на Linux, смысл заключается в том, что вам необходимо только задать опцию ''vlan_tagged_interface'' в вашей конфигурации, что позволит hostapd знать, что маркированный интерфейс CPU содержит доступ ко всем VLANам. Hostapd должен затем автоматически создать субинтерфейсы типа ethX.Y, где ethX - это маркированный интерфейс, и номер VLAN. К сожалению, эта простая конфигурация не работает с OpenWRT потому, что большинство пользователей УЖЕ используют мостовое соединение на их интерфейсах CPU, устанавливая тип интерфейса в мост в ''/etc/config/network'', что является частью стандартной конфигурации OpenWRT. Так беспроводные пользователи не-802.1x соединяются с портом CPU. Когда вы задаете все таким образом - OpenWRT автоматически создает мост, поименованный "br-lan" или "br-" впереди имени любого интерфейса, и затем добавляет в мост конкретный физический интерфейс (такой, как eth1.1)Запустите команду ''brctl show'' на роутере OpenWRT, не сконфигурированном для динамических VLANов 802.1x, чтобы увидеть эти настройки
  
-На обычной точке доступа, работающей на Linux, смысл заключается в том, что вам необходимо только задать опцию ''vlan_tagged_interface'' в вашей конфигурации, что позволит hostapd знать что маркированный интерфейс CPU содержит доступ ко всем VLANам. Hostapd должен затем автоматически создать субинтерфейсы типа ethX.Y, где ethX - это маркированный интерфейс, и Y номер VLAN. К сожалению, эта простая конфигурация не работает с OpenWRT потому, что большинство пользователей УЖЕ используют мостовое соединение на их интерфейсах CPU, устанавливая тип интерфейса в мост в ''/etc/config/network'', что является частью стандартной конфигурации OpenWRT. Так беспроводные пользователи не-802.1x соединяются с портом CPU. Когда вы задаете все таким образом - OpenWRT автоматически создает мост, поименованный "br-lan" или "br-" впереди имени любого интерфейса, и затем добавляет в мост конкретный физический интерфейс (такойкак eth1.1). Запустите команду ''brctl show'' на роутере OpenWRT, не сконфигурированном для динамических VLANов 802.1x, чтобы увидеть эти настройки+Физический интерфейс может быть членом только ОДНОГО моста. Соответственно, hostapd не может добавить eth1.1 к вновь созданному hoastapd мосту для wlan0.1 и вы прерываетесь с отсутствием соединения. Если вы запустите ''brctl show'' на таком неверно сконфигурированном роутере, вы можете увидеть один или более мостовых интерфейсов созданных OpenWRT из файла ''/etc/config/network''. И один интерфейс моста, созданный hostapd для каждого VLAN, с которым пользователь пытался соединиться и где в качестве члена есть ЕДИНСТВЕННЫЙ интерфейс wlan0.Y. Очевидно, что если интерфейс wlan является единственным членом моста, то трафику некуда направляться и пользователь неспособен получить IP адрес или направиться куда-то. 
  
-Because a physical interface can only be a member of ONE bridge hostapd is not then able to add eth1.1 to a new hostapd created bridge for wlan0.1 so you end up with no communication. If you ran ''brctl show'' on a misconfigured router like this you would see one or more bridge interfaces created by OpenWRT through the ''/etc/config/network'' file and one bridge interface created by hostapd for each VLAN a user had tried to connect to which ONLY had the wlan0.Y interface as a member. Obviously if the wlan interface is the only member of a bridge the traffic has nowhere to go so the user is unable to obtain an IP address or go anywhere. +Чтобы решить эту проблему мы внесли несколько изменений. Во-первых, мы должны именовать наши интерфейсы в ''/etc/config/network'' основываясь на их вланах - так, как ''vlan1'' и ''vlan3''. В результате, OpenWRT именует созданные ей мосты ''br-vlan1'' и ''br-vlan3''Во-вторых, мы устанавливаем опцию ''vlan_bridge'' в ''/etc/config/wireless'' в значение "br-vlan" и опцию ''vlan_naming'' в "0". Что даёт инструкцию hostapd создавать мосты, используя br-vlanY конвенцию именования (где Y - номер VLAN). Как вы можете увидеть, эти мосты уже будут существовать в соответствии с OpenWRT конфигурацией. Поскольку у вас может быть только один мост с каким-то именем, hostapd просто добавит интерфейс wlan0.Y к существующему мосту. И это даст возможность общаться с интефейсом eth1.Y, который там поместила OpenWRT. 
-Физический интерфейс может быть членом только ОДНОГО моста. Соответсвенно, hoastapd не может добавить eth1.1 к вновь созданному hoastapd мосту для wlan0.1 и вы прерываетесь с отсутствием соединения. Если вы запустили ''brctl show'' на таком неверно сконфигурированномм роутере, вы можете увидеть один или более мостовых интерфейсов созданных OpenWRT из файла ''/etc/config/network''. И один интерфейс моста +
  
-To work around this problem we make a few changes. Firstwe must name our interfaces in ''/etc/config/network'' based on their VLAN such as ''vlan1'' and ''vlan3''This causes OpenWRT to name the bridges it creates ''br-vlan1'' and ''br-vlan3''Secondwe set the ''vlan_bridge'' option in ''/etc/config/wireless'' to "br-vlan" and the ''vlan_naming'' option to "0" what this does is tell hostapd to create bridges using the br-vlanY naming convention (where Y is the VLAN number). As you can see those bridges will already exist based on the OpenWRT configuration and because you can only have one bridge with the same name hostapd just adds the wlan0.Y interface to the existing bridge allowing it to communicate with the eth1.Y interface that OpenWRT placed there.+Надеемсячто эта секция позволила вам понять каким образом hostapd взаимодействует с OpenWRT для возможности использования динамических VLANов на 802.1xВы могли убедитьсячто это слегка "хитраяконфигурация. Если вам кажется, что у вас не работают правильно динамические VLANы, но работают фиксированные для начала будет правильным проверить вывод команды ''brctl show'' и посмотреть какие интерфейсы соединены с каждым другим. После того, как вы проверите, что проблема кроется в этом у вас появится отправная точка для понимания: что должно быть изменено в конфиггурации чтобы правильные интерфейсы были соединены в мостовые соединения
  
-Hopefully this section allowed you to understand how hostapd interacts with OpenWRT to allow for dynamic VLANs over 802.1x. As you can see it's a bit of a tricky configuration. When things don't seem to be working correctly with dynamic VLANs but work with fixed VLANs a good place to start is by checking the output of the ''brctl show'' command and seeing which interfaces are being connected to each other. Once you verify that is the problem it gives you a starting point to figure out what must be modified in the configuration to get the correct interfaces bridged together.+===== Дополнительные источники =====
  
-===== Additional Resources ===== +Опции WPA Enterprise можно найти в [[docs:guide-user:network:wifi:basic#wpa_enterprise_access_point|Wireless documentation]].
- +
-WPA Enterprise options can be found in the [[docs:guide-user:network:wifi:basic#wpa_enterprise_access_point|Wireless documentation]].+
  • Last modified: 2021/07/24 05:34
  • by someothertime