6.起動して最初にやらないといけない事

起動して最初にやらないといけない事
起動して最初にやらないといけない事

Raspberry Pi4にSSH(Teraterm)を接続して、最初ににやらないといけない事は、固定IPアドレスを設定して、SSH(Teraterm)で気軽に接続できる環境を作ることです。

※※Raspberry Pi OS(bookworm)のリリースから、ネットワークサービスがNetworkManagerに変更されました。

rsyslogのインストール

raspberry pi os(bookworm)から、ログ管理のデフォルトがjournaldになりました。

/etc/log/syslogにログが出力されないと、運用が面倒なのでrsyslogをインストールします。

$ sudo apt-get -y install rsyslog
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
  libestr0 libfastjson4 liblognorm5
Suggested packages:
  rsyslog-mysql | rsyslog-pgsql rsyslog-mongodb rsyslog-doc rsyslog-openssl | rsyslog-gnutls rsyslog-gssapi rsyslog-relp
The following NEW packages will be installed:
  libestr0 libfastjson4 liblognorm5 rsyslog
0 upgraded, 4 newly installed, 0 to remove and 0 not upgraded.
Need to get 800 kB of archives.
After this operation, 4,141 kB of additional disk space will be used.
Get:1 http://deb.debian.org/debian bookworm/main arm64 libestr0 arm64 0.1.11-1 [9,220 B]
Get:2 http://deb.debian.org/debian bookworm/main arm64 libfastjson4 arm64 1.2304.0-1 [27.4 kB]
Get:3 http://deb.debian.org/debian bookworm/main arm64 liblognorm5 arm64 2.0.6-4 [63.8 kB]
Get:4 http://deb.debian.org/debian bookworm/main arm64 rsyslog arm64 8.2302.0-1 [700 kB]
Fetched 800 kB in 0s (3,767 kB/s)
Selecting previously unselected package libestr0:arm64.
(Reading database ... 76514 files and directories currently installed.)
Preparing to unpack .../libestr0_0.1.11-1_arm64.deb ...
Unpacking libestr0:arm64 (0.1.11-1) ...
Selecting previously unselected package libfastjson4:arm64.
Preparing to unpack .../libfastjson4_1.2304.0-1_arm64.deb ...
Unpacking libfastjson4:arm64 (1.2304.0-1) ...
Selecting previously unselected package liblognorm5:arm64.
Preparing to unpack .../liblognorm5_2.0.6-4_arm64.deb ...
Unpacking liblognorm5:arm64 (2.0.6-4) ...
Selecting previously unselected package rsyslog.
Preparing to unpack .../rsyslog_8.2302.0-1_arm64.deb ...
Unpacking rsyslog (8.2302.0-1) ...
Setting up libestr0:arm64 (0.1.11-1) ...
Setting up libfastjson4:arm64 (1.2304.0-1) ...
Setting up liblognorm5:arm64 (2.0.6-4) ...
Setting up rsyslog (8.2302.0-1) ...
Created symlink /etc/systemd/system/syslog.service → /lib/systemd/system/rsyslog.service.
Created symlink /etc/systemd/system/multi-user.target.wants/rsyslog.service → /lib/systemd/system/rsyslog.service.
Processing triggers for libc-bin (2.36-9+rpt2+deb12u3) ...
Processing triggers for man-db (2.11.2-2) ...

vimのインストール

viをよく使用するので、vimをインストールしてviの操作が楽になるようにします。

ももぶろ
ももぶろ

vim以外でも慣れているツールがあればそれを使ってね

$ sudo apt-get -y install vim
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
  libgpm2 libsodium23 vim-runtime
Suggested packages:
  gpm ctags vim-doc vim-scripts
The following NEW packages will be installed:
  libgpm2 libsodium23 vim vim-runtime
0 upgraded, 4 newly installed, 0 to remove and 0 not upgraded.
Need to get 8,583 kB of archives.
After this operation, 41.5 MB of additional disk space will be used.
Get:1 http://deb.debian.org/debian bookworm/main arm64 libgpm2 arm64 1.20.7-10+b1 [14.4 kB]
Get:2 http://deb.debian.org/debian bookworm/main arm64 libsodium23 arm64 1.0.18-1 [119 kB]
Get:3 http://deb.debian.org/debian bookworm/main arm64 vim-runtime all 2:9.0.1378-2 [7,025 kB]
Get:4 http://deb.debian.org/debian bookworm/main arm64 vim arm64 2:9.0.1378-2 [1,424 kB]
Fetched 8,583 kB in 1s (10.8 MB/s)
Selecting previously unselected package libgpm2:arm64.
(Reading database ... 55058 files and directories currently installed.)
Preparing to unpack .../libgpm2_1.20.7-10+b1_arm64.deb ...
Unpacking libgpm2:arm64 (1.20.7-10+b1) ...
Selecting previously unselected package libsodium23:arm64.
Preparing to unpack .../libsodium23_1.0.18-1_arm64.deb ...
Unpacking libsodium23:arm64 (1.0.18-1) ...
Selecting previously unselected package vim-runtime.
Preparing to unpack .../vim-runtime_2%3a9.0.1378-2_all.deb ...  ・
  ・
  ・
 一杯出るので割愛

SSH(Teraterm)で使用する時、マウスカーソルからコピペしようとすると勝手に「挿入(ビジュアルモード)」になってコピペしにくくなるので、~/.vimrcのファイルを作成して設定してください。

ももぶろ
ももぶろ

viエディタで、クリップボードから貼り付けできるようになります。

$ vi ~/.vimrc

ファイルに追加する内容は最小限にしています。

syntax on
set incsearch
colorscheme elflord
set mouse=
ももぶろ
ももぶろ

viの超簡単な使い方は、ここを見てね

rootでもviを使うので、コピーしておきましょう。

$ sudo cp .vi* /root/

今必要ではないですが、便利な設定は下記の記事に掲載しています。

ネットワーク設定の準備

Raspberry Pi OS(bookworm)からネットワークサービスがDHCPからNetworkManagerに変わりましたので、憶えないといけないことが一杯です。

ネットワークの状態を確認

下記コマンドで概要を確認します。

$ nmcli
eth0: connected to Wired connection 1
        "eth0"
        ethernet (bcmgenet), DC:A6:32:91:31:FE, hw, mtu 1500
        ip4 default
        inet4 192.168.100.17/24
        route4 192.168.100.0/24 metric 100
        route4 default via 192.168.100.1 metric 100
        inet6 fe80::e749:73ef:1922:bd89/64
        route6 fe80::/64 metric 1024

lo: connected (externally) to lo
        "lo"
        loopback (unknown), 00:00:00:00:00:00, sw, mtu 65536
        inet4 127.0.0.1/8
        inet6 ::1/128

wlan0: disconnected
        "Broadcom BCM43438 combo and Bluetooth Low Energy"
        wifi (brcmfmac), DC:A6:32:91:31:FF, hw, mtu 1500

p2p-dev-wlan0: disconnected
        "p2p-dev-wlan0"
        wifi-p2p, hw

DNS configuration:
        servers: 192.168.100.1
        interface: eth0

Use "nmcli device show" to get complete information about known devices and
"nmcli connection show" to get an overview on active connection profiles.

Consult nmcli(1) and nmcli-examples(7) manual pages for complete usage details.

コネクション名をeth0に変更(NetworkManager)

コネクション名を確認すると、「Wired connection 1」というコネクション名が付けられています。

$ nmcli connection show
NAME                   UUID                                  TYPE      DEVICE
Wired connection 1  f41db84f-f7aa-3432-b838-46868768459a  ethernet  eth0
lo                     bc1b0ca6-b511-4c1c-b65e-04fd5280ab7b  loopback  lo

nmcliでは、コネクション名を指定して設定を行わないといけないので、スペースを含むコネクション名は使いづらいので、名前をデバイス名と同じeth0を設定します。

下記コマンドを実行する事で、直ぐに名前を変更ができます。

$ sudo nmcli connection modify 'Wired connection 1' connection.id eth0

変わったか確認してみます。

$ nmcli connection show
NAME  UUID                                  TYPE      DEVICE
eth0  f41db84f-f7aa-3432-b838-46868768459a  ethernet  eth0
lo    bc1b0ca6-b511-4c1c-b65e-04fd5280ab7b  loopback  lo

サーバに固定IPを設定

Buster(Debian11)の時の固定IPアドレスの設定方法は、過去記事のここを参照ください。

設定方法には、nmcliコマンドとnmtuiコマンドの二つがありますが、ここではnmcliコマンドで設定する方法を案内します。

まずIPv4の設定内容を確認します。

$ nmcli -f ipv4 connection show eth0
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)

赤文字の通り、autoが設定されていて、DHCPでネットワークが動いています。

下表に基づき設定を進めます。

番号設定項目設定内容説 明
ipv4.methodmanual固定IPアドレスの使用を宣言
ipv4.addresses192.168.100.100/24サーバのIPアドレス
ipv4.gateway192.168.100.1ルータのIPアドレス
ipv4.dns192.168.100.1,8.8.8.8ルータのIPアドレスとgoogleのDNSサーバ

②サーバのIPアドレスとして、DHCPのネットワークでぶつからないサーバのIPアドレスを指定する。

例:PCのIPアドレスが、192.168.100.15 なら 192.168.100.100を指定

まさか、100台近く家庭のネットワークで、スマホとかPCとか使用していないでしょう。

③ルータのIPアドレスは、一番低い数字を指定する。

例:PCのIPアドレスが、192.168.100.15 なら 192.168.100.1を指定

③DNSのIPアドレスは、複数指定します。

例: PCのIPアドレスが、192.168.100.15 なら 192.168.100.1 と googleが公開している 8.8.8.8を指定

コマンドでの設定の順番は、下記の通りとしてください。順番が違うとエラーが出ることがあります。

$ sudo nmcli connection modify eth0 ipv4.addresses 192.168.100.100/24
$ sudo nmcli connection modify eth0 ipv4.gateway 192.168.100.1
$ sudo nmcli connection modify eth0 ipv4.dns 192.168.100.1,8.8.8.8
$ sudo nmcli connection modify eth0 ipv4.method manual

設定内容を確認すると

$ nmcli -f ipv4 connection show eth0
ipv4.method:                            manual
ipv4.dns:                               192.168.100.1,8.8.8.8
ipv4.dns-search:                        --
ipv4.dns-options:                       --
ipv4.dns-priority:                      0
ipv4.addresses:                         192.168.100.100/24
ipv4.gateway:                           192.168.100.1
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)

コマンドで指示された内容が赤文字の通り設定されます。

まだ、プロパティの設定だけなので、ネットワークとして有効にするためコネクションeth0を再起動します。

$ sudo nmcli connection up eth0

上記コマンドでeth0を再起動すると、ネットワークアドレスが変更されるので、SSH(teraterm)の反応が無くなります。

SSH(Teraterm)を再起動して、固定のIPアドレスで接続し問題の無いことを確認します。

下記のコマンドで固定IPが付番されている事を確認します。

$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host noprefixroute
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether dc:a6:32:91:31:fe brd ff:ff:ff:ff:ff:ff
    inet 192.168.100.100/24 brd 192.168.100.255 scope global noprefixroute eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::e749:73ef:1922:bd89/64 scope link noprefixroute
       valid_lft forever preferred_lft forever
3: wlan0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
    link/ether dc:a6:32:91:31:ff brd ff:ff:ff:ff:ff:ff

赤文字の通り192.168.100.100/24が設定されています。

これで、固定IPアドレスの設定は終了です。

タイトルとURLをコピーしました