コンテンツにスキップ

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ノートブックにアクセスすることができるようになります。