LANケーブル経由でラズベリーパイを操作する

シリアルコンソール経由でラズベリーパイを操作するでディスプレイやキーボードがなく、WiFiに繋がっていない状態でラズベリーパイを操作する時、シリアルコンソールでラズベリーパイを操作する方法を見ましたが、シリアルコンソールの代わりにLANケーブルで操作する方法を見ていきます。


環境

マシン : Raspberry Pi 5 8G

OS : Raspberry Pi OS(64-bit)

※今回はクロームブックからラズベリーパイを操作します


はじめにラズベリーパイをLANケーブル経由で操作する時に必要となる知識について触れます。



LANケーブルですが、クロスケーブル(クロス結線)と記載されているものを選びます。

※最近のパソコンでは、パソコン間の通信でクロスケーブルではなく、ストレートケーブルでも良いとのことですが、今回は念の為にクロスケーブルを準備して話を進めます。

※今回の内容はストレートケーブルでも動作することは確認済み

【LANケーブル】クロスケーブルとストレートケーブルの違いは? - エレコム株式会社


LANケーブルですが、ラズベリーパイの方はLANポートがありますが、もう一台のパソコンにはLANポートが無いことが多いです。

そんな時はUSBで接続するLANポートを購入する必要があります。

充電にも対応したドッキングステーションを一つ保持しておくことをおすすめします。

ドッキングステーション 4in1 HDMI(R)+LAN - DST-C29SV - エレコム株式会社




ラズベリーパイのネットワーク環境について見ておきます。

WiFiの設定を終えた状態のラズベリーパイの方でターミナル(LXTerminal)を起動し、下記のコマンドを実行します。

$ ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet6 fe80::e7f3:d1da:648:9279  prefixlen 64  scopeid 0x20<link>
        ether 2c:cf:67:10:67:0a  txqueuelen 1000  (Ethernet)
        RX packets 4  bytes 1312 (1.2 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 31  bytes 5832 (5.6 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 106  

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 90  bytes 8080 (7.8 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 90  bytes 8080 (7.8 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.55  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::e3d1:78ba:feb:5bce  prefixlen 64  scopeid 0x20<link>
        inet6 240d:1e:3bb:5500:5541:ec39:4b57:ffcd  prefixlen 64  scopeid 
		
0x0<global>
        ether 2c:cf:67:10:67:0b  txqueuelen 1000  (Ethernet)
        RX packets 73  bytes 9407 (9.1 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 77  bytes 11539 (11.2 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

出力された結果のうち、eth0が有線でネットワーク(イーサネット:ethernet)に繋ぐ方で、wlan0が無線(WiFi)でネットワークに繋ぐ方になります。


既にWiFiの設定を行っていますので、wlan0の方ではIPアドレスが振り分けられています。


ラズベリーパイのネットワーク環境はNetworkManagerで管理されており、wlan0の設定は

$ sudo less /etc/NetworkManager/system-connections/{SSID}.nmconnection 

※{SSID}には、WiFiの設定の際に登録したSSIDが入っています。

NetworkManager

サービスセット識別子 - Wikipedia




NetworkManagerでパソコン間をクロスケーブルでやり取りできるようにする設定をしてみます。

設定はnmcliというコマンドで行います。

nmcli: NetworkManager Reference Manual


下記のコマンドで有線ネットワークの設定ファイルを作成します。

$ sudo nmcli connection add con-name eth0pi type ethernet ifname eth0 connection.autoconnect yes

eth0piはネットワークのIDになりまして、任意の文字列で良いです。


Connection 'eth0pi' (dc731b18-ffd0-4eba-b5e8-7d4bd2ec9ccb) successfully added.

な文字列が出力されれば、設定ファイルの作成は成功です。


早速、生成された設定ファイルを確認してみましょう。

$ sudo less /etc/NetworkManager/system-connections/eth0pi.nmconnection
[connection]
id=eth0pi
uuid=dc731b18-ffd0-4eba-b5e8-7d4bd2ec9ccb
type=ethernet
interface-name=eth0

[ethernet]

[ipv4]
method=auto

[ipv6]
addr-gen-mode=default
method=auto

[proxy]

パソコン間をLANケーブルで繋ぐ際、IPv6で接続する必要がないので、下記コマンドでIPv6を無効化します。

$ sudo nmcli connection modify eth0pi ipv6.method disabled



IPv4の方の設定を行います。

最初に設定内容を確認しておきます。

$ sudo nmcli -f ipv4 connection show eth0pi
ipv4.method:				auto
ipv4.dns:				--
ipv4.dns-search:			--
ipv4.dns-options:			--
ipv4.dns-priority:			0
ipv4.addresses:				--
ipv4.gateway:				--
ipv4.routes:				--
ipv4.route-metric:			-1
ipv4.route-table:			0 (unspec)
ipv4.routing-rules:			--
ipv4.replace-local-rule:		-1 (default)
ipv4.ignore-auto-routes:		no
ipv4.ignore-auto-dns:			no
ipv4.dhcp-client-id:			--
ipv4.dhcp-iaid:				--
ipv4.dhcp-timeout:			0 (default)
ipv4.dhcp-send-hostname:		yes
ipv4.dhcp-hostname:			--
ipv4.dhcp-fqdn:				--
ipv4.dhcp-hostname-flags:		0x0 (none)
ipv4.never-default:			no
ipv4.may-fail:				yes
ipv4.required-timeout:			-1 (default)
ipv4.dad-timeout:			-1 (default)
ipv4.dhcp-vendor-class-identifier:	--
ipv4.link-local:			0 (default)
ipv4.dhcp-reject-servers:		--
ipv4.auto-route-ext-gw:			-1 (default)



パソコン間をLANケーブルで繋いでネットワークを構築する場合、両方のパソコンで固定のIPアドレスを設定する必要があります。


はじめにラズベリーパイの方の固定IPの設定を行います。

IPアドレスは使用していない番号、例えば192.168.2.99等のIPアドレスを指定します。


ラズベリーパイの方のIPの設定は下記のようにします。

IPアドレス : 192.168.2.99

ゲートウェイ : 192.168.2.1

ネームサーバ(DNS) : 192.168.2.1


コマンドで設定する場合、下記の順番でコマンドを実行します。

$ sudo nmcli connection modify eth0pi ipv4.addresses 192.168.2.99/24
$ sudo nmcli connection modify eth0pi ipv4.method manual
$ sudo nmcli connection modify eth0pi ipv4.gateway 192.168.2.1
$ sudo nmcli connection modify eth0pi ipv4.dns 192.168.2.1
$ sudo nmcli connection reload



続いて、クロームブックの方のIPの設定を行います。

IPアドレス : 192.168.2.100

ゲートウェイ : 192.168.2.1

ネームサーバ(DNS) : 192.168.2.1


クロームブックのポートにLANケーブルを接続すると



イーサネットの表示が追加されますので、イーサネットをクリックして、



イーサネットの設定を進めます。

IPアドレスを自動的に設定をOFF(オフ)にして、



IPアドレスとゲートウェイの項目を入力します。



ネームサーバーでカスタムネームサーバーにチェックを入れて、DNSの値を登録します。




ラズベリーパイの方のターミナルから、

$ ping 192.168.2.100

を実行して、疎通確認を行います。


64 bytes from 192.168.2.99: icmp_seq=1 ttl=64 time=30.8 ms

のように結果が返ってくれば設定は終了です。


後はラズベリーパイの方で設定したIPアドレスの192.168.2.100の値を使って、クロームブックでラズベリーパイとファイルの共有を行うに記載されているSecure Shellでクロームブックからラズベリーパイに接続してみます。


追記

色々と試してみて、有線LANとWiFiを同時に起動すると、有線LANの方のSSHのレスポンスの速度が激減するようです。

今回の内容はWiFiが使用できない環境か、ディスプレイやキーボードがない環境でラズベリーパイのWiFiの設定を行うまでの手法として捉えてください。

マインクラフト用ビジュアルエディタを開発しています。
詳しくはinunosinsi/mcws_blockly - githubをご覧ください。