2017-09-11 追記:2017-09-07版のRaspbian Stretch with desktopでは、ラズパイ3内蔵の有線LANはeth0に戻っていました。記録のため、記事は残しておきます。
ここから元記事:
2017-08-16 にRaspbian Stretch with desktop がリリースされてました。「Raspberry Pi Desktop – Raspberry Pi」という、Debian with Raspberry Pi Desktopのダウンロードページも出来たせいか、Raspbianのダウンロードページでは、デスクトップ版は「Raspbian Stretch with desktop」という名前になってますね。
ということで、「Download Raspbian for Raspberry Pi」からデスクトップ版をダウンロードしてインストールしてみました。また、FacebookのRaspberry Pi JAPANグループで有線LANで静的IPを指定する際の注意点が話題にあがっていたので調べてみました。
目次
インストール時に気になった点
インストール時に気になった点は下記の2つ。すぐに修正版が出るかもしれませんが、ここだけ注意すれば、これまで通りの方法でインストール作業はできます。
- キーボードの設定がラズパイの設定画面からはできなかったので、別途、ラズパイアイコンのメニューから「設定」-「キーボードとマウス」で表示される画面で「キーボード」タブを開いて「Keyboard Layout」ボタンをクリックして設定
- ロケールを日本語にしたら日本語フォントをインストールしてから再起動
有線LAN用のデバイス名をeth0にする
ネットワークについては、有線LAN用のデバイス名が変わりました。ラズパイ3内蔵の有線LANは、eth0ではなくてMACアドレスを使ったデバイス名になります。
ただし、Raspberry Pi Zero W では「ロジテック 有線LANアダプタ USB 3.0 ギガビット対応 USB3.0ハブ3ポート付 LAN-GTJU3H3 」をつけたところeth0として認識しました。
/sys/class/net/ にあるデバイスファイルをlsコマンドで確認できます。XXXXXXXXXXXにMACアドレスから生成される文字列、例えば827eabcdeabのような文字列で入ります。これ以降、XXXXXXXXXXXはMACアドレスから生成される文字列に置き換えて読んでください。
$ ls /sys/class/net/ enxbXXXXXXXXXXX lo wlan0
さて、ここで、eth0を使いたいという要望もあるでしょう。調べていたら、Where is eth0? – Raspberry Pi Forumsに同じ質問があって、回答がありました。次の内容で /etc/udev/rules.d/70-persistent-net.rules を作成すると、内蔵の有線LANはeth0になります。
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="smsc95xx", ATTR{address}=="*", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
こうすると、従来の方法で静的IPを指定できるようになります。
静的IPアドレスの指定方法
静的IPアドレスの指定については、Debianのネットワーク設定方法を見ると /etc/network/interfaces ファイルへ記述するように説明がされています。しかし、Raspbianの/etc/network/interfaces ファイルには、「Please note that this file is written to be used with dhcpd」というコメントが記載されています。Raspbianだと/etc/network/interfaces はユーザーは編集しない方が良さそうなので、/etc/dhcpcd.conf で静的IPアドレスを指定するという方法が単純です。
下記の内容を /etc/dhcpcd.conf の最後に追加します。192.168.1.100や192.168.1.1は自分のネットワークに合わせて変更してください。デバイス名をeth0にしてある場合は「interface enxbXXXXXXXXXXX」は「interface eth0」とします。
interface enxbXXXXXXXXXXX static ip_address=192.168.1.100/24 static routers=192.168.1.1 static domain_name_servers=192.168.1.1 8.8.8.8
ラズパイを再起動すれば静的IPアドレスが設定されます。
静的IPアドレスの指定方法 その2
Debianの設定に慣れていて、/etc/dhcpcd.confへ記述したことを忘れそうだから、/etc/network/の下に設定をまとめておきたいという人もいるでしょう。
その場合は、/etc/network/interfaces.d/enxbXXXXXXXXXXX というファイルを作成して、そこへ下記のような内容を記述します。
auto enxbXXXXXXXXXXX iface enxbXXXXXXXXXXX inet static address 192.168.1.100 netmask 255.255.255.0 dns-nameservers 192.168.1.1 8.8.8.8 gateway 192.168.1.1
デバイス名をeth0にしてある場合、ファイル名は/etc/network/interfaces.d/eth0、設定ファイル内の「enxbXXXXXXXXXXX」は「eth0」とします。
次に、このデバイスについてはdhcpcdの対象からはずす必要があります。/etc/dhcpcd.conf の最後の行に、下記を追加します。
denyinterfaces enxbXXXXXXXXXXX
ラズパイを再起動すれば静的IPアドレスが設定されます。