Raspberry Pi 4B に Ubuntu Desktop 20.10 64bit をインストールした後のネットワーク設定です。
2020/12/25 nmcliコマンドによる、Wi-Fiの設定方法を追記しました。
1 ssh を有効にする
$ sudo apt install ssh
これで sshd がインストールされて systemctl から起動されますから、他のコンピューターからログインすることが可能になります。もちろん、パスワードを設定しないとかロックするなどでセキュリティは確保しておきましょう。
2 PKI認証の設定
PKI認証用の鍵を設定するためには、.sshディレクトリを作成してauthorized_keys に公開鍵を登録しておきます。
$ cd $HOME
$ mkdir .ssh
$ chmod 700 .ssh
$ cd .ssh
$ vi authorized_keys
<公開鍵を登録>
$ chmod 600 authorized_keys
3 固定IPアドレスの設定
/etc/netplan ディレクトリの 10-rpi-ethernet-eth0.yaml ファイルを編集します。
$ sudo vi 10-rpi-rthernet-eth0.yaml
network:
ethernets:
eth0:
# Rename the built-in ethernet device to "eth0"
match:
driver: bcmgenet smsc95xx device to "eth0"
set-name: eth0
dhcp4: true
optional: true
上記の dhcp4: true の行を、以下の内容に修正します。
addresses: [192.168.1.2/24]
gateway4: 192.168.1.1
nameservers:
addresses: [192.168.1.1]
search: []
ここでは、192.168.1.2 が設定する固定IPアドレスで 192.168.1.1 がルーターのアドレスとして想定しています。
4 設定の反映
設定した内容を反映するために、以下のコマンドを実行します。
$ sudo netplan apply
正常に反映できた場合には何も出力されません。何か、問題がある場合にはその旨表示されます。
5 NetworkManager用の設定
NetworkManagerを使用している場合、nmcliコマンドまたはGUIで設定します。
$ nmcli connection
NAME UUID TYPE DEVICE
<SSID> fea8ccab-20d6-4435-ad45-fa7d88ca4e8a wifi wlan0
netplan-eth0 626dd384-8b3d-3690-9511-192b2c79b3fd ethernet --
この場合には、WiFi接続を使用していますので NAME に相当する <SSID> で固定IPアドレスを設定していきます。
$ sudo nmcli connection modify <SSID> ipv4.method manual ipv4.address 192.168.1.2/24 ipv4.gateway 192.168.1.1 ipv4.dns 192.168.1.1
設定内容を確認するには、次のように実行します。
$ nmcli device show wlan0
GENERAL.DEVICE: wlan0
GENERAL.TYPE: wifi
GENERAL.HWADDR: XX:XX:XX:XX:XX:XX
GENERAL.MTU: 1500
GENERAL.STATE: 100 (接続済み)
GENERAL.CONNECTION: <SSID>
GENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveC>
IP4.ADDRESS[1]: 192.168.1.2/24
IP4.GATEWAY: 192.168.1.1
IP4.ROUTE[1]: dst = 192.168.1.0/24, nh = 0.0.0.0, mt>
IP4.ROUTE[2]: dst = 169.254.0.0/16, nh = 0.0.0.0, mt >
IP4.ROUTE[3]: dst = 0.0.0.0/0, nh = 192.168.1.1, mt >
IP4.DNS[1]: 192.168.1.1
IP6.ADDRESS[1]: xxxx::xxxx:xxxx:xxxx:xxxx/64
IP6.GATEWAY: --
IP6.ROUTE[1]: dst = fe80::/64, nh = ::, mt = 600
IP6.ROUTE[2]: dst = ff00::/8, nh = ::, mt = 256, tabl>
NetworkManagerで設定した場合、/etc/NetworkManager/system-connectionsディレクトリの<SSID>.nmconnectionファイルに反映されます。
$ sudo vi <SSID>.nmconnection
<中略>
[ipv4]
address1=192.168.1.2/24,192.168.1.1
dns=192.168.1.1;
dns-search=
ignore-auto-dns=true
method=manual
6 nmcliでのWi-Fi設定
今回は、インストール時にWi-Fiの接続設定をしていましたので、先にnmcliでの固定IPアドレスの設定をしています。
nmcliでWi-Fiの接続設定をする場合は、以下のように実行することができます。まず、Wi-Fiの接続先リストを表示します。
$ nmcli device wifi list
接続可能なアクセスポイントが表示されますのでNAMEの欄に表示されているSSIDを使って接続設定を実行します。
$ sudo nmcli device wifi connect <SSID> password <パスワード>
正常に接続できた場合には、暫くして「正常にアクティベートされました」と表示されます。
ipコマンドでIPアドレスを確認してみます。
$ ip a show dev wlan0
7 nmcliでのインターフェースの起動、停止
nmcliでインターフェースを起動、停止するには、以下のコマンドを実行します。
$ sudo nmcli connection down <SSID>
$ sudo nmcli connection up <SSID>
8 Wi-Fiの起動、停止
nmcliでWi-Fiの起動、停止するには、以下のコマンドを実行します。
$ nmcli radio wifi off
$ nmcli radio wifi on
以上のようにnmcliコマンドを使用して、必要最小限のネットワーク設定を実行することができます。