Wi-Fiをアクセスポイントに設定する
JetBotのWi-Fiをアクセスポントとして設定することで、ルーターのようにPCを接続することができます。
外部(インターネット)にはつながらない
インターネットにも接続したい場合は別途有線LANを接続する必要があります。
NetworkManagerはWi-Fiインターフェースをアクセスポイントとして設定することができます。NetworkManagerを使うメリットは、Wi-Fi, DHCPサーバー, NATの設定を完全に自動化できることにあります。
それでは、Wi-Fiアクセスポイントにしてみましょう。
まずはdnsmasqをインストールします。
dnsmasqは、軽量のDNSフォワーダーおよびDHCPサーバーを提供します。
sudo apt-get install dnsmasq
デフォルトではdnsmasqはスタンドアロンサービスとして実行されるため、NetworkManagerによって起動されるdnsmasqインスタンスと競合します。
競合を防ぐために、次のコマンドを実行してdnsmasqサービスを無効にします。
sudo systemctl disable dnsmasq
sudo systemctl stop dnsmasq
NetworkManagerでdnsmasqをDNSサーバーとして利用するために、/etc/NetworkManager/NetworkManager.confに次の記述を追加します。
/etc/NetworkManager/NetworkManager.confを編集
vi /etc/NetworkManager/NetworkManager.conf
[main]
dns=dnsmasq
[main]
plugins=ifupdown,keyfile
dns=dnsmasq
[ifupdown]
managed=false
[device]
wifi.scan-rand-mac-address=no
Wi-Fi APを作成します。(下記はテンプレート)
nmcli con add type wifi ifname wlan0 mode ap con-name <name> ssid <ssid>
nmcli con modify <name> 802-11-wireless.band <band>
nmcli con modify <name> 802-11-wireless.channel <channel>
nmcli con modify <name> 802-11-wireless-security.key-mgmt <key-mgmt>
nmcli con modify <name> 802-11-wireless-security.proto <proto>
nmcli con modify <name> 802-11-wireless-security.group <group>
nmcli con modify <name> 802-11-wireless-security.pairwise <pairwise>
nmcli con modify <name> 802-11-wireless-security.psk <passphrase>
nmcli con modify <name> ipv4.method shared
nmcli con up <name>
例として次のコマンドは、SSIDをJetBot_AP、帯域を2.4GHz、チャネル1、WPA2-PSKセキュリティ、CCMP暗号化、およびパスフレーズjetbot_apを使用して、インターフェイスwlan0にWIFI_APという名前のAP構成を作成します。
パスフレーズは8-63文字で設定します。
SSID: JetBot_AP
PASS: jetbot_ap
nmcli con add type wifi ifname wlan0 mode ap con-name WIFI_AP ssid JetBot_AP
nmcli con modify WIFI_AP 802-11-wireless.band bg
nmcli con modify WIFI_AP 802-11-wireless.channel 1
nmcli con modify WIFI_AP 802-11-wireless-security.key-mgmt wpa-psk
nmcli con modify WIFI_AP 802-11-wireless-security.proto rsn
nmcli con modify WIFI_AP 802-11-wireless-security.group ccmp
nmcli con modify WIFI_AP 802-11-wireless-security.pairwise ccmp
nmcli con modify WIFI_AP 802-11-wireless-security.psk jetbot_ap
nmcli con modify WIFI_AP ipv4.method shared
nmcli con up WIFI_AP
DHCPサブネットを設定します。(下記はテンプレート)
nmcli con modify <name> ipv4.addr <ipaddress/prefix>
例として次のコマンドはDHCPサブネットを10.0.0.x/24に設定します。
このコマンドによって10.0.0.x/24のサブネットがNetWorkManagerのDHCPサーバーによって使用され、10.0.0.1アドレスがAP自体に割り当てられます。
nmcli con modify WIFI_AP ipv4.addr 10.0.0.1/24
NetworkManagerは /etc/NetworkManager/system-connections/WIFI_AP に設定ファイルを作成します。 nmcliコマンドを実行する他に、このファイルを直接編集してAP設定を変更することもできます。
設定ファイルの変更を有効にするには、次のコマンドを実行してNetworkManagerを再起動します。
systemctl restart NetworkManager.service
以上でWi-Fi APの設定が完了です。PCでJetBot_APというWi-Fiスポットに接続して、ブラウザで
http://10.0.0.1:8888
にアクセスすると、JetBotのJupyterノートブックにアクセスすることができるようになります。