Raspberry Piの最近の記事

Raspberry pi 32bit と 64bit

| コメント(0)

 ラズベリーパイの32ビットOSと64ビットOSは同等で作られているのかと思ったら、32ビットがどうも今のところ主流のようだ。初めからの登録ソフトも多いし、64ビットには少し少ないけど登録されているソフトもある。登録されていてもエラーが出るソフトもあって、情報も少ないので困る。ラズベリーパイのユーザーの絶対数からバグつぶしに時間がかかるのは仕方がないことだ。そして、ダウンロードされる最新版に修正されたのが乗るのに時間がかかっちゃう。

 そんなこんなで32ビット版をインストールすることに決めた。そして、日本語化した。

desktop1.png

rp_conf1.png

rp_conf2.jpg

rp_conf3.jpg

最後に日本語変換システムをインストールして、オフィスソフトを日本語化する。LibreOfficeは「add / Remove Software」から検索窓で「libreoffice」で探して、「help ja」「l10n ja」にチェックを入れて」インストールする。

日本語変換Mozcインストール
# sudo apt install ibus-mozc

やっぱりラズパイ...

| コメント(0)

 画面設定の続き...。まったく画面が映らないので、サーバ機と同じくクライアントからアクセスすることになる。ただ、クライアントからIPアドレスでアクセスするのだが、このラズパイさんのIPアドレスがDHCPサーバに適当に割り振られて、番号が全く分からない。192.168.X.1~254まで254通り順番よくアクセスするのも大変なので、ソフトの力を借りよう。
ExPing.jpg
 ExPingってソフトだけど、IPアドレスに順番にping信号を送ってくれる。新しくpingが通ったところがラズパイのIPアドレスってことになる。そこにピンポイントでsshで接続をする。きらびやかな素敵な画面より、質素な文字だけの画面もとっても良いと思う。この文字の羅列から画面を想像するととても面白い。

 さてその画面が映らない原因は「/boot/config.txt」にある。設定はOSが判断ではなく、自分で考えろ!っていうスタンスなのね。そしてそこにあるディスプレイの設定をいじるわけ。そして「hdmi_safe=1」で見事に解決。でもその意味が分からんでモヤってしてます。

Raspberry Pi 4 を久しぶり使ってみた

| コメント(0)

9D711E76-4D17-4D0E-9DDC-903B7A575842.jpeg

 初代ラズパイがネームサーバとして落ち着いたので、そのまま電源入れっぱなしで耐えれるかを実験します。既にデスクトップパソコンとしての価値もほとんどなかったので、良い使い方になったと思います。(捨てるのもったいないし、オークションに出してもほとんど価値はないと思われるので...)

 さて今回はラズパイ4です。Linuxのデスクトップマシーンとしても使えるし、低電力サーバとしても使えそうです。ただラズパイにしては発熱量が大きいので、大型の冷却装置を付けてあります。

 とりあえず物置から取ってきてその用途も考えていないので、オーソドックスにデスクトップマシーンとしてカスタマイズしてみます。OSはRaspbian(64bit)でやりましょう。搭載メモリは4GBなので32bitでも問題ないのでしょうが、実験を兼ねてインストールします。パソコンにインストールした便利な専用ソフト「ラズベリー パイ イメージャー」で、マイクロSDカードにあっという間に書き込みが完了しました。そして電源を入れるとウジャウジャと画面が動いていたら...ブラックスクリーンで終了!

 「がーん!」

 これでは何も操作ができない...。なのでサーバをいじるときと同じように、クライアントマシーンからsshでつないでみよう...。

続く...

Raspberry Pi で root を使おう!

| コメント(0)

 コマンドで sudo が馴染めない。なのでスーパーユーザーの root が使えるように設定しなおす。

$ sudo vi /etc/ssh/sshd_config

PermitRootLogin prohibit-password
PermitRootLogin no

 上のどちらかの設定を選ぶ。上はいきなりログオン画面でrootでアクセスできる。一旦ノーマルユーザでログオンした後rootにチェンジする。後はsshの使える範囲をイントラ内だけに設定したいが、それが上手くいかない。

$ sudo passwd root

$ sudo reboot

Shellで簡単設定

| コメント(0)

 Linuxって便利だけど、何となくスキっとしない。イメージ的なものだろうけどゴミファイルが出ても掃除しにくいし、どこかにカスが残ってそうな感じがする。インストールを失敗した場合アンインストールですべてがきれいさっぱりリセットされるわけではなさそうな...。

 そんな感じがするから、ついつい何かあったらクリーンインストールをしたくなる。今回は昨日完成した Raspberry Pi の shell を使ったクリーンインストールをやってみたいと思う。では次に手順を示す。

  1. OSのインストール
  2. apt update apt upgrade 実施
  3. rootが使用できるように設定
  4. IPアドレスの調整
  5. ドメイン登録
  6. DNSサーバのインストールと設定
  7. UFWによるファイアウォール設定

 上の2~7が Shell によって単純にできるところ。あと設定ファイルは各ファイルに書き込むのではく、バックアップをとってある各ファイルを乗せる形をとる。

バックアップの設定ファイル一覧

  • /etc/dhcpcd.conf
  • /etc/ssh/sshd_config
  • /etc/bind/named.conf
  • /etc/bind/named.conf.internal-zone
  • /etc/bind/hibiki.servebloig.net.lan
  • /etc/bind/amamoto-music.sytes.net.lan
  • /etc/bind/hibiki-cloud.ddns.net.lan
  • /etc/bind/2.168.192.db

インストールソフト

  • vim
  • bind9
  • bind9utils
  • dnsutils
  • ufw
Shell

#!/usr/bin/bash
#======================================================================
# aptのアップデート
#======================================================================
yes | sudo apt-get update
yes | sudo apt-get upgrade

#======================================================================
# Softのインストール
#======================================================================
sudo apt-get -y install vim
sudo apt-get -y install bind9
sudo apt-get -y install bind9utils
sudo apt-get -y install dnsutils
sudo apt-get -y install ufw

#======================================================================
# rootのパスワード設定
#======================================================================
sudo passwd root<<EOF
new_password
new_password
EOF

#======================================================================
# 既存ファイルのバックアップ
#======================================================================
sudo mv /etc/dhcpcd.conf{,_back}
sudo mv /etc/bind/named.conf{,_back}
sudo mv /etc/ssh/sshd_config{,_back}

#======================================================================
# 設定ファイルのコピー
#======================================================================
sudo cp ./dhcpcd.conf /etc/
sudo cp ./sshd_config /etc/ssh/

sudo cp ./named.conf /etc/bind/
sudo cp ./named.conf.internal-zones /etc/bind/
sudo cp ./hibiki.serveblog.net.lan /etc/bind/
sudo cp ./amamoto-music.sytes.net.lan /etc/bind/
sudo cp ./hibiki-cloud.ddns.net.lan /etc/bind/
sudo cp ./2.168.192.db /etc/bind/

#======================================================================
# ファイルのパーミッション変更
#======================================================================
sudo chown root:root /etc/dhcpcd.conf
sudo chown root:adm /etc/bind/*
sudo chmod 644 /etc/ssh/sshd_config

#======================================================================
# ufwの設定
#======================================================================
#sudo ufw default deny
#sudo ufw allow ssh
#sudo ufw allow 53
#yes | sudo ufw enable

#======================================================================
# 再起動
#======================================================================
sudo reboot

 これで一発でDNSサーバが作れる!

 何回かお試しにやってみたけど、ufwがエラーを起こします。再起動後このShellを実行すると問題なくできるので、ufwだけ再起動させれば、エラーが出ないかも...。と思って、やってみたけどダメでした。プログラムのバグということをネットで突き止めました。

ラズベリーパイでDNSサーバ6

| コメント(0)

 dnsサーバを立てる前に、ファイアウォールを仕立てておいて、dnsサーバが必要とするポートだけを開ける方法をとる。ただ、よくわからないのが apt update・apt upgrade ・apt install を行った時、22番 53番ポートだけを開けただけではエラーが出てしまう。

 ググると http https のポートも開ける? よくわかりません...

ufwのインストール

$ sudo apt -y install ufw

$ sudo /usr/sbin/ufw default deny

$ sudo /usr/sbin/ufw allow ssh

$ sudo /usr/sbin/ufw allow 53

$ sudo /usr/sbin/ufw allow http

$ sudo /usr/sbin/ufw enable

ラズベリーパイでDNSサーバ5

| コメント(0)

 接続テストをするのだけど、ラズパイは dig コマンドが使えなかったので、ユーティリティをインストールする。

名前解決のユーティリティのインストール

$ sudo apt -y install dnsutils

 そのあとに次のコマンドで接続を確認する。うまくいかないときは、ネームサーバがPCマシーンへ登録されていなく受け渡しがうまくいっていないことが大半。ネームサーバを外部に見に行っていて、イントラ内のIPアドレスで解決されていなかった。

$ sudo dig -x 192.168.2.XXX

$ sudo dig hibiki.serveblog.net

$ sudo dig amamoto-music.sytes.net

$ sudo dig hibiki-cloud.ddns.net

ラズベリーパイでDNSサーバ4

| コメント(0)

 転送するためのファイルを作る。ほぼ Debian のコピーで間に合う。

ソフトをインスト-ル

# apt -y install bind9 bind9utils

設定ファイルを書き換える。

# vi /etc/bind/named.conf

以下の文字の後に追加

include "/etc/bind/named.conf.default-zones";
include "/etc/bind/named.conf.internal-zones";

# vi /etc/bind/named.conf.options

acl internal-network {
        192.168.2.0/24;
};

        allow-query { localhost; internal-network; };
         recursion yes;
//=======================================================================

         dnssec-validation auto;
         listen-on-v6 { any; };

ローカルネットワークの定義をする

# vi /etc/bind/named.conf.internal-zone

zone "hibiki.serveblog.net" IN {
        type master;
        file "/etc/bind/hibiki.serveblog.net.lan";
        allow-update { none; };
};

zone "amamoto-music.sytes.net" IN {
        type master;
        file "/etc/bind/amamoto-music.sytes.net.lan";
        allow-update { none; };
};

zone "hibiki-cloud.ddns.net" IN {
        type master;
        file "/etc/bind/hibiki-cloud.ddns.net.lan";
        allow-update { none; };
};

zone "2.168.192.in-addr.arpa" IN {
        type master;
        file "/etc/bind/2.168.192.db";
        allow-update { none; };
};

名前解決でIPv4(Ver.4は)使い倒すけど新規格IPv6(Ver.6)は使うので次の設定を確認する。

# vi /etc/default/named

OPTIONS="-u bind"

https://hibiki.serveblog.net

# vi /etc/bind/hibiki.serveblog.net.lan

$TTL 86400
@ IN SOA dns.hibiki.serveblog.net. root.hibiki.serveblog.net. (

        2022121001 ;Serial
        3600 ;Refresh
        1800 ;Retry
        604800 ;Expire
       86400 ;Minimum TTL
)
        IN NS server.hibiki.serveblog.net.
       IN A 192.168.2.XXX
       IN MX XXX server.hibiki.serveblog.net.
server IN A 192.168.2.XXX

https://amamoto-music.sytes.net

# vi /etc/bind/amamoto-music.sytes.net.lan

$TTL 86400
@ IN SOA dns.amamto-music.sytes.net. root.amamoto-music.sytes.net. (

        2022121001 ;Serial
        3600 ;Refresh
        1800 ;Retry
        604800 ;Expire
        86400 ;Minimum TTL
)
       IN NS server.amamoto-music.sytes.net.
       IN A 192.168.2.XXX
server IN A 192.168.2.XXX

https://hibiki-cloud.ddns.net

# vi /etc/bind/hibiki-cloud.ddns.net.lan

$TTL 86400
@ IN SOA dns.hibiki-cloud.ddns.net. root.hibiki-cloud.ddns.net. (

        2022121001 ;Serial
        3600 ;Refresh
        1800 ;Retry
        604800 ;Expire
        86400 ;Minimum TTL
)
       IN NS server.hibiki-cloud.ddns.net.
      IN A 192.168.2.XXX
server IN A 192.168.2.XXX

イントラIPアドレス(192.168.2.XXX)

# vi /etc/bind/2.168.192.db

$TTL 86400
@ IN SOA dns.hibiki.serveblog.net. root.hibiki.serveblog.net. (
        2022121001 ;Serial
        3600 ;Refresh
        1800 ;Retry
        604800 ;Expire
        86400 ;Minimum TTL
)
        IN NS server.hibiki.serveblog.net.
XXX IN PTR server.hibiki.serveblog.net.

 DNSサーバとメールやウェブのサーバのマシーンを分離したので、そちらに飛ばす方法が結構迷った。あと、ネームサーバを本体中心に据えて登録するんだが、それを解決させるのに1日かかった。

ラズベリーパイでDNSサーバ3

| コメント(0)

 それでは、実際の操作を記録しておく。一番最初のアクセス時ユーザー名を直接キーボードから打ったらリブートした。このリブートの前にはクラアントからはアクセスできない。後はクライアントからアクセスできるが、IPアドレスが定まらないと面倒なので、この2つの作業まではDVケーブル、キーボードはつないだ状態で作業する。

 文字操作は絶対必要なのでVimをインストール

Vimのインストール

$ sudo apt install -y vim

これで漢字付き文字操作ができます!

IPアドレスを固定する

$ sudo vi /etc/dhcpcd.conf

interface eth0
static ip_address=192.168.2.XXX/24
static routers=192.168.2.1
static domain_name_servers=192.168.2.1
static domain_search=hibiki.serveblog.net

$ sudo reboot (or shutdown -h now)

ラズベリーパイでDNSサーバ2

| コメント(0)

 昔に比べてラズベリーパイのOSのインストールが簡単になった。久しぶりにググってみたら、ソフトを1つ落とすだけで SD メモリのフォーマットから OS のインストールまでが完了する。

PaspberryPi.jpg

 インストールは、ほとんど使われなくなった 2GB の SD カードに 0.3GBの Raspberry Pi Lite(32bit)Bullseye をインストールした。(2GBカードはインストールは問題なかったがアップデート時に、容量不足になった...)最初のインストール時につないでいたアナログディスプレイは文字が表示されず役に立たなかったが、DV端子でディスプレイにつなぎなおすと見事に表示された。クライアントからの ssh 接続での操作は イントラ内のDNS サーバを指定をしているパソコンからはアクセスできなかった。一旦外の DNS サーバにアクセスさせるように設定しなおしたらつなぐことができた。いちいち設置を変えた後にアクセスするのは面倒くさいので、今後のメンテナンスはラズパイの ip アドレスから入ることにする。

 コンソールからの操作はラズベリーパイの OS が Debian から派生したものである関係から操作も違和感ない。そこから先ずは ssh 接続を再確認。ip アドレスを調査。最後に bind9 をインストールで終了(の予定)。

このアーカイブについて

このページには、過去に書かれた記事のうちRaspberry Piカテゴリに属しているものが含まれています。

次のカテゴリはDebian11です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。