linux:commands:network:network_manager_create_wifi_hotspot

NetworkManager による Hotspot の作成(nmcli)

$ sudo dnf install NetworkManager-wifi

WiFi 接続状況を確認する。

$ nmcli con
NAME                 UUID                                  TYPE      DEVICE 
bridge-br0           baab9d3a-a9fa-4adf-9ff6-a0f8b1baa85e  bridge    br0    
virbr0               1d4e7d98-420a-47af-a01c-f51f203da95b  bridge    virbr0 
TomoyanMWRT          2673681b-2218-4bd3-8d8e-1a8421f759fe  wifi      wlp7s0 
bridge-slave-enp8s0  de661bb4-ff51-4a94-a030-0ca70e81551a  ethernet  enp8s0 

WiFi 接続を切断する。

$ nmcli con down TomoyanMWRT
接続 'TomoyanMWRT' が正常に非アクティブ化されました (D-Bus アクティブパス: /org/freedesktop/NetworkManager/ActiveConnection/2)

WiFi デバイスの状況を確認する。

$ nmcli dev
DEVICE          TYPE      STATE     CONNECTION          
br0             bridge    接続済み  bridge-br0          
virbr0          bridge    接続済み  virbr0              
enp8s0          ethernet  接続済み  bridge-slave-enp8s0 
wlp7s0          wifi      切断済み  --

WiFi Hotspot (WiFi アクセスポイント) を作成する。
Hotspot の名前は、ここでは CmonWRT とする。また、WiFi インターフェースは wlp7s0 である。

$ nmcli con add type wifi ifname wlp7s0 con-name CmonWRT autoconnect yes ssid CmonWRT
接続 'CmonWRT' (586f6bf3-7472-4edd-8304-17814a03be12) が正常に追加されました。
$ nmcli con modify CmonWRT 802-11-wireless.mode ap 802-11-wireless.band bg ipv4.method shared
$ nmcli con modify CmonWRT wifi-sec.key-mgmt wpa-psk
$ nmcli con modify CmonWRT wifi-sec.psk "veryveryhardpassword1234"

WiFi Hotspot のパスワードを確認。(設定したものと違う場合があるので確認)

$ sudo cat /etc/sysconfig/network-scripts/keys-CmonWRT
WPA_PSK="veryveryhardpassword1234"

もしも、パスワードが設定したものと違う場合は、使えない文字を除いて設定される様である。(何故使えない文字があるのかは不明)

$ sudo vi /etc/sysconfig/network-scripts/keys-CmonWRT
/etc/sysconfig/network-scripts/keys-CmonWRT
WPA_PSK="veryveryhardpassword1234"

WiFi Hotspot を有効化する。

$ nmcli con up CmonWRT
接続が正常にアクティベートされました (D-Bus アクティブパス: /org/freedesktop/NetworkManager/ActiveConnection/11)

WiFi の接続状況を確認する。

$ nmcli con
NAME                 UUID                                  TYPE      DEVICE 
CmonWRT              586f6bf3-7472-4edd-8304-17814a03be12  wifi      wlp7s0 
bridge-br0           baab9d3a-a9fa-4adf-9ff6-a0f8b1baa85e  bridge    br0    
virbr0               1d4e7d98-420a-47af-a01c-f51f203da95b  bridge    virbr0 
bridge-slave-enp8s0  de661bb4-ff51-4a94-a030-0ca70e81551a  ethernet  enp8s0

以下の dnsmasq プロセスの 4252 を NetworkManager がコネクションをアップした時点で自動的に起動してくれる。

$ ps -ef | grep dnsmasq
dnsmasq   1684     1  0 08:51 ?        00:00:00 /usr/sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/vm-net.conf --leasefile-ro --dhcp-script=/usr/libexec/libvirt_leaseshelper
root      1685  1684  0 08:51 ?        00:00:00 /usr/sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/vm-net.conf --leasefile-ro --dhcp-script=/usr/libexec/libvirt_leaseshelper
dnsmasq   4252  1041  0 09:03 ?        00:00:00 /usr/sbin/dnsmasq --conf-file=/dev/null --no-hosts --keep-in-foreground --bind-interfaces --except-interface=lo --clear-on-reload --strict-order --listen-address=10.42.0.1 --dhcp-range=10.42.0.10,10.42.0.254,60m --dhcp-lease-max=50 --dhcp-leasefile=/var/lib/NetworkManager/dnsmasq-wlp7s0.leases --pid-file=/var/run/nm-dnsmasq-wlp7s0.pid --conf-dir=/etc/NetworkManager/dnsmasq-shared.d 

OS 再起動の度にパスワードは正しいのに、パスワードが違うと言われて繋がらなくなる。
原因不明、恐らくバグかもしれない…。わからない…orz
WiFi Hotspot を削除して再作成すると繋がる。
これでは、はっきり言って使い物にならない…。

$ nmcli con del CmonWRT
接続 'CmonWRT' (586f6bf3-7472-4edd-8304-17814a03be12) が正常に削除されました。
$ nmcli con add type wifi ifname wlp7s0 con-name CmonWRT autoconnect yes ssid CmonWRT
接続 'CmonWRT' (e71a362b-29b0-4766-bf56-d08fc1621a11) が正常に追加されました。
$ nmcli con modify CmonWRT 802-11-wireless.mode ap 802-11-wireless.band bg ipv4.method shared
$ nmcli con modify CmonWRT wifi-sec.key-mgmt wpa-psk
$ nmcli con modify CmonWRT wifi-sec.psk "veryveryhardpassword1234"
$ nmcli con up CmonWRT
接続が正常にアクティベートされました (D-Bus アクティブパス: /org/freedesktop/NetworkManager/ActiveConnection/7)
  • linux/commands/network/network_manager_create_wifi_hotspot.txt
  • 最終更新: 2019/06/04 09:15
  • by ともやん