このページには、Raspberry Pi OS でネットワーク設定の手順が書いてあります。
Raspberry Pi OS のネットワーク設定 #
Raspberry Pi OS 12 “Bookworm” からネットワークの設定が dhcpcd から NetworkManager に変更されました。 以下ではそれぞれの設定方法を紹介しています。
なお、現在インストールされている OS のバージョンは /etc/os-release
で確認できます。
$ cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 12 (bookworm)"
NAME="Debian GNU/Linux"
VERSION_ID="12"
VERSION="12 (bookworm)"
VERSION_CODENAME=bookworm
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
NetworkManager でのネットワーク設定手順 #
固定 IP アドレスの設定 #
固定 IP アドレスの設定には設定したいネットワークインターフェースに対するプロファイル名が必要です。nmcli connection show
コマンドで表示される “NAME” の列がプロファイル名です。
$ nmcli connection show
NAME UUID TYPE DEVICE
Wired connection 1 9dd96db0-c42a-360b-9d45-93a47c2c1938 ethernet eth0
lo 37fd429a-2f73-4e61-8583-d7a966b409dc loopback lo
docker0 c233afb5-14b9-4e53-b807-296598121a47 bridge docker0
プロファイル名がわかれば、nmcli connection modify '<NAME>'
で IP アドレスを設定できます。
下記のコマンドは、上記の “Wired connection 1” に対して変更する場合の例です。
$ sudo nmcli connection modify 'Wired connection 1' ipv4.addresses "<IP address>/<Prefix>" ipv4.gateway "<Gateway address>" ipv4.dns "<DNS address>" ipv4.method "manual"
設定が完了していれば設定ファイルが /etc/NetworkManager/system-connections/
ディレクトリー配下に <プロファイル名>.nmconnection
という名前で作られます。
$ sudo cat /etc/NetworkManager/system-connections/Wired\ connection\ 1
.nmconnection
[connection]
id=Wired connection 1
uuid=9dd96db0-c42a-360b-9d45-93a47c2c1938
type=ethernet
autoconnect-priority=-999
interface-name=eth0
timestamp=1700375419
[ethernet]
[ipv4]
address1=192.168.0.62/24,192.168.0.1
dns=192.168.0.1;
method=manual
[ipv6]
addr-gen-mode=default
method=auto
[proxy]
システムを再起動すれば、IP アドレスが変わっているはずです。
Wi-Fi の設定方法 #
下記コマンドで現在受信可能な SSID を表示できます。
$ sudo nmcli dev wifi
IN-USE BSSID SSID MODE CHAN RATE SIGNAL BARS SE>
AA:AA:AA:AA:AA:AA aaaaaaaaaaaaaaaa Infra 3 270 Mbit/s 87 ▂▄▆█ WP>
* BB:BB:BB:BB:BB:BB bbbbbbbbbbbbbbbb Infra 5 270 Mbit/s 79 ▂▄▆_ WP>
接続する Wi-Fi AP を切り替える場合は下記コマンドで切り替えできます。
$ sudo nmcli dev wifi con <SSID> password <PASSWORD>
dhcpcd でのネットワーク設定手順 #
固定 IP アドレスの設定 #
固定 IP アドレスをネットワークインターフェースの設定をします。
固定IPの設定をするには /etc/dhcpcd.conf
を編集します。
何かわからないことがあれば man dhcpcd.conf
でマニュアルを確認できます。
なお、Raspberry Pi OS の場合、有線インターフェース名は eth0
、Wi-Fi インターフェース名は wlan0
です。
コピペ用の一例です。
interface wlan0
static ip_address=192.168.0.2/24
static routers=192.168.0.1
static domain_name_servers=192.168.0.1
あとは Raspberry Pi をリブートすれば再起動後には設定が変わっています。
ちなみに、Raspberry Pi OS は Debian 系なので /etc/network/interfaces
に必要な設定すればよいかと思いましたが、次のとおり、Raspberry Pi OS では上記ファイルを使え、ということです。
pi@raspberrypi:/etc $ cat /etc/network/interfaces
# interfaces(5) file used by ifup(8) and ifdown(8)
# Please note that this file is written to be used with dhcpcd
# For static IP, consult /etc/dhcpcd.conf and 'man dhcpcd.conf'
# Include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d
Wi-Fi AP の接続先設定 #
Wi-Fi AP の接続先の設定情報は /etc/wpa_supplicant/wpa_supplicant.conf
ファイルを変更します。
次のようなフォーマットで Wi-Fi AP の情報を記述します。
$ sudo cat /etc/wpa_supplicant/wpa_supplicant.conf
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=JP
network={
ssid="xxxxxxxxxxxxxxx"
psk=xxxxxxxxxxxxxxx
}
network={
ssid="xxxxxxxxxxxxxxx"
psk=xxxxxxxxxxxxxxx
}
psk
には平文でパスワードを指定することもできますが、セキュリティ上好ましくないため、暗号化した文字列を使うようにします。
wpa_passphrase
コマンドで暗号化したパスワードを取得できます。
$ wpa_passphrase <SSIDを入力>
# reading passphrase from stdin
<パスワードを入力>
network={
ssid="xxxxxxxxxxxx"
#psk="平文のパスワード"
psk=<暗号化されたパスワード>
}
Raspberry Pi が Wi-Fi にしか接続されておらず、SSH でログインしているようであれば、そのままリブートして設定を更新することが無難かと思いますが、もしリブートが難しいようであれば、下記コマンドでも再設定可能です。
sudo systemctl restart dhcpcd.service
なお、現在接続中の Wi-Fi AP を確認する方法は次のコマンドでできます。
$ iwconfig
wlan0 IEEE 802.11 ESSID:"xxxxxxxxxxxxxxxx"
Mode:Managed Frequency:2.447 GHz Access Point: xx:xx:xx:xx:xx:xx
Bit Rate=72.2 Mb/s Tx-Power=31 dBm
Retry short limit:7 RTS thr:off Fragment thr:off
Power Management:on
Link Quality=64/70 Signal level=-46 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:6718 Invalid misc:0 Missed beacon:0
lo no wireless extensions.