apache2 が起動しない

現状の環境からの模索

プライベート写真をネット環境に公開しているWebサーバー用に、アップロードするデーター等を作成したり、動作の検証をするために別の機器を立上げ、そこにデーターを変換するアプリや検証のために apache http サーバーを設定して利用しています。

古くて遅いノートPC

別の機器としての作業は、現状は非力で処理の遅い古いノートPCでの作業です。基本的に写真をカメラで写し、居た場所をGPSロガーで収集して、ノートPCに移して加工しています。

動作の検証もノートPC内に立上げた Web サーバー apache で行っているため、全てがワンパッケージで完結しているので、まとまっていて操作性は良いのですが、非力でストレスになってます。

更に非効率なos切替

GPSロガーはアプリがWindows対応なのでそれに従い、写真に位置情報を追加したり公開用にサイズを縮小したりの加工は Linux のバッチ処理で加工しています。OSの切替は昔からあるオーソドックスなデュアルブートを利用しています。切替に時間が掛かりとても効率が悪いです。

データー加工とWebサーバー

新しいノートPCを購入するとか、速くて効率的な作業環境に移行できればストレスも減るのですが、何よりもまず資金が必要な事だし、今ある機器で分散できないものかと模索しています。

機器の分散を模索

データー変換や検証のWebサーバーを別に立て、リモート環境を作ろうかと模索していて、分散対象のサーバーに利用する予定の機器は、サーバーなのに20分で停止してしまったり、致命的な問題はapache が立上げできません。

サーバーとしての機能

サーバーが 20分で停止する問題は、別にまとめた Linux Ubuntu のバージョンアップの仕様が問題でしたが、その後の状況から解決できました。
(systemd の対策で停止を解決)

Webサーバーを設定

検証用Webサーバーとして実績のあるノートPCから apache のサイト情報等のコピーを行ったのに立上げでエラーになります。

$ sudo systemctl start apache2
Job for apache2.service failed because the control process exited with error code.
See "systemctl status apache2.service" and "journalctl -xe" for details.

ログ等を確認すると、https を設定するために使用している認証情報に問題があるらしく、今までに実績のあるファイルをコピーして手を抜こうと考えたのですが、定義されたキーが短過ぎるのが原因らしいです。

$ sudo systemctl status apache2
● apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active: failed (Result: exit-code) since Sun 2021-03-14 13:35:13 JST; 11min ago
       Docs: https://httpd.apache.org/docs/2.4/
    Process: 561706 ExecStart=/usr/sbin/apachectl start (code=exited, status=1/FAILURE)

 3月 14 13:35:13 big-book systemd[1]: Starting The Apache HTTP Server...
 3月 14 13:35:13 big-book apachectl[561721]: AH00558: apache2: Could not reliably determine the server's fully>
 3月 14 13:35:13 big-book apachectl[561706]: Action 'start' failed.
 3月 14 13:35:13 big-book apachectl[561706]: The Apache error log may have more information.
 3月 14 13:35:13 big-book systemd[1]: apache2.service: Control process exited, code=exited, status=1/FAILURE
 3月 14 13:35:13 big-book systemd[1]: apache2.service: Failed with result 'exit-code'.
 3月 14 13:35:13 big-book systemd[1]: Failed to start The Apache HTTP Server.
lines 1-13/13 (END)

error.log を開いてみると、:ee key too small と出ているので証明書の key が小さいのが原因と思われます。

$ less /var/log/apache2/error.log
[Sun Mar 14 13:35:13.253066 2021] [ssl:emerg] [pid 561721:tid 140387924089920] AH02562: Failed to configure certificate sunao-mita.pgw.jp:443:0 (with chain), check /etc/apache2/ssl/server.cert
[Sun Mar 14 13:35:13.253158 2021] [ssl:emerg] [pid 561721:tid 140387924089920] SSL Library Error: error:140AB18F:SSL routines:SSL_CTX_use_certificate:ee key too small
AH00016: Configuration Failed
/var/log/apache2/error.log (END)

オレオレ証明書の作成

昔々、ネットの情報を参考にさせて頂きオレオレ証明書を作成したことがありました。それを流用して暫く使えていたのですが今回はエラーになってしまいました。証明書の条件も年月と共に厳しくなっているので少しずつ対応していかないといけません。

ネットを色々と調べ内容の重げなサイトを見付けました。ほぼ丸コピーで試してみようと思います。
https://one-it-thing.com/63/

まずは、オレオレ認証局かな

あまり意識したことがなかったけど OpenSSL のバージョンの確認あたりから進めていこうと思っています。

$ openssl version
OpenSSL 1.1.1f  31 Mar 2020

root ユーザーになって、作業用に /openssl のディレクトリを作成して、そこに移動してサンプルをコピーして、作業を進めることにします。

$ sudo su -
# mkdir /openssl
# cd /openssl
# cp /etc/ssl/openssl.cnf ./

作業用ディレクトリをカレントに定義、シリアルナンバーファイルを作成しておきます。

# vi openssl.cnf
〜途中省略〜
dir = ./ # Where everything is kept
〜途中省略〜


# touch ./index.txt
# echo 00 > ./serial

CA秘密鍵を作成します。途中でパスワードを2回打鍵して継続します。

# openssl genrsa -aes256 -out ./cakey.pem 2048
Generating RSA private key, 2048 bit long modulus (2 primes)
......................................................+++++
.................................................................+++++
e is 65537 (0x010001)
Enter pass phrase for ./cakey.pem: (パスワードを入力して備忘しておく)
Verifying - Enter pass phrase for ./cakey.pem:

CA証明書リクエストを作成

CA とは証明書認証局なのでしょうか、あまり理解できていませんが、ネット情報を参考に進めます。

# openssl req -new -key ./cakey.pem -config ./openssl.cnf -out cacert.csr
Enter pass phrase for ./cakey.pem:
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:JP
State or Province Name (full name) [Some-State]:Gunma
Locality Name (eg, city) []:Fujioka
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Mita
Organizational Unit Name (eg, section) []:Mita-sec
Common Name (e.g. server FQDN or YOUR name) []:192.168.11.5
Email Address []:sunao.mita@nifty.com

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

理解をしていませんが、X509 v3 拡張領域に入れるために、v3_ca.txt を作成するのだそうです。

# vi v3_ca.txt
basicConstraints = critical, CA:true
keyUsage = critical, cRLSign, keyCertSign
subjectKeyIdentifier=hash

CA証明書作成

ここでやっとCA証明書の作成になるようです。

# openssl ca -in cacert.csr -selfsign -keyfile ./cakey.pem -notext -config ./openssl.cnf 
-outdir . -days 3650 -extfile v3_ca.txt -out cacert.pem
Using configuration from ./openssl.cnf
Enter pass phrase for ./cakey.pem:
Check that the request matches the signature
Signature ok
Certificate Details:
        Serial Number: 0 (0x0)
        Validity
            Not Before: Mar 14 06:43:10 2021 GMT
            Not After : Mar 12 06:43:10 2031 GMT
        Subject:
            countryName               = JP
            stateOrProvinceName       = Gunma
            organizationName          = Mita
            organizationalUnitName    = Mita-sec
            commonName                = 192.168.11.5
            emailAddress              = sunao.mita@nifty.com
        X509v3 extensions:
            X509v3 Basic Constraints: critical
                CA:TRUE 
            X509v3 Key Usage: critical
                Certificate Sign, CRL Sign
            X509v3 Subject Key Identifier:
                CD:2A:04:41:9A:3D:D3:23:1E:BE:C6:FE:FD:E4:3C:8D:1D:9C:1A:79
Certificate is to be certified until Mar 12 06:43:10 2031 GMT (3650 days)
Sign the certificate? [y/n]:y


1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated

できあがった証明書をテキストで確認してみて、X509v3 の記述があることを確認するのだそうです。

# openssl x509 -in cacert.pem -text
〜省略〜
       X509v3 extensions:
            X509v3 Basic Constraints: critical
                CA:TRUE
            X509v3 Key Usage: critical
                Certificate Sign, CRL Sign
            X509v3 Subject Key Identifier: 
                CD:2A:04:41:9A:3D:D3:23:1E:BE:C6:FE:FD:E4:3C:8D:1D:9C:1A:79
〜省略〜

オレオレ サーバー証明書

サーバー秘密鍵の作成

# openssl genrsa -aes256 -out ./server.key 2048
Generating RSA private key, 2048 bit long modulus (2 primes)
........................................................................................................................................................................................................................+++++
..........................+++++
e is 65537 (0x010001)
Enter pass phrase for ./server.key: (パスワードを入力して備忘しておく)
Verifying - Enter pass phrase for ./server.key:

サーバー証明書リクエスト作成

サーバー証明書リクエストの作成を行います。個人使用なので CA証明書と内容は同じで良いようです。

# openssl req -new -key ./server.key -config ./openssl.cnf -out server.csr
Enter pass phrase for ./server.key: (秘密鍵に設定したパスワード)
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:JP
State or Province Name (full name) [Some-State]:Gunma
Locality Name (eg, city) []:Fujioka
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Mita
Organizational Unit Name (eg, section) []:Mita-sec
Common Name (e.g. server FQDN or YOUR name) []:sunao-mita.pgw.jp
Email Address []:sunao.mita@nifty.com

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

証明書のX509 v3拡張情報

# vi v3_server.txt
[SAN]
basicConstraints = CA:false
keyUsage = critical, digitalSignature, keyEncipherment
extendedKeyUsage = serverAuth
authorityKeyIdentifier=keyid,issuer

subjectAltName=@alt_names
basicConstraints=CA:FALSE
[alt_names]
DNS.1=192.168.11.2
IP.1=192.168.11.5
IP.2=127.0.0.1

サーバー証明書の作成

# openssl ca -in server.csr -config openssl.cnf -keyfile ./cakey.pem -outdir . -extfile v3_server.txt -extensions SAN -out server.crt -days 3650
Using configuration from openssl.cnf
Enter pass phrase for ./cakey.pem:
Check that the request matches the signature
Signature ok
Certificate Details:
        Serial Number: 1 (0x1)
        Validity
            Not Before: Mar 14 07:43:48 2021 GMT
            Not After : Mar 12 07:43:48 2031 GMT
        Subject:
            countryName               = JP
            stateOrProvinceName       = Gunma
            organizationName          = Mita
            organizationalUnitName    = Mita-sec
            commonName                = sunao-mita.pgw.jp
            emailAddress              = sunao.mita@nifty.com
        X509v3 extensions:
            X509v3 Key Usage: critical
                Digital Signature, Key Encipherment
            X509v3 Extended Key Usage: 
                TLS Web Server Authentication
            X509v3 Authority Key Identifier: 
                keyid:CD:2A:04:41:9A:3D:D3:23:1E:BE:C6:FE:FD:E4:3C:8D:1D:9C:1A:79

            X509v3 Subject Alternative Name: 
                DNS:192.168.11.2, IP Address:192.168.11.5, IP Address:127.0.0.1
            X509v3 Basic Constraints: 
                CA:FALSE
Certificate is to be certified until Mar 12 07:43:48 2031 GMT (3650 days)
Sign the certificate? [y/n]:y


1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated

確認のためにできたサーバー証明書をテキストダンプして確認します。

# openssl x509 -in server.crt -text
〜省略〜
        X509v3 extensions:
            X509v3 Key Usage: critical
                Digital Signature, Key Encipherment
            X509v3 Extended Key Usage: 
                TLS Web Server Authentication
            X509v3 Authority Key Identifier: 
                keyid:CD:2A:04:41:9A:3D:D3:23:1E:BE:C6:FE:FD:E4:3C:8D:1D:9C:1A:79

            X509v3 Subject Alternative Name: 
                DNS:192.168.11.2, IP Address:192.168.11.5, IP Address:127.0.0.1
            X509v3 Basic Constraints: 
                CA:FALSE
〜省略〜

パスなしサーバー秘密鍵の生成

# openssl rsa -in ./server.key -out nopass_server.key
Enter pass phrase for ./server.key:
writing RSA key

作業ディレクトリ内にできた成果

作業ディレクトリ内には不要な作業ファイルも含め、色々なファイルが残っていますが、必要なものは次の4点のようです。

  1. CA秘密鍵:cakey.pem …サーバ証明書を作るためで、不使用
  2. CA証明書:cacert.pem …サーバーを利用する端末のブラウザで使用
  3. サーバ秘密鍵:nopass_server.key …サーバーの apache に指定
  4. サーバ証明書:server.crt …サーバーの apache に指定

サーバー sslの設定に

定義されている場所が複数あり、その1箇所を次に示します。同様に sites-available 内のssl に関連するファイルを確認する必要があります。

# vi /etc/apache2/sites-available/default-ssl.conf
〜省略〜
                SSLCertificateFile    /openssl/server.crt
                SSLCertificateKeyFile /openssl/nopass_server.key
〜省略〜

コンフィグファイルの確認

$ apache2ctl configtest
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
Syntax OK

apache2 の起動と確認

Syntax OK となっていても、実際に start でエラーが出て起動しない場合が多いので原因をじっくり潰します。

$ sudo systemctl start apache2
$ sudo systemctl status apache2
● apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2021-03-14 21:52:25 JST; 28s ago
       Docs: https://httpd.apache.org/docs/2.4/
    Process: 877445 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
   Main PID: 877471 (apache2)
      Tasks: 57 (limit: 4413)
     Memory: 8.2M
     CGroup: /system.slice/apache2.service
             ├─877471 /usr/sbin/apache2 -k start
             ├─877472 /usr/sbin/apache2 -k start
             ├─877473 /usr/sbin/apache2 -k start
             ├─877474 /usr/sbin/apache2 -k start
             └─877475 /usr/sbin/apache2 -k start

 3月 14 21:52:25 big-book systemd[1]: Starting The Apache HTTP Server...
 3月 14 21:52:25 big-book apachectl[877454]: AH00558: apache2: Could not reliably determine the server's fully>
 3月 14 21:52:25 big-book systemd[1]: Started The Apache HTTP Server.
lines 2-18/18 (END)

何とか最後に起動できました。

Ubuntuのサーバーが止まる

新LTSが公開され半年経過でバージョンアップ

Linux の Ubuntuを大柄なノートPCにセットアップして、サーバーとして利用していましたが、18.04 LTS から20.04 LTS にバージョンアップしたら動作中に止まるらしく、リモート接続していても NFS でリモートディスクとして利用していても固まってしまいます。

画面の蓋開閉が原因かと設定直すも効果なし

ディスクトップを開いて作業していれば問題はなく、画面を閉じると停止してしまいます。そのため、画面を閉じてもサスペンドやファイバネーションが起動されない設定を行いました。それでも20分で停止します。

ネットの記事を頼りに色々と試すしかない

ネット検索すると同様の条件で苦労しているらしい人達の情報に行き当たります。アメリカとどこかの国で、何かの会議で可決されたエコの対象として自動的に停止するようにしなければならなくなったとか、の改悪らしいことが書かれていました。

1時間や半日とか処理に掛かるのは一般的なものですが、勝手に止まってそれを復旧するために時間が取られ、止まらないように付きっ切りで監視しているのがエコとは思えない、ギャグのような本末転倒な行為ですけど、その様な改悪がバージョンアップで起きてしまっていることに驚きです。

システムを自動停止させる設定を外部から操作できない

バージョンアップ前の 18.04 LTS では、システムの処理が停止しないように設定するための画面操作があって、そこで問題無く思うように設定できたのですが、20.04 LTS にバージョンアップしたらその様な設定項目が見付けられませんでした。ネット情報によると変更できないように設定アプリを取り除いたらしい事が書かれていました。

使い物にならないバグだと思ったら…

サーバーが勝手に停止してしまうバグだと思ったら、それが仕様だったとは驚き、その仕様を作成した人達の脳味噌のシステムパグだったと言うことですよね、更に驚きでした。

有効な対策の紹介記事に辿り着く

対策を日本語で紹介してくれる場所に辿り着きました。リンクの埋め込みには失敗しましたが、次にURLを示します。結果は良好で停止すること無く稼働していることが確認できました。

https://www-it–swarm-jp-net.cdn.ampproject.org/v/s/www.it-swarm.jp.net/ja/suspend/ubuntu-2004は、関連する電源設定が無効になっていても、アイドル状態になると一時停止します/997985878/amp/?amp_gsa=1&amp_js_v=a6&usqp=mq331AQHKAFQArABIA%3D%3D

実施した対策内容

その書かれていた systemd の対策を実施しました。結果として問題ないようです。

$ sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target
Created symlink /etc/systemd/system/sleep.target → /dev/null.
Created symlink /etc/systemd/system/suspend.target → /dev/null.
Created symlink /etc/systemd/system/hibernate.target → /dev/null.
Created symlink /etc/systemd/system/hybrid-sleep.target → /dev/null.

DHCPサーバーの構築

今更、何でこんな事を…と思う作業

ホームゲートウェイと呼ばれている各家庭の入口に置かれたルーターの性能が悪すぎて、悲しいことに内蔵しているDHCPサーバーをそのまま利用できない状況です。

仕方なく、別にサーバーを立てて、そこに個別のDHCPサーバーを作らなければならない状況です。天下のNECさん、まともな製品を作ってくださいよね。仕様通りの機能が無くてもレンタル料金を搾取するって詐欺ですね。

我が家のネット環境の変革

最初のネット常時接続

プライベートな写真やこのブログの公開は、以前から長い期間を継続して行っています。それは家に置かれた電化代の少ない小さなサーバーで、Webサーバーを構築して実行しています。

そのための家庭内のネットワーク環境は、契約した常時接続のネットワーク環境で行われていますが、当初は FTTH(光回線)とADSLが混在している時代の環境でした。

(0) その頃にADSLを申し込みましたが、NTTの庁舎からの距離が長く途中で中継されているためメタル線で接続されていないことが判明してアウトでした。(1) そして暫くして普及し始めたフレッツ光で常時接続される環境が提供されたのが最初でした。その頃のレンタルは沖電気工業製のルーターでした。

その後の変革

暫くフレッツ光で 初期のWebサーバーを公開していましたが、世界的に見てもグローバルIPアドレスが不足していて、グローバルアドレスの割り振りに問題があるため世界的に IPv6の試行が始まりました。

我が家のサーバーも技術が無いのに対応に迫られました。しかしNTTのフレッツ光は何故かIPv6の利用を、その頃のオプションとして有料での提供でした。世界的に移行しなければならないIPv6環境への試行が有料オプションだなんてありえないと感じました。

経緯は忘れましたが、KDDIに移行

契約料が安かったからかも知れませんが、(2) 少ししてKDDIの光回線に移行しました。IPv6は無料のまま利用でき、ネットワーク環境も良好でした。今ではこのまま継続していれば良かったのかと後悔しています。

家族のスマホ購入で光回線も切替

時代の流れで妻や子供達のスマホを購入する事になりました。当時の電話としての安さからWillcomのPHSを使用していた流れで、Yモバイルのスマホになり、(3) その親会社のソフトバンクに光回線を切替えると料金が割り引かれて安くなると説明されて切替えました。実際には、色々な条件で割引の規制が行われていて、安くなっていませんでした。

はっきり言ってソフトバンクはNTTに任せっきりなのか技術力がないと感じました。設置されたホームゲートウェイは最悪で、ローカルアドレスを割振るDHCPサーバー機能にネームサーバーを指定できなくて、更に内部にあると思われるネームサーバーが機能をいつの間にか停止してしまうようで、名前の解決ができなくてネットの検索ができない事が多発しました。

Wifiの接続を使用させないようにして、従量制の回線の稼働率を上げながら知らない間に金儲けするような悪意を感じて、不信感が募りました。当時社長の孫さんの意向でしょうか。

そのためWifi接続では、インターネットに接続できない…とほとんどの期間に表示していて、外部回線を使用すれば利用できるのですが、分かっていても使わないためスマホからは何の通信もできない日々が続きました。半日経ったり数時間経つと繋がることもあり、スマホ利用を急ぐ時はホームゲートウェイの電源を再投入し初期化して利用していました。

高価な常時接続の光回線なのに、大昔のパソコン通信のような利用に際してのお膳立てが必要な環境になってしまい苦労しました。その頃、実はWebで公開していた昔のサーバー内にDHCP機能があったのですが、老朽化で物理的に故障して使えなくなり、新しく立ち上げたPogoPlugのWebサーバーにDHCP機能が組み込めなかったりとストレスの溜まる期間でした。

そしてブラスト光の電話セールスで切替

ソフトバンクの前に調子良く利用できていたKDDIに戻したい気持ちがありましたが、ブラスト光の売り込みがあり、特に安くなく使い物にならないソフトバンク以外なら何でも良かったのが本音です。(4) ブラスト光はオプションをカスタマイズすると契約料金も安く快適で、ホームゲートウェイは中国製ファーウェイのHG8045Qで、色々な細かな設定もでき実に使いやすく安定していました。

問題は、ならず者国家の北朝鮮と大差のない習近平ひきいる中国共産党の傘下にある企業が制作しているルーターなので、バックドアや何が仕掛けられているのか分からない恐怖を感じながら利用していることです。

特に安くなるわけでもないけど光回線契約をKDDIに戻すことに

電話のセールスで、北海道や九州の複数の au光の代理店が売り込んできたので、安くなるわけではないものの気になるファーウェイのルーターを外す意味で、(5) au光に乗り換えを承諾しました。

ただ後々確認して分かったことは、レンタルになるホームゲートウェイがNEC製だと知りました。ソフトバンクで痛い目にあっている出来の悪かったNEC製なので、あれから年月は経っているのでまさかとは思いますが不吉な予感を感じました。

レンタルルーター説明書を確認、やはり使えねえ〜

機種名からネットで説明書を探し、機能を真っ先に確認しましたが、やはりDHCPサーバーにDNSを設定する箇所が見当たらなくて、不吉な予感はあたっていました。

説明書によると、DHCPで割振る開始アドレスの位置を設定できるらしく、固定で割り当てされているサーバーのアドレスの変更までは必要がないと胸をなでおろしました。

ところが送られてきたルーターを設定し始めて分かったことは、設定項目を入れる箇所があっても何を入れても受付けずに全てエラーを返して機能しないことが分かりました。天下のNECさん作りが悪すぎだよ、これって製品としてテストして出荷している市販品ですか。

DHCPで振られるアドレスが、サーバーの固定アドレスと競合

①工事費は、詐欺に有ったと思い諦めて切替の契約を破棄して戻すか、②旧型でも中古品でもまともに使えるルーターに交換させるか、あるいは③自分でDHCPサーバーを立ち上げて処理させるか、3択の選択に悩む大きな問題に直面しました。

最新のRaspberry pi に期待して画策

③の実現性を1週間位で見極めることにしました。以前、Raspberry pi にDHCPサーバーを組み込もうと考えて挫折したことがありました。それはインストールしてもエラーが起こり、対策方法をネットの検索では見付けられずに諦めた経緯があります。でもそれから Debian のバージョンも上がり、Raspberry pi の利用者も大きく増えていることを考えると、今ならできそうな気がします。

腹を決めDHCPサーバーを立ち上げることに

まずはワーキングとして動作させていた最新の Raspberry pi に組み込み動作検証から始めました。ネットの情報を確認するとシステムの立ち上げで自動的に起動しないことが頻繁に起こるようで、サーバーが起動してから10秒位待たせてスクリプトで起動したり、皆さん苦労して動作させているのが現状のようでした。

systemd の振舞に則った対策をしているサイト

DHCPサーバーが停止しても自動的に再起動させるための systemd に則った手順を定義して対策しているサイトを見つけることができました。ほぼ丸写しで立ち上げできる目処が立ち、レンタルルーター内の IPv4 のDHCPサーバー機能を停止して、自前のDHCPサーバーを利用する目処が立ちました。

今後のためにDHCPサーバーの記録を残す

もしもの事も考えて、検証したワーキングサーバーの組み込みは自動で立ち上げしないようにしておき dhcp_disable、公開しているWebサーバーの Raspberry pi 内にDHCPサーバー機能を組込むことにしました。

ISC-dhcp-server インストール

DHCPサーバーをインストールします。isc-dhcp-server は、純粋の systemd としての構成になっていないようなので、前述の親切なネット情報を参考にして組込み、起動しなかったり何かの状況で停止しても再起動させる手順の追加が必要になります。

$ sudo apt install isc-dhcp-server
以前に未選択のパッケージ libisccfg-export163 を選択しています。 (データベースを読み込んでいます ... 現在 174552 個のファイルとディレクトリがインストールされています。) .../libisccfg-export163_1%3a9.11.5.P4+dfsg-5.1+deb10u3_armhf.deb を展開する準備をしています ... libisccfg-export163 (1:9.11.5.P4+dfsg-5.1+deb10u3) を展開しています... 以前に未選択のパッケージ libirs-export161 を選択しています。 .../libirs-export161_1%3a9.11.5.P4+dfsg-5.1+deb10u3_armhf.deb を展開する準備をしています ... libirs-export161 (1:9.11.5.P4+dfsg-5.1+deb10u3) を展開しています... 以前に未選択のパッケージ isc-dhcp-server を選択しています。 .../isc-dhcp-server_4.4.1-2_armhf.deb を展開する準備をしています ... isc-dhcp-server (4.4.1-2) を展開しています... 以前に未選択のパッケージ selinux-utils を選択しています。 .../selinux-utils_2.8-1+b1_armhf.deb を展開する準備をしています ... selinux-utils (2.8-1+b1) を展開しています... 以前に未選択のパッケージ policycoreutils を選択しています。 .../policycoreutils_2.8-1_armhf.deb を展開する準備をしています ... policycoreutils (2.8-1) を展開しています... selinux-utils (2.8-1+b1) を設定しています ... policycoreutils (2.8-1) を設定しています ... selinux-autorelabel-mark.service is a disabled or a static unit, not starting it. libisccfg-export163 (1:9.11.5.P4+dfsg-5.1+deb10u3) を設定しています ... libirs-export161 (1:9.11.5.P4+dfsg-5.1+deb10u3) を設定しています ... isc-dhcp-server (4.4.1-2) を設定しています ... Generating /etc/default/isc-dhcp-server... Job for isc-dhcp-server.service failed because the control process exited with error code. See "systemctl status isc-dhcp-server.service" and "journalctl -xe" for details. invoke-rc.d: initscript isc-dhcp-server, action "start" failed. isc-dhcp-server.service - LSB: DHCP server Loaded: loaded (/etc/init.d/isc-dhcp-server; generated) Active: failed (Result: exit-code) since Mon 2021-03-01 10:58:51 JST; 52ms ago Docs: man:systemd-sysv-generator(8) Process: 623 ExecStart=/etc/init.d/isc-dhcp-server start (code=exited, status=1/FAILURE) 3月 01 10:58:49 web-server dhcpd[644]: bugs on either our web page at www.isc.org or in the README file 3月 01 10:58:49 web-server dhcpd[644]: before submitting a bug. These pages explain the proper 3月 01 10:58:49 web-server dhcpd[644]: process and the information we find helpful for debugging. 3月 01 10:58:49 web-server dhcpd[644]: 3月 01 10:58:49 web-server dhcpd[644]: exiting. 3月 01 10:58:51 web-server isc-dhcp-server[623]: Starting ISC DHCPv4 server: dhcpdcheck syslog for diagnostics. ... failed! 3月 01 10:58:51 web-server isc-dhcp-server[623]: failed! 3月 01 10:58:51 web-server systemd[1]: isc-dhcp-server.service: Control process exited, code=exited, status=1/FAILURE 3月 01 10:58:51 web-server systemd[1]: isc-dhcp-server.service: Failed with result 'exit-code'. 3月 01 10:58:51 web-server systemd[1]: Failed to start LSB: DHCP server. man-db (2.8.5-2) のトリガを処理しています ... libc-bin (2.28-10+rpi1) のトリガを処理しています ... systemd (241-7~deb10u6+rpi1) のトリガを処理しています ...

インストールしてもそのままでは稼働しません。いくつかの呪文のような修正を施して動作させる必要があります。割振るアドレス範囲等の情報をIPv4 / IPv6に対応して定義しますが、今回はIPv4のみ作成します。アドレスの要求を受付けるインターフェイス eth0 の定義、それとインストール時に出されていた上記メッセージに書かれている debug に関する修正で、no を yes に書き換える必要があります。

起動のタイミングや何らかの問題で停止しても再起動させるように、新規に次のような定義ファイルを作成します。内容は参考にしたサイトの丸写しで問題無く動作するようです。systemd では、ユニットファイルと呼ぶ定義ファイルを /etc/systemd/system/ の下に配置するようで、丸コピーした次の例では isc-dhcp-server.service.d としてディレクトリを配置して、更にその下に定義ファイル 10-additional.conf を作成していました。

試していませんが、例えば 直接 /etc/systemd/system/ ディレクトリの下に isc-dhcp-server.service と名付けて以下内容のユニットファイルを配置しても良さそうです。

$ cat /etc/systemd/system/isc-dhcp-server.service.d/10-additional.conf

[Unit] SourcePath=/etc/init.d/isc-dhcp-server [Service] Type=forking PIDFile=/var/run/dhcpd.pid RemainAfterExit=no Restart=on-failure RestartSec=15s

要求にアドレスを割振る範囲やDNSの設定

稼働させるための定義ファイルを作成します。割振るアドレスは、192.168.11.31 〜 192.168.11.200 の範囲としています。

定義した内容の注目箇所のみに省略した内容で、次に示します。

$ sudo vi /etc/dhcp/dhcpd.conf

# dhcpd.conf
#
# Sample configuration file for ISC dhcpd
#

# option definitions common to all supported networks...
option domain-name "sunao-mita.pgw.jp";
#option domain-name-servers ns1.example.org, ns2.example.org;

default-lease-time 600;
max-lease-time 7200;

# The ddns-updates-style parameter controls whether or not the server will
# attempt to do a DNS update when a lease is confirmed. We default to the
# behavior of the version 2 packages ('none', since DHCP v2 didn't
# have support for DDNS.)
ddns-update-style none;

# network, the authoritative directive should be uncommented.
authoritative;

subnet 192.168.11.0 netmask 255.255.255.0 {
 range 192.168.11.31 192.168.11.200;
 option routers 192.168.11.1;
 option domain-name-servers 192.168.11.2, 192.168.11.20;
 option broadcast-address 192.168.11.255;
 ignore declines;
}

アドレス要求に答えるインターフェイスの設定

DHCPサーバーへのアドレス要求を受け付けるインターフェイスを定義します。なお、IPv6に関しては、レンタルのホームゲートウェイに任せます。そのためIPv4の機能のみ自前で稼働させます。定義内容は、最後にある空欄に eth0 を追加しているだけです。

$ cat /etc/default/isc-dhcp-server

〜〜省略
# On what interfaces should the DHCP server (dhcpd) serve DHCP requests?
#       Separate multiple interfaces with spaces, e.g. "eth0 eth1".
INTERFACESv4="eth0"
INTERFACESv6=""

ついでにDHCP関連の簡易コマンドを作成

稼働状況を確認したり、定義を変更して再起動したり、停止したり、サーバーを再起動で自動的に起動したり、サーバーの再起動で自動起動させないようにしたりすることも多く発生すると思われますが、/usr/local/bin 内にコマンドを作成しておきます。

  • dhcp_status …稼働状況の確認や簡易ログ
  • dhcp_start …手動で開始
  • dhcp_stop …手動で停止
  • dhcp_restart …定義変更等で再起動
  • dhcp_enable …サーバーの電源投入で自動起動させる
  • dhcp_disable …サーバーの電源投入で起動させない
  • dhcpリース …割振り状況のリストを表示
  • dhcpジャーナル …蓄積されたジャーナル、statusの簡易ログが蓄積?

定義を次のようにしています。rootになって、cd /usr/local/bin に移動して、dhcp_status を最初に作成して、それにリンクを定義しています。

$ sudo su -
# cd /usr/local/bin
# vi dhcp_status

#!/bin/sh
# status start stop enable disable restart 
rc=`echo $0 | sed -e "s/^.*_\(.*\)$/\1/"`

sudo systemctl $rc isc-dhcp-server.service

各コマンドに対するリンクを張ります。

# chmod +x dhcp_status
# ln -s ./dhcp_status dhcp_start # ln -s ./dhcp_status dhcp_stop # ln -s ./dhcp_status dhcp_restart # ln -s ./dhcp_status dhcp_enable # ln -s ./dhcp_status dhcp_disable

ついでにアドレスを割振ったリース状況の確認コマンドも作成しておきます。理由は、直ぐに忘れる少し長いステートメントのコマンドをリースとかdhcpとかの簡単な文字列から見付けて利用するためです。それとジャーナルの確認コマンドも追加です。

# vi dhcpリース
#!/bin/sh
less /var/lib/dhcp/dhcpd.lease 
# chmod +x dhcpリース

# vi dhcpジャーナル
#!/bin/sh
journalctl -u isc-dhcp-server.service
# chmod +x dhcpジャーナル

安全のためか稼働には修正の必要がある

dhcpサーバーを導入して、debug を修正する必要があるらしいので、no ⇒ yes に書き換えます。

$ cat /etc/dhcp/debug
#
# The purpose of this script is just to show the variables that are
# available to all the scripts in this directory. All these scripts are
# called from dhclient-script, which exports all the variables shown
# before. If you want to debug a problem with your DHCP setup you can
# enable this script and take a look at /tmp/dhclient-script.debug.

# To enable this script set the following variable to "yes"
RUN="yes"

if [ "$RUN" = "yes" ]; then 〜〜以下省略

準備ができたので起動して確認

$ sudo systemctl daemon-reload
$ dhcp_restart

稼働しているのかエラーで停止しているのか確認

作成した簡易コマンド dhcp_status を起動すると状況が表示されますが、画面から溢れている部分は矢印キーで移動して、最後に q で終了します。

$ dhcp_status
Warning: The unit file, source configuration file or drop-ins of isc-dhcp-server.service changed on disk. Run '
 isc-dhcp-server.service - LSB: DHCP server
   Loaded: loaded (/etc/init.d/isc-dhcp-server; generated)
  Drop-In: /etc/systemd/system/isc-dhcp-server.service.d
           └─10-additional.conf
   Active: active (running) since Wed 2021-03-03 09:58:22 JST; 13h ago
     Docs: man:systemd-sysv-generator(8)
  Process: 28579 ExecStart=/etc/init.d/isc-dhcp-server start (code=exited, status=0/SUCCESS)
 Main PID: 28592 (dhcpd)
    Tasks: 1 (limit: 4915)
   CGroup: /system.slice/isc-dhcp-server.service
           └─28592 /usr/sbin/dhcpd -4 -q -cf /etc/dhcp/dhcpd.conf eth0

 3月 03 23:06:51 web-server dhcpd[28592]: DHCPACK on 192.168.11.31 to b0:4e:26:84:7b:34 (Archer_C1200) via eth0
 3月 03 23:07:12 web-server dhcpd[28592]: reuse_lease: lease age 61 (secs) under 25% threshold, reply with unal
 3月 03 23:07:12 web-server dhcpd[28592]: DHCPREQUEST for 192.168.11.31 from b0:4e:26:84:7b:34 (Archer_C1200) v
 3月 03 23:07:12 web-server dhcpd[28592]: DHCPACK on 192.168.11.31 to b0:4e:26:84:7b:34 (Archer_C1200) via eth0
lines 1-17

割当てられたIPアドレスのリース状況

割振られたIPアドレスやリースの確認は、作成した簡易コマンド dhcpリース を利用して、矢印キーで移動して確認します。操作は、コマンド less の操作になります。最後に q で終了します。

$ dhcpリース
  set vendor-class-identifier = "MSFT 5.0";
  client-hostname "Archer_C1200";
}
lease 192.168.11.32 {
  starts 3 2021/03/03 14:06:22;
  ends 3 2021/03/03 14:16:22;
  cltt 3 2021/03/03 14:06:22;
  binding state active;
  next binding state free;
  rewind binding state free;
  hardware ethernet dc:a6:32:8d:18:2c;
  uid "\001\334\2462\215\030,";
  set vendor-class-identifier = "dhcpcd-8.1.2:Linux-5.10.11-v7l+:armv7l:BCM2711";
  client-hostname "working";
}
lease 192.168.11.54 {
  starts 3 2021/03/03 14:06:37;
:

DHCPの稼働で蓄積されたジャーナルの確認

ジャーナルの確認には、作成した簡易コマンドで dhcpジャーナル を使用します。操作は less の操作と同じです。最後は q で終了します。

$ dhcpジャーナル
-- Logs begin at Mon 2021-03-01 20:50:19 JST, end at Thu 2021-03-04 00:52:41 JST. --
 3月 01 20:50:34 web-server dhcpd[1270]: reuse_lease: lease age 81 (secs) under 25% threshold, reply with unalt
 3月 01 20:50:34 web-server dhcpd[1270]: DHCPREQUEST for 192.168.11.31 from b0:4e:26:84:7b:34 (Archer_C1200) vi
 3月 01 20:50:34 web-server dhcpd[1270]: DHCPACK on 192.168.11.31 to b0:4e:26:84:7b:34 (Archer_C1200) via eth0
 3月 01 20:50:37 web-server dhcpd[1270]: DHCPREQUEST for 192.168.11.32 from dc:a6:32:8d:18:2c (working) via eth
 3月 01 20:50:37 web-server dhcpd[1270]: DHCPACK on 192.168.11.32 to dc:a6:32:8d:18:2c (working) via eth0
 3月 01 20:50:54 web-server dhcpd[1270]: reuse_lease: lease age 101 (secs) under 25% threshold, reply with unal
 3月 01 20:50:54 web-server dhcpd[1270]: DHCPREQUEST for 192.168.11.31 from b0:4e:26:84:7b:34 (Archer_C1200) vi
 3月 01 20:50:54 web-server dhcpd[1270]: DHCPACK on 192.168.11.31 to b0:4e:26:84:7b:34 (Archer_C1200) via eth0
 3月 01 20:51:01 web-server dhcpd[1270]: DHCPREQUEST for 192.168.11.52 from dc:a6:32:4a:d7:39 (web-server) via 
 3月 01 20:51:01 web-server dhcpd[1270]: DHCPACK on 192.168.11.52 to dc:a6:32:4a:d7:39 (web-server) via eth0
 3月 01 20:51:04 web-server dhcpd[1270]: reuse_lease: lease age 3 (secs) under 25% threshold, reply with unalte
 3月 01 20:51:04 web-server dhcpd[1270]: DHCPREQUEST for 192.168.11.52 from dc:a6:32:4a:d7:39 (web-server) via 
 3月 01 20:51:04 web-server dhcpd[1270]: DHCPACK on 192.168.11.52 to dc:a6:32:4a:d7:39 (web-server) via eth0
 3月 01 20:51:12 web-server dhcpd[1270]: reuse_lease: lease age 11 (secs) under 25% threshold, reply with unalt
 3月 01 20:51:12 web-server dhcpd[1270]: DHCPREQUEST for 192.168.11.52 from dc:a6:32:4a:d7:39 (web-server) via 
 3月 01 20:51:12 web-server dhcpd[1270]: DHCPACK on 192.168.11.52 to dc:a6:32:4a:d7:39 (web-server) via eth0
lines 1-17

ネット環境を日常の状況により操作

DHCPサーバーを一時的に停止する場合 dhcp_stop や、
停止から起動する場合 dhcp_start
定義情報を書き換えて再起動するには dhcp_restart
更にはサーバーの停止再起動でDHCPサーバーを自動起動させたくない時 dhcp_disable、サーバーの再立ち上げで自動起動させたい場合 dhcp_enable
等を簡易コマンドで操作します。

DC-DC↑↓コンバータ定電流

購入した製品の備忘録メモです。
車から予備バッテリーに充電するツールに利用できればと入手しました。

この商品について

入力電圧:DC5-30V 最大8A ピーク10A 常時6A 無負荷電流:4mA
出力電圧:1.25-30V (可変) 出力電流:0.2-10A(可変)
動作温度:-40〜+ 85度
動作周波数:150kHz
変換効率:91%
過電流保護・短絡保護・過熱保護回路内蔵
※逆接保護回路は有りません、必要に応じでダイオードで保護をお勧めします。
※ポテンショメーターは10回転型ですので、結構回さないと反応しない場合が有ります。

太陽光発電・ バッテリー充電・LED駆動等
恐れ入りますが、説明書は付属しておりませんので、このページの情報でご判断ください。

下仁田のジオパーク

厄介な新型コロナですね

新型コロナが蔓延している年に動きづらいのもありますが、北海道から帰宅してからの外出は、谷川岳、青木ヶ原樹海、程度しかありません。

例年ですと12月は、2日と3日に秩父の祭に行くのが恒例でしたが、神事は粛々と行われるものの笠鉾や屋台は無く、最短経路で番場通りを通過すると聞きました。花火は行われたようですが、行きませんでした。

初冬の恒例行事的に毎年見ていた祭に行かないと、何か抜け落ちたような空虚な気分になります。

気になっていた下仁田ジオパーク

そんな訳で、近くに居ながら足を運んでいなかった下仁田のジオパーク展示施設に行ってみようと思い立ちました。

旧小学校の校舎にパンフレットや周辺の石が展示されていて、2階には有料で色々な説明資料が置かれていたようですが、そこは見ていません。

旧校舎外には大きな字で、ネギとこんにゃくジオパーク? 的なキャッチフレーズが貼られていました。

子供の頃からの生活空間

今は公園になっているらしい青岩周辺は、昔小学生だった頃の遠足で訪れました。周囲の色合いだとかをおぼろげながら記憶しています。そして下仁田のキーワードで連想するのがその風景です。

生活空間の一部を再認識

北海道十勝の鹿追ジオパーク職員の大西さんとの話に出た下仁田ですが、近くで日常的に生活している空間の一部なので、自然に知っている部分もあり改めて深く知ろうとしていませんでした。

有名な中央構造線て身近な存在

昔の理科か社会か忘れましたが、中央構造線やフォッサマグナを知りました。航空写真で見ると良く分かる壮大な筋状の変化が見て取れます。その中央構造線の東の延長が下仁田町を通っている意識はありませんでした。

当然と言えば当然だなと感じますが、荒船山や妙義山、群馬県から長野県へは峠を登り上げるように繋がっている地形の構造、無意識に触れていた自然も良く考えれば不思議な造形美を感じます。

身近な自然に秘められた神秘

今は少し離れて藤岡市に移りましたが、生まれてから40年近く生活していた富岡市は、私が産まれる更に前の、富岡市になる前は南牧村や下仁田町と同じ甘楽郡でした。

高崎駅からローカル線の上信電鉄で富岡駅、終点の下仁田駅と続きます。小さい頃は鏑川で泳いだり、手でも崩れる崖を崩すと化石があったり、上流の大きな石や岩の流れの中で遊んだりしました。

妙義山も身近で、中学生の頃は自転車で遊びに行くような遊び場の1つでした。当時は富岡製糸場も遊び場の1つで、ユネスコの世界遺産に登録されるような場所とは思いもしませんでした。

過疎地にある老舗のお菓子屋

下仁田に足が向いたのは、ジオパークの件は勿論ですが、南牧村にある老舗のお菓子屋に寄ってみようと思ったのが、もう1つの理由です。

創業は明治と古いお店

そこは南牧村磐戸の信濃屋嘉助と言うお菓子屋で、義母が時々口にしていて、ここの草餅が食べたいと色々な場面で言っていました。その時は今も操業しているのか疑問でしたが、検索すると健在のようでした。

お店の所在地はジオパーク隣接

下仁田ジオパークに近く、その範囲と思われる距離内に位置するお店です。店の外のディスプレイには草餅と団子をアピールしてました。

車を停めるには、向いに狭い屋根付き車庫が駐車場になってましたが、店に寄せ路上に置く人が大半のようです。通りの道路は狭いものの通行量も少ないため、短時間の買物では問題なさそうです。

地域に溶け込むためか色々な製品

ここでしか買えない『炭のまんじゅう』が有名のようですが、それは買わずに『しろつばらくがん』を買ってみました。味噌味の白餡が入った落雁で、形も食感も違いますが、群馬のソールフード焼きまんじゅうを頭に浮べる独特の香りがあって、これはなかなか旨かったです。

最近になってブレイクしたらしい

今も操業している?なんて失礼な事を思ってましたが、ホームページを新たに立ち上げているようで、shinanoyakasuke.com では、内容を覗いて見ると、うどんや赤飯等も作ったりして精力的に活動しているようです。失礼しました。

ブランデーケーキも逸品らしい

それと、義母も口にしていたブランデーケーキも一緒に買ってきました。まだ、食べていないので外から見ただけの話ですが、妻が重くてズッシリした手応えを感じると話してます。価格は1,400円でした。

住んでいる藤岡市近辺でこんなケーキを購入したら、この値段では手に入らないと妻が申しておりました。

私も洋菓子のシェリエで半年とちょっとバイトしたことがあり、バームクーヘンを含む色々な菓子を焼いたり、加工の経験もあります。どんなのか食べるのが楽しみです。

次はカメラを持ってじっくり観光

今回は、下仁田ジオパークの観光もざっと下見をした程度なので、じっくり時間を掛けて歩きたいと思っています。その時にはまた信濃屋嘉助で、別なお菓子を買って帰りたいと思っています。

北海道から帰りました

10月8日の夕方 17:00 に、小樽から新潟行のフェリーに乗って、9日の朝9:15に新潟港に着き、一般道を走行して、16:10 には群馬県藤岡市の自宅に着きましたので、走行時間は約7時間でした。

いつもながら色々なトラブルは起きていますが、帰るフェリーに乗る前日に羊蹄山に登ったのですが、その時の写真と前日の洞爺湖周辺を見学した写真が残せませんでした。

記録媒体のmicroSDのファイルシステムが論理的に壊れていたらしく、ボリュームやファイルとして形になっての書込みができなかったらしく、一般的な消去や初期化されたファイルを救い出すソフトをネットで調べ、一応ダウンロードして試してみましたが、ファイルの形になっていないものは当然ですが救えないですよね。

そんな事で道内最後の日や、前日の日の時間を取られてしまい、無い写真を言葉で表現して少し補うにも手が回らないで、整理できていません。

色々なことが起こるもので、使っているスマホも古くなり既に修理対象外の機種になりますが、充電用にUSBケーブルを接続していても、バッテリー残量がみるみる減っていき 0%表示になってシステムダウンしてしまいます。その後に時間が経って確認しても増えない状況です。

そんな状況でもだましだまし使っていましたが、ついに 0% から残量が増えないで、リブートを繰り返す状況になりました。スマホが全てそうなのかは不明ですが、一般的なパソコンのように電源を落としてバッテリーに充電する様な動作にはできないようで、システムとして稼働できる状況になる前に再起動してしまいます。

北海道にいる期間に、こんな状況にならなかったことを喜びたいと思います。道内にいる頃にも、グーグルナビで移動中にバッテリー残量が 0% になってダウンする事もあり、その兆候は見られたものの何とかリカバリーできていました。

gotoキャンペーンで、帰りのフェリーについては、減額された金額で精算してくれましたが、行きのフェリーでは、利用した証明をメールで問題のスマホに送ってきています。これにも申請期限はあるのでしょうね、どのような書類を取り揃えるのかも含めて調べないといけません。

今の状況では、電話の送受もメールの送受もまともにできないので、スマホの機種変更をしなければならず、店舗の場所や開店時間、連絡先をネットで調べると一般的な商店の開始時間や蕎麦屋の開店時間みたく遅くて、24H対応のネット店舗で機種変更することにしました。

落ち着くまでにまだまだ時間がかかりそうです。

いつものキャンプ場に来たものの

昨年ニアミスしてしまった愛山渓温泉から入るコースで、大雪山旭岳が近くにそびえ立ち、沼ノ平から紅葉の裾合平を見下す尾根を登りながら回るコースを目指して道内入りしました。

今年は想像もしていなかった新型コロナウイルスの影響もあり、無料で長期に渡り夢を見させて頂いていたキャンプ場が有料に変わりました。

長期間滞在しての北海道の山歩きも、今年が潮時かなとの思いもあります。理由は色々ありますが、歳を取って面倒になった事、キャンプ場が有料になって面倒くさく感じるようになったこと、あちこちが混んでいて車中泊も面倒に感じ出した事、色々とあります。

キャンプ場の有料化も、1泊300円で、シーズン券は9000円です。30日以上の利用で元なので、シーズン券を購入して、例年のようにベースにして、移動を考えてましたが、思わぬ障壁にヒグマが立ちはだかりました。

近くにヒグマが出ていて、何度も目撃されているらしく、少し離れた散歩コースの森の湯へも歩かずに車で行くように案内しているのだとか、キャンプ場も場合に依っては閉鎖になる事もありえるのだそうです。

その場合には、シーズン券はそれまでとなってしまうようで、返金は無く無駄になってしまう。仕方無く3泊分の900円だけ支払いました。延長は簡単ですが、数日は天気悪くてソーラーパネルも開けません。

明日で3泊になりますが、テントも立てていませんし、暫くは道の駅での車中泊で過ごし、日帰りピストン登山を楽しむ方向に、考えを方向転換しようかと思ってます。

ヒグマの出没も大きな想定外の変化の1つでした。

ツマグロヒョウモン

新型コロナウイルスの影響で外出が減っていますので、写真を撮る機会がありません。

暫く前になるのですが、庭にヒョウモンチョウが飛んでいるのを見かけました。特に意識して見ていたわけではなく、珍しいな、程度の感じで見ていました。

4月28日に飛んでいたツマグロヒョウモン

暫くして妻が、この幼虫ってアゲハチョウの幼虫?と呼びに来ました。真っ黒の中心に1本赤い筋が入った毛虫くんが、ビオラに沢山寄り集まって食べていました。

芋虫くん、毛虫くんの類いが苦手なので、ちょっと気持ち悪いと思いながらも観察してネットから情報を集めました。

妻が見ていた情報には、アゲハチョウの幼虫と書いている人がいましたが、実際にはツマグロヒョウモンの幼虫のようです。

そう言えばビオラの花の周りを飛んでいたヒョウモンチョウがいた記憶があります。

その頃、季節外れに残って咲いていたビオラに卵を産み付けていたのですね。20匹位の数の幼虫が盛んに食べていました。

個体差もあって、何日も掛けて1匹ずつ移動しながらサナギに変化していきました。頭を下にぶら下がり脱皮してサナギになっているようです。

毛虫で頭を下にぶら下がり、翌日になって見るとサナギの状態でした。

1匹だけ残った幼虫が、まだビオラを食べているのに、先にサナギになったものは今日初めて羽化していました。多分1番目だろうと思われます。

翅を合わせて畳んでいるため、裏側の模様しか見えないのでオスメスは分かりませんでしたが、近付いたら逃げたのでその時に模様からオスだと分かりました。

7月1日に羽化した1番目のツマグロヒョウモン

サナギ全ての所在は不明ですが、10ヶ所程度の場所の把握ができているので、今後も羽化したツマグロヒョウモンを見られるだろうと楽しみです。

大電流ダイオード 30A45V

購入した製品の備忘録メモです。大電流対応のショットキーバリアダイオードです。

30A 45V ショットキーバリアダイオード

中国製で安価なのですが、新型コロナウイルスの影響もあったようで、注文から到着まで、約1月半が掛かりました。

2020-04-15 発注、2020-05-26 配送着

直径9mm.リード線1.1mm

アマゾンでの販売価格 323円なので、ある程度の時間が掛かっても、文句が言えないレベルです。

DC-DC↑コンバータ定電流

購入した製品の備忘録メモです。比較的に作りが良いと感じます。

この商品について

  • これは、電気機器、デジタル製品、ラップトップなどのためのDC 400W DCからDCへの昇圧電源モジュールです。
  • 入力および出力は便利なワイヤー接続および切断のためのねじ込み端子と設計されています
  • 高効率、最大変換効率は96%で、効率は入力/出力電圧、電流および電圧差に関連しています
  • より良い熱放散を確実にするだろう2ヒートシンクがあります
  • それはまたハイパワーLEDライトのための運転者または太陽電池パネルのための電圧調整装置として使用することができます

説明

特徴:

これは電気機器、デジタル製品、ラップトップなどのための400W DCからDCへのステップアップ電源モジュールです。入力と出力は便利なワイヤ接続と切断のためにネジ留め式端子で設計されています。高効率、最大変換効率は96%で、効率は入力/出力電圧、電流および電圧差に関係します。より良い放熱を保証する2つのヒートシンクがあります。また、ハイパワーLEDライトのドライバやソーラーパネル用の電圧レギュレータとしても使用できます。


仕様:

タイプ:非絶縁型ブーストモジュール
入力電圧:DC8.5V〜50V

出力電圧:DC10V〜60V(連続的に調整可能、デフォルトは19V)

最大入力電流:15A(8A以上の場合は放熱性を高めてください)
最大出力電流:12A(入力と出力の電圧差に関連し、電圧差が大きいほど、出力電流は小さくなります。電流が7Aを超える場合は、放熱性を高めてください)

静止電流:10mA(12Vから20Vに変換すると増加します)

定電流範囲:0.2A〜12A
出力電力=入力電圧*電流
使用温度:-40℃〜85℃(温度が高すぎる場合は放熱性を高めてください)
周波数:150KHz
最大変換効率:96%(効率は入力/出力電圧、電流および電圧差に関係します)
過電流保護:はい(入力電流が15A以上の場合、自動的に出力電圧を下げます)
逆入力保護:いいえ
サイズ:67 x 48 x 28 mm / 2.63 x 1.89 x 1.1 “

出力電圧/電流調整:
1、 “CV-ADJ”ポテンショメータを時計回りに回して電圧を下げ、反時計回りに回して電圧を上げます。
2、負荷に接続する前に出力電流を最小にするために “CC-ADJ”ポテンショメータを反時計回りに約30回転調整します(電流を増やすには時計回り、電流を減らすには反時計回り)。次に、 “CC-ADJ”を時計回りに現在の値に合わせます。モジュールをバッテリ充電に使用する場合は、バッテリが完全に放電した後に出力に接続してください。より多くのエネルギーがバッテリーに残っている場合は、充電電流が少なくなるためです。