В 802.1x корпоративная сеть, я могу использовать NetworkManager для конфигурирования 802.1x параметры, включая пароль. Это все работает, но требует хранения пароля в открытом тексте.
Мы пытаемся использовать Netplan для хранения учетных данных более надежно (как хешированный пароль), но мы не можем сделать 802.1x, соединения проходят проверку подлинности.
Я не смог найти хорошее руководство для создания конфигурации Netplan, которая включает 802.1x учетные данные.
(ОБНОВЛЕНИЕ: существует ошибка в Netplan о хешированном пароле, https://github.com/CanonicalLtd/netplan/pull/78), который, кажется, основной вопрос),
Вот файл, который не работает
network:
version: 2
renderer: networkd
ethernets:
enp0s31f6:
auth:
key-management: 802.1x
password: hash:some-stuff-here
method: peap
identity: ghewett
dhcp4: false
addresses:
- 1.2.3.4
gateway4: 5.6.7.8
nameservers:
search: [cisco.com, otherdomain]
addresses:
- 1.1.1.1
- 2.2.2.2
(IP и измененные учетные данные)
Это дает нам
DEBUG:command generate: running ['/lib/netplan/generate']
** (generate:19354): DEBUG: 09:23:41.614: Processing input file /etc/netplan/01-netcfg.yaml..
** (generate:19354): DEBUG: 09:23:41.614: starting new processing pass
Error in network definition /etc/netplan/01-netcfg.yaml line 7 column 6: unknown key auth
См. https://netplan.io/examples, и https://netplan.io сайт в целом имеет хорошую информацию. Удостоверьтесь, что sudo netplan --debug generate
проверить .yaml файлы и генерировать файлы конфигурации, и затем sudo netplan apply
сделать их активными.
Authentication
Netplan supports advanced authentication settings for ethernet and wifi interfaces, as well as individual wifi networks, by means of the auth block.
auth (mapping)
Specifies authentication settings for a device of type ethernets:, or an access-points: entry on a wifis: device.
The auth block supports the following properties:
key-management (scalar)
The supported key management modes are none (no key management); psk (WPA with pre-shared key, common for home wifi); eap (WPA with EAP, common for enterprise wifi); and 802.1x (used primarily for wired Ethernet connections).
password (scalar)
The password string for EAP, or the pre-shared key for WPA-PSK.
The following properties can be used if key-management is eap or 802.1x:
method (scalar)
The EAP method to use. The supported EAP methods are tls (TLS), peap (Protected EAP), and ttls (Tunneled TLS).
identity (scalar)
The identity to use for EAP.
anonymous-identity (scalar)
The identity to pass over the unencrypted channel if the chosen EAP method supports passing a different tunnelled identity.
ca-certificate (scalar)
Path to a file with one or more trusted certificate authority (CA) certificates.
client-certificate (scalar)
Path to a file containing the certificate to be used by the client during authentication.
client-key (scalar)
Path to a file containing the private key corresponding to client-certificate.
client-key-password (scalar)
Password to use to decrypt the private key specified in client-key if it is encrypted.
Источник: https://netplan.io/reference#authentication
Обновление № 1:
Примечание: удостоверьтесь, что в Вашем .yaml файле нет никаких ВКЛАДОК...
Добавьте свои сертификаты, восстановите IP и попробуйте это...
network:
version: 2
renderer: networkd
ethernets:
enp0s31f6:
auth:
key-management: 802.1x
method: peap
identity: "ghewett@example.com"
ca-certificate: my_ca.pem
client-certificate: my_cert.pem
client-key: my_key.pem
addresses:
- 1.2.3.4
gateway4: 5.6.7.8
nameservers:
search: [cisco.com, otherdomain]
addresses:
- 1.1.1.1
- 2.2.2.2
Значение по умолчанию netplan, что поставка с Ubuntu 18.04.02 не поддерживает соединенную проводом аутентификацию, таким образом, нет шанса при работе. Последняя версия на GitHub в начале марта 2019 действительно поддерживает аутентификацию, но это испытывает недостаток в других вещах, которые требуются. Суппликант WPA требует, чтобы флаг CLI использовал проводной драйвер для него для работы с, и я записал PR для добавления этого к netplan. Netplan также обрабатывают хешированные пароли способом, который повреждает их, таким образом, существует другой PR для фиксации этого.
Если Вы хотите попробовать их, PR, инструкции:
Имейте установку сервера Ubuntu 18.04.02
Суппликант установки
Установите необходимые инструменты сборки с
Получите исправленное netplan программное обеспечение с
Сборка и установка это с
Генерируйте хешированную версию своего пароля
Отредактируйте netplan файл конфигурации
Заставьте это смотреть что-то как:
network:
version: 2
ethernets:
enp0s31f6:
dhcp4: true
optional: true
auth:
key-management: 802.1x
wired: true
method: ttls
identity: fluffy@cisco.com
password: hash:83...11
Примените его с
В этой точке, если Вы перезагружаете, это должно работать, но некоторые вещи проверить, чтобы помочь отладить
Проверьте файл конфигурации суппликанта WPA
и это должно быть похожим
ctrl_interface=/run/wpa_supplicant
network={
key_mgmt=IEEE8021X
eap=TTLS
identity="fluffy@cisco.com"
password=hash:83..11
}
Удостоверьтесь, что нет кавычек вокруг пароля, если использование хешировало пароли.
Проверьте шаблон systemd
Это должно возвратить что-то как
/run/systemd/system/systemd-networkd.service.wants/netplan-wpa-wired@enp4s0.service
Ключевая вещь состоит в том, чтобы проверить что это, как wpa-соединено-проводом в нем
Протестируйте подлинные работы с паролями и всеми
уничтожьте любую рабочую версию wpa_supplicant, затем делают
sudo wpa_supplicant-c/run/netplan/wpa-enp0s31f6.conf-i enp0s31f6-D соединен проводом
Вы будете видеть поток информации о 802.1x сообщения и около конца должна быть "Аутентификация, за которой следуют"
Вам будет нужно к Ctrl^C это уничтожение это.