Red Hat Training
A Red Hat training course is available for RHEL 8
10.7. network RHEL System Role を使用した 802.1X ネットワーク認証による Wi-Fi 接続の設定
RHEL System Roles を使用すると、wifi 接続の作成を自動化できます。たとえば、Ansible Playbook を使用して、wlp1s0
インターフェイスのワイヤレス接続プロファイルをリモートで追加できます。作成されたプロファイルは、802.1X 標準を使用して、wifi ネットワークに対してクライアントを認証します。Playbook は、DHCP を使用するように接続プロファイルを設定します。静的 IP 設定を設定するには、それに応じて IP
ディクショナリーのパラメーターを調整します。
Ansible コントロールノードで以下の手順を実行します。
前提条件
- 制御ノードと管理ノードを準備している
- 管理対象ノードで Playbook を実行できるユーザーとして制御ノードにログインします。
-
管理対象ノードへの接続に使用するアカウントには、そのノードに対する
sudo
権限があります。 - この Playbook を実行する管理対象のノードまたは管理対象のノードのグループは、Ansible インベントリーファイルにリストされています。
- ネットワークは 802.1X ネットワーク認証をサポートしている。
-
マネージドノードに
wpa_supplicant
パッケージをインストールしました。 - DHCP は、マネージドノードのネットワークで使用できます。
TLS 認証に必要な以下のファイルがコントロールノードにある。
-
クライアントキーは、
/srv/data/client.key
ファイルに保存されます。 -
クライアント証明書は
/srv/data/client.crt
ファイルに保存されます。 -
CA 証明書は
/srv/data/ca.crt
ファイルに保存されます。
-
クライアントキーは、
手順
~/enable-802.1x.yml
などの Playbook ファイルを次の内容で作成します。--- - name: Configure a wifi connection with 802.1X authentication hosts: managed-node-01.example.com tasks: - name: Copy client key for 802.1X authentication copy: src: "/srv/data/client.key" dest: "/etc/pki/tls/private/client.key" mode: 0400 - name: Copy client certificate for 802.1X authentication copy: src: "/srv/data/client.crt" dest: "/etc/pki/tls/certs/client.crt" - name: Copy CA certificate for 802.1X authentication copy: src: "/srv/data/ca.crt" dest: "/etc/pki/ca-trust/source/anchors/ca.crt" - block: - import_role: name: linux-system-roles.network vars: network_connections: - name: Configure the Example-wifi profile interface_name: wlp1s0 state: up type: wireless autoconnect: yes ip: dhcp4: true auto6: true wireless: ssid: "Example-wifi" key_mgmt: "wpa-eap" ieee802_1x: identity: "user_name" eap: tls private_key: "/etc/pki/tls/client.key" private_key_password: "password" private_key_password_flags: none client_cert: "/etc/pki/tls/client.pem" ca_cert: "/etc/pki/tls/cacert.pem" domain_suffix_match: "example.com"
Playbook を実行します。
# ansible-playbook ~/enable-802.1x.yml
関連情報
-
/usr/share/ansible/roles/rhel-system-roles.network/README.md
ファイル