Как подключиться к корпоративным wifi-сетям WPA2/PEAP/MSCHAPv2, которые не используют сертификат CA_Certificate, например Eduroam

Мой университет использует шифрование WPA2 Enterprise для студентов, чтобы подключиться к своей беспроводной сети. В NetworkManager я набрал все, что им было нужно

  • Безопасность: WPA & WPA2 Enterprise
  • Аутентификация: защищенный EAP (PEAP)
  • Сертификат CA не нужен
  • Версия PEAP: Автоматическая
  • Внутренняя аутентификация: MSCHAPv2
  • Имя пользователя и пароль верны.

Каждый раз, когда я пытаюсь подключиться, у меня появляется окно с просьбой вводить мой пароль снова и снова

7 ответов

Здесь есть отчет об ошибке: https://bugs.launchpad.net/ubuntu/+source/network-manager/+bug/1104476

Обходной путь должен удалить линию

system-ca-cert=true

из файла конфигурации, который находится в /etc/NetworkManager/system-connections/

Вот работа вокруг.

  1. Откройте терминал (Alt + F2) и выполните следующие команды:

    cd /etc/NetworkManager/system-connections
    sudo touch SSID #SSID is the name of the profile, e.g. eduroam
    sudo nano SSID
    
  2. Затем отредактируйте профиль "SSID" следующим образом:

    [ipv6]
    method=auto
    
    [connection]
    id=SSID #(e.g.EDUroam)
    uuid=9e123fbc-0123-46e3-97b5-f3214e123456 #unique uuid will be created upon creation of this profile
    type=802-11-wireless
    
    [802-11-wireless-security]
    key-mgmt=wpa-eap
    auth-alg=open
    
    [802-11-wireless]
    ssid=SSID
    mode=infrastructure
    mac-address=0A:12:3C:DA:C1:A5
    security=802-11-wireless-security
    
    [802-1x]
    eap=peap;
    identity=studentid123123
    phase2-auth=mschapv2
    password=mypass123123
    
    [ipv4]
    method=auto
    

Измените вышеуказанный файл, и он должен работать.

У меня была такая же проблема на работе, я следовал инструкциям и изменил system-ca-cert=false но я также должен был войти и изменить настройки беспроводного драйвера, как только я сделал изменения, которые он подключил прямо. проверьте ссылку, где я получил информацию ниже

http://wireless.kernel.org/en/users/Documentation/wpa_supplicant

-o<driver> and -O<ctrl>

/usr/share/dbus-1/system-services/fi.epitest.hostap.WPASupplicant.service

[D-BUS Service]
Name=fi.epitest.hostap.WPASupplicant
Exec=/sbin/wpa_supplicant -u -f /var/log/wpa_supplicant.log
User=root

[D-BUS Service]
Name=fi.epitest.hostap.WPASupplicant
Exec=/sbin/wpa_supplicant -u -onl80211 -O/var/run/wpa_supplicant
User=root

Совсем недавно многие развертывания eduroam не работали на Ubuntu 22.04 LTS, потому что они все еще используют небезопасное повторное согласование, которое было объявлено устаревшим в соответствии с RFC 5746 в 2010 году и для которого OpenSSL прекратил поддержку примерно в марте 2010 года (наряду с TLS 1.0 и 1.1). Пока ваш университет не исправит свою сеть, вы можете снова включить небезопасное повторное согласование, отредактировав некоторые файлы конфигурации.

Следующие шаги были внесены в Launchpad Bug #1958267 пользователями "nfalse" (#22) и Саймоном Шопеном (#36).

Шаг 1: Создайте специальный файл openssl.cnf для wpa_supplicant.

      $ sudo cp /etc/ssl/openssl.cnf /etc/wpa_supplicant/

Это гарантирует, что включение TLS 1.0 будет применяться только к согласованию WPA, что несколько снизит влияние этого изменения на безопасность.

Шаг 2. Включите устаревший TLS в скопированном файле конфигурации.

От имени пользователя root отредактируйте новый файл конфигурации:

      $ sudo gedit /etc/wpa_supplicant/openssl.cnf

Затем найдите следующие строки:

      [openssl_init]
providers = provider_sect

Сразу после этого вставьте следующие строки:

      ssl_conf = ssl_sect

[ssl_sect]
system_default = system_default_sect

[system_default_sect]
Options = UnsafeLegacyRenegotiation
CipherString = DEFAULT@SECLEVEL=1

Шаг 3: Заставьте wpa_supplicant использовать новую конфигурацию

Как root, редактировать /usr/lib/systemd/system/wpa_supplicant.service.

      $ sudo gedit /usr/lib/systemd/system/wpa_supplicant.service

Найдите следующие строки:

      [Service]
Type=dbus
BusName=fi.w1.wpa_supplicant1
ExecStart=/sbin/wpa_supplicant -u -s -O /run/wpa_supplicant
ExecReload=/bin/kill -HUP $MAINPID

После BusName, вставлять Environment="OPENSSL_CONF=/etc/wpa_supplicant/openssl.cnf". Весь раздел должен выглядеть следующим образом:

      [Service]
Type=dbus
BusName=fi.w1.wpa_supplicant1
Environment="OPENSSL_CONF=/etc/wpa_supplicant/openssl.cnf"
ExecStart=/sbin/wpa_supplicant -u -s -O /run/wpa_supplicant
ExecReload=/bin/kill -HUP $MAINPID

Шаг 4: Перезапустите wpa_supplicant

На этом этапе вы можете либо перезагрузить весь компьютер, либо просто выполнить следующие команды:

      $ sudo systemctl daemon-reload
$ sudo systemctl restart wpa_supplicant.service

Вам также может потребоваться указать Домен вашего предприятия, добавив его перед именем пользователя, например, так: Имя домена \ Имя пользователя рядом с комментарием / удалением вышеупомянутой строки.

  1. Попробуйте сбросить пароль (связавшись с администратором системы или воспользовавшись онлайн-формой, чтобы отправить ссылку для сброса пароля на ваш адрес электронной почты)
  2. через графический интерфейс администратора сети отредактируйте соединение Wi-Fi, чтобы обновить поле пароля новым и сохранить.
  3. Подключитесь к вашему Wi-Fi, и он должен работать сейчас!

Я предполагаю, что вы используете самозаверяющий сертификат (вы сказали: "Сертификат CA не нужен"). Если это так, убедитесь, что вы доверяете сертификату при установлении соединения.

Другие вопросы по тегам