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

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

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

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

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 (11.4 MB/s)
Selecting previously unselected package libgpm2:arm64.
(Reading database ... 56373 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 ...
Adding 'diversion of /usr/share/vim/vim90/doc/help.txt to /usr/share/vim/vim90/doc/help.txt.vim-tiny by vim-runtime'
Adding 'diversion of /usr/share/vim/vim90/doc/tags to /usr/share/vim/vim90/doc/tags.vim-tiny by vim-runtime'
Unpacking vim-runtime (2:9.0.1378-2) ...
Selecting previously unselected package vim.
Preparing to unpack .../vim_2%3a9.0.1378-2_arm64.deb ...
Unpacking vim (2:9.0.1378-2) ...
Setting up libsodium23:arm64 (1.0.18-1) ...
Setting up libgpm2:arm64 (1.20.7-10+b1) ...
Setting up vim-runtime (2:9.0.1378-2) ...
Setting up vim (2:9.0.1378-2) ...
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/ex (ex) in auto mode
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/rview (rview) in auto mode
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/rvim (rvim) in auto mode
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/vi (vi) in auto mode
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/view (view) in auto mode
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/vim (vim) in auto mode
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/vimdiff (vimdiff) in auto mode
Processing triggers for man-db (2.11.2-2) ...
Processing triggers for libc-bin (2.36-9+rpt2+deb12u9) ...

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

ももぶろ
ももぶろ

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

$ vi ~/.vimrc

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

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

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

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

$ sudo cp .vi* /root/

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

不要なサービス、ハードの無効化

WordPressのサーバとして不要なハード・サービスを停止し、サーバのセキュリティ強度の強化とメモリ開放・CPUの負荷低減を目的に実施します。

この作業はスキップしても大丈夫です。

rsyslogのインストール

Raspberry Pi OSがbookwormにバージョンが上がってから、システムのログの出力がrsyslogから、journaldが既定でインストールされるようになりました。

これまで通り/var/log/syslogでログを見たい方は、下記の記事を参考にrsyslogをインストールしてください。

ネットワーク設定の準備

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

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

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

$ nmcli
eth0: connected to Wired connection 1
        "Microchip 7800"
        ethernet (lan78xx), B8:27:EB:20:91:FA, hw, mtu 1500
        ip4 default
        inet4 192.168.100.22/24
        route4 192.168.100.0/24 metric 100
        route4 default via 192.168.100.1 metric 100
        inet6 fe80::908a:d1c8:eb49:ac93/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), B8:27:EB:75:C4:AF, 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  1fb5111b-2f0a-31c9-a4de-f7de2974e2f3  ethernet  eth0
lo                  9f277e03-18fa-4cdc-b5de-705ba989a3a4  loopback  lo

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

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

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

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

$ nmcli connection show
NAME  UUID                                  TYPE      DEVICE
eth0  1fb5111b-2f0a-31c9-a4de-f7de2974e2f3  ethernet  eth0
lo    9f277e03-18fa-4cdc-b5de-705ba989a3a4  loopback  lo

サーバに固定IPを設定

Buster(Debian11)の時の固定IPアドレスの設定方法は、過去記事のここを参照ください。この記事ではBookWorm(Devbia12以降)の説明を行います。

設定方法には、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)の反応が無くなります。(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 pfifo_fast state UP group default qlen 1000
    link/ether b8:27:eb:20:91:fa 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::908a:d1c8:eb49:ac93/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 b8:27:eb:75:c4:af brd ff:ff:ff:ff:ff:ff
pi

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

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

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