第11章 RHEL を WPA2 または WPA3 パーソナルアクセスポイントとして設定する方法
Wi-Fi デバイスを備えたホストでは、NetworkManager を使用して、このホストをアクセスポイントとして設定できます。Wi-Fi Protected Access 2 (WPA2) および Wi-Fi Protected Access 3 (WPA3) Personal はセキュアな認証方法を提供します。ワイヤレスクライアントは事前共有キー (PSK) を使用してアクセスポイントに接続し、RHEL ホスト上およびネットワーク内のサービスを使用できます。
アクセスポイントを設定すると、NetworkManager は自動的に以下を行います。
-
クライアントに DHCP および DNS サービスを提供するように
dnsmasq
サービスを設定します - IP 転送を有効にします
-
nftables
ファイアウォールルールを追加して、wifi デバイスからのトラフィックをマスカレードし、IP 転送を設定します
前提条件
- Wi-Fi デバイスが、アクセスポイントモードでの実行をサポートしている
- Wi-Fi デバイスは使用していない
- ホストがインターネットにアクセスできる
手順
Wi-Fi デバイスを一覧表示して、アクセスポイントを提供するデバイスを特定します。
# nmcli device status | grep wifi wlp0s20f3 wifi disconnected --
デバイスがアクセスポイントモードをサポートしていることを確認します。
# nmcli -f WIFI-PROPERTIES.AP device show wlp0s20f3 WIFI-PROPERTIES.AP: yes
Wi-Fi デバイスをアクセスポイントとして使用するには、デバイスがこの機能をサポートしている必要があります。
dnsmasq
およびNetworkManager-wifi
パッケージをインストールします。# yum install dnsmasq NetworkManager-wifi
NetworkManager は
dnsmasq
サービスを使用して、アクセスポイントのクライアントに DHCP および DNS サービスを提供します。アクセスポイントの初期設定を作成します。
# nmcli device wifi hotspot ifname wlp0s20f3 con-name Example-Hotspot ssid Example-Hotspot password "password"
このコマンドは、WPA2 および WPA3 Personal 認証を提供する
wlp0s20f3
デバイス上のアクセスポイントの接続プロファイルを作成します。ワイヤレスネットワークの名前である Service Set Identifier (SSID) はExample-Hotspot
で、事前共有キーのpassword
を使用します。オプション: WPA3 のみをサポートするようにアクセスポイントを設定します。
# nmcli connection modify Example-Hotspot 802-11-wireless-security.key-mgmt sae
デフォルトでは、NetworkManager は wifi デバイスに IP アドレス
10.42.0.1
を使用し、残りの10.42.0.0/24
サブネットからの IP アドレスをクライアントに割り当てます。別のサブネットと IP アドレスを設定するには、次のように実行します。# nmcli connection modify Example-Hotspot ipv4.addresses 192.0.2.254/24
設定した IP アドレス (この場合は
192.0.2.254
) は、NetworkManager が wifi デバイスに割り当てるものです。クライアントは、この IP アドレスをデフォルトゲートウェイおよび DNS サーバーとして使用します。接続プロファイルをアクティベートします。
# nmcli connection up Example-Hotspot
検証
サーバー上では以下の設定になります。
NetworkManager が
dnsmasq
サービスを開始し、そのサービスがポート 67 (DHCP) および 53 (DNS) でリッスンしていることを確認します。# ss -tulpn | grep -E ":53|:67" udp UNCONN 0 0 10.42.0.1:53 0.0.0.0:* users:(("dnsmasq",pid=55905,fd=6)) udp UNCONN 0 0 0.0.0.0:67 0.0.0.0:* users:(("dnsmasq",pid=55905,fd=4)) tcp LISTEN 0 32 10.42.0.1:53 0.0.0.0:* users:(("dnsmasq",pid=55905,fd=7))
nftables
ルールセットを表示して、NetworkManager が10.42.0.0/24
サブネットからのトラフィックの転送とマスカレードを有効にしていることを確認します。# nft list ruleset table ip nm-shared-wlp0s20f3 { chain nat_postrouting { type nat hook postrouting priority srcnat; policy accept; ip saddr 10.42.0.0/24 ip daddr != 10.42.0.0/24 masquerade } chain filter_forward { type filter hook forward priority filter; policy accept; ip daddr 10.42.0.0/24 oifname "wlp0s20f3" ct state { established, related } accept ip saddr 10.42.0.0/24 iifname "wlp0s20f3" accept iifname "wlp0s20f3" oifname "wlp0s20f3" accept iifname "wlp0s20f3" reject oifname "wlp0s20f3" reject } }
Wi-Fi アダプターを備えたクライアントの場合:
利用可能なネットワークのリストを表示します。
# nmcli device wifi IN-USE BSSID SSID MODE CHAN RATE SIGNAL BARS SECURITY 00:53:00:88:29:04 Example-Hotspot Infra 11 130 Mbit/s 62 ▂▄▆_ WPA3 ...
-
Example-Hotspot
ワイヤレスネットワークに接続します。Managing Wi-Fi connections を参照してください。 リモートネットワークまたはインターネット上のホストに ping を実行し、接続が機能していることを確認します。
# ping -c 3 www.redhat.com
関連情報
-
システム上の
nm-settings(5)
man ページ