802.1xエンタープライズネットワークでは、NetworkManagerを使用して、パスワードを含む802.1xパラメーターを構成できます。これはすべて機能しますが、パスワードをクリアテキストで保存する必要があります。
資格情報を(ハッシュされたパスワードとして)より安全に格納するためにNetplanを使用しようとしていますが、802.1x接続を認証できません。
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ファイルにTABSがないことを確認してください...
証明書を追加し、IPを復元して、これを試してください...
network:
version: 2
renderer: networkd
ethernets:
enp0s31f6:
auth:
key-management: 802.1x
method: peap
identity: "[email protected]"
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
Ubuntu 18.04.02に同梱されているデフォルトのネットプランは有線認証をサポートしていないため、機能する可能性はありません。 2019年3月上旬のgithubの最新バージョンは認証をサポートしていますが、必要な他のものが不足しています。 WPAサプリカントが動作するために有線ドライバーを使用するにはCLIフラグが必要です。これをネットプランに追加するためにPRを作成しました。ネットプランはハッシュされたパスワードを破壊する方法でハッシュされたパスワードも処理するため、それを修正する別のPRです。
これら、PRを試してみたい場合は、次の手順に従ってください。
Ubuntu 18.04.02のサーバーインストールがある
サプリカントをインストール
必要なビルドツールをインストールする
パッチが適用されたネットプランソフトウェアを入手する
ビルドしてインストールする
パスワードのハッシュバージョンを生成する
Netplan構成ファイルを編集します
次のように表示されます。
network:
version: 2
ethernets:
enp0s31f6:
dhcp4: true
optional: true
auth:
key-management: 802.1x
wired: true
method: ttls
identity: [email protected]
password: hash:83...11
それを適用する
この時点でリブートすると動作するはずですが、デバッグに役立つチェック事項がいくつかあります
WPAサプリカント設定ファイルを確認してください
そしてそれは次のようになります
ctrl_interface=/run/wpa_supplicant
network={
key_mgmt=IEEE8021X
eap=TTLS
identity="[email protected]"
password=hash:83..11
}
ハッシュされたパスワードを使用する場合は、パスワードを引用符で囲まないようにしてください。
Systemdテンプレートを確認する
それは次のようなものを返すはずです
/run/systemd/system/systemd-networkd.service.wants/[email protected]
重要なことは、それがwpaで配線されていることを確認することです
認証がパスワードとすべてで動作することをテストする
実行中のバージョンのwpa_supplicantを強制終了します。
Sudo wpa_supplicant -c /run/netplan/wpa-enp0s31f6.conf -i enp0s31f6 -D有線
802.1xメッセージに関する情報のフローが表示され、最後の方に「認証に成功しました」と表示されます。
Ctrl ^ Cでこれを強制終了する必要があります。