🗐 電装工芸日記 - 舞台照明機器の製作とか -

今年は開発案件を進めたい

or 管理画面へ

タグ「サーバー」を含む投稿[45件]

Icon of admin
 こんなんも作ってます。
 RaspberryPi CM4 のマザーボードを収める箱です。
 マザーボードは Aliexpress で手に入ります。
20250411061834-admin.jpg 202504110618341-admin.jpg

 センチュリーさんの裸族のカプセルホテルを RaspberryPi サーバーにする構想を持っています。底面には隙間があるので RaspberryPi を内蔵した物を作って稼働していますが加工の手間が多すぎるので幅が同じケースを作って乗せることにしたのです。
 20250411062024-admin.jpg

 単に桝状の箱を作ると角がめくれ上がってしまいます。
 これを回避するために柱が付いた天板と底板に横板をハメ込む仕様にしています。

 I/Oポートの寸法合わせ中ですがイイ感じです。

#サーバー

 
Icon of admin
 サーバー群の設定は終了。
 openvpn で難儀しました。サーバーのOSバージョン、クライアントのOSやら openvpn のバージョンによって設定が微妙に違う感じ。調整する項目がわかったので勉強ってことで。
 DNSサーバーの機能を使わず bash スクリプトでDNSを動的に変更したり、iptalbes の設定に工夫をすると面白くて便利に使えます。
 離れた複数のサーバーを協調動作させるのがパズルみたいで遊んでいます。
 所属会社の回線はルーターが YAMAHA RTX830 になりましたが速いですね~。ターミナルで入らないと設定出来ない項目があったりしますが、要領がわかると凄く便利。

#サーバー
Icon of admin
 所属会社のネット回線の更新に伴ってサーバーの設定更新をしたのですが、成り行きというか必要に迫られてdebianOSをアップデートしたところセキュリティポリシーがきつくなるわ設定方法が変わるわでてんやわんや。無事設定は出来たものの大変な目にあいました。
 WindowsServerのRAID1の片肺が死んでいたのを発見出来て良かったですけど・・・RAID1(ミラーリング)にしといて良かった。

#サーバー
Icon of admin
 Linuxサーバーに与えるHDDの準備をしています。
 ext4でフォーマットしているのですが、スイッチ「-cc」を使うと0xaa、0x55、0x00、0xffを書いて読んで完全なチェックをします。
 これをやってSuperBlockの再設定をしておけば後々のトラブルは皆無となり、いざトラブったことを考えて先に手間ヒマをかけるのが私の流儀ですが、とんでもなく時間がかかる。すべてのセクタに完全なチェックを行うのですから仕方ありません。
 ただ、1つミスりました。作業はUSB3.0-SATA3変換を使って行うのですが、間違ってマザーボードのUSB2.0に挿していました。3TBでも48時間あれば終わるのが普通なのに24時間経過しても最初の0xaaすら終わっていない。気付いてガッカリ。今はUSB3.0に繋いでやり直していますが0xaaが11時間で完了。この調子ならUSB2.0のまま続けたより早く終わるでしょう。

#サーバー
Icon of admin
 Linuxサーバーで使う HDD をフォーマット。
 1TB ですが GPT にしといた方が後々良いので、wipefs を実行してから gdisk で領域を設定し ext4 でフォーマットしました。

# mkfs.ext4 -CC /dev/sdX1

 -CC は書き込み読み込みテストを厳重にやりなさいってスイッチ。0xaa、0x55、0x00、0xff のパターンですべてのセクタに書き込みと読み込みチェックを行います。完全上書きになるので完全消去手段の一つでもありますが、使い始めたら二度と出来ないチェックです。これをやっておけばスーパーブロックの更新もしてくれるので物理限界まで安心して使えます。
 ただ、今回は60時間ほどかかりました。SATA3 とはいえ中古の HDD でシークタイムは遅く、マザーボードも古い省電力タイプのため USB2.0 接続だったのもありますが、仮にUSB3.0や3.1でも数分で終わることはありません。
 今どきの HDD にここまでする意味があるか疑問ですが、HDD クラッシュの苦い思い出が脳裏から離れないオジサンにとっては願掛けオマジナイです。

#サーバー #Linux
Icon of admin
 先日gmailとの通信障害を書きましたが原因が判明。
 メールの受け取り拒否のメールを読みますとセキュリティ的に信頼できないサーバーから送信されたメールは受け取れないとありました。
 調べてみると「SPF」と「DKIM」なる証明設定をしなけばならないとのこと。
 SPFとはこのドメイン名を使ったメールはこのIPアドレスからのみ発信されますよとDNSサーバーに記述しておく方法。迷惑メールは所在が不明な不正サーバーから発信されることが多いのですが、この情報が参照出来れば不正なサーバーからの接続を弾くことが出来ます。
 DKIMとはDNSサーバーに暗号コードを登録しておき、メールエージェントはDNSサーバーに登録した暗号コードに沿った暗号コードをメールヘッダー付加して送信する方法です。受け取り側のサーバーはこれらの暗号コードを参照・比較し、合致しなければ不正なメールだと判別するのです。
 SPFはサーバーの正当性を表し、DKIMはメールの正当性を表します。どちらもDNSサーバーに付録データを貼り付けて参照情報にしています。これらを用いればメール通信の正当性を高確率で識別できますので、メールサーバーやメールアドレスを詐称し逃げ隠れする送信者によるメールを振り分けるのに効果的です。
 この設定をしていないサーバーとのメール通信が出来なくなる可能性がありますが、gmailがその様になっているならそれを正義としてもいいでしょう。

#サーバー
Icon of admin
 某所に設置したサーバー機の OS は Debian です。
 それ自体が素晴らしいのもありますが、細かい解説を残してくれる先達が多いので、自分がやりたいと思うことはネットを検索すればほとんど解決します。
 samba を用いてのファイル共有はその昔の文字コード問題は全く無くアクセスも速いですね。Windows-Server で共有するのと遜色ありません。
 Wi-fi のアクセスポイントにもしていますが、汎用の USB-Wifi トングで問題ありません。
 VPN(openvpn)で本社のサーバーとも繋げています。ファイルを直接開くのはお勧め出来ないものの、特別なことをせずに本社の共有フォルダにアクセス出来ますから作業性は良いですね。VPNとは拠点間LANとも呼ばれる手法で、疑似的にLANケーブルが繋がっているのと同じ状態を作り上げる手法です。openvpn 以外にDNSサーバーに細工をしてルーティングを施さないといけませんが、要領がわかってしまえば簡単です。

#サーバー
Icon of admin
 このところサーバーを作っていました。設置場所は某劇場の舞台事務所です。
 インターネットにも行けるごく普通の館内LANを使うのですが、館内のフリーwi-fiと元を同じくする回線です。先の設定がどうなっているのかわかりませんが、ネットマスクの桁数から想像するにフリーwi-fiの回線そのものと思われます。無料で使わせてもらえるので贅沢を言ってはいけませんが、接続しているパソコンと共有しているフォルダは絶対に隠さなければなりません。
 となると、必要な通信は通って不必要は通信は遮断するゲートウェイサーバーを構成する必要があります。その他の課題は、ローカルLANをwi-fiにすることです。机の配置の都合でLANケーブルを敷設出来ないからです。
 サーバー機の構成は、機体がジャンクのPC、OSはdebian、データストレージはRAID1にしたHDDを2台とバックアップ用のUSB-HDD、wi-fiのアクセスポイントとしてUSBのwi-fiトングです。マザーボードにはLANコネクタが2個あるので、外向きLANと内向きLANを構成してwi-fiトングは内向きのLANとブリッジします。
 これまでにも近い構成を何度も組んでいますからすんなり終わるだろと思ったら大間違い。このところのdebianはヴァージョンが上がるごとにセキュリティ対策が増え、設定が微増するのは仕方ないとして、旧来のコマンドが使えなくなったり設定の仕方がちょっとだけ変わるのです。私からすればよくわからん方言となりますので調べるのに時間がかかりました。持った通りに組めましたが、思惑より2日間余計にかかって他の仕事がヤバイ。
 おまけというか蛇足ですが、VPNで本社にも繋がる様にしておきました。本社の共有フォルダにアクセス出来れば業務も楽だろうと。

 突っ込んだ話ですが、DHCPサーバー、DNSサーバーとしてdnsmasqを使ってみました。簡易的なモノというイメージがありますが、私が組む小規模サーバーにはisc-dhcp-serverやbind9よりも等身大です。複雑な振り分けやルーティングはしませんので機能は十分ですし何よりも設定が分かりやすい。これらはサーバーを作り始めた当初に難儀したところですからこの使い勝手は感激レベルです。一つ問題を上げるなら、起動後、wi-fiトングと内向きLANとのブリッジが完了する前にdnsmasqが起動すると正常に動作しないので、dnsmasqの起動に待ちを入れる必要があったことです。これを見つけるのに少し時間がかかりました。
 /etc/resolv.conf を dhcpcd に書きかえらない対策が必要なことも気付くのに時間がかかりました。dnsmasq は自分でルートファイルを持たないために設定が簡単ですが、dhcpでアドレスを受け取る際に得たDNSサーバーの情報で /etc/resolv.conf を書き換えてしまうのです。これをされると自分でDNSサーバーを持っている場合に不都合が出るので、/etc/resolv.conf は書き換え不可にしなければならないのです。dnsmasq にも書き換えしない設定があるようですが、何度やっても書き換えられてしまう。ならば、/etc/resolvconf をOSレベルで書き換えられてない様にすればいい。同様の問題を抱えた先達がいましたので有難くパクらせて頂きました。パーミッションを400にするのかと思いきや、パーミッションより上位のフラグがあって、それを設定するのがいいらしい。# chattr +i /etc/resolv.conf とのこと。+i は書き換え不可のフラグを立てるスイッチです。外すなら -i だそうな。
 あと、DHCPクライアントをdhcpcdにしました。RaspberryPiで慣れているのもありますが、旧来の /etc/network/interfaces だけで設定するより何をしてもスムーズ。特にwi-fiトングをアクセスポイントにする hostapd を使うなら dhcpcd 一択と思えるほど快適でした。

 書き始めたらキリがありませんが、都度の感想も書き入れた設定記録を残したので、次の製作では参考にしつつ読んで楽しもうと思います。

 サーバーの設定は server world さんを参考にしています。
 server world
 ここの通りにすればちゃんと動きますので、私はここのレシピで基本設定をしてから好みに変更する様にしています。
 ただし、セキュリティについては別です。基本はフォルダやファイルのパーミッション、ルーティング、IPフィルタリングですが、ここはそうった解説を書かない方針と見受けらえます。それらについては別途勉強しなければなりません。

#サーバー
Icon of admin
 とまぁ、バックアップは正常に機能するようになったのですが・・・
 長期間バックアップしていなかったのと、過去10年以上のデータをアーカイブ化して入れ物を変えたので24時間経っても初回動作が終わらない。
 動作チェックには丁度いいっちゃいいのですが、ネット経由なのでまだまだ終わりそうにありません。

#サーバー
Icon of admin
 レゲエのフェスは天候にも恵まれ平穏無事に終わりました。
 本番10時間の2デイスでしたが、交代しながらの本番対応だったので長い休憩がありました。
 クラシックバレエやオペラの現場が控えているのでその準備を進めたかったのですが、超爆音のレゲエを聞きながらクラシック系のことを考えるなんて無理ムリ。
 なので、久しぶりにサーバーのガチメンテをしてました。SSHやVPNで遠隔操作が出来るので場所を選ばず操作出来ます。

 本当に久しぶりのガチメンテでしたが、いろんな問題が出てくる出てくる。
 一番の問題はVPNを介した遠隔ファイルバックアップが止まっていたこと。サーバー間をVPNで繋いでいたのですが、バックアップ側のTLS(認証の暗号化処理)が古くてVPNが接続していなかったのです。つまり、本体のOSをバージョンアップしてから数か月間バックアップが機能していなかったというオチ・・・。バックアップですから本体が堅調なら問題ないのですがコレはよくない。
 ところが、調べてみたらTLSを新しくするにはOSそのものをバージョンアップしないといけないとのこと。遠隔でやるのは怖いけど、主システムとは無関係なサポートサーバーなので落ちてもいいから作業を進める。幸い素直にバージョンアップが済んでVPNも復活しました。debianを使っていますが、バージョンアップはコマンドを3つ走らせるだけなので簡単。ただし、時間がかかるのに途中で質問に答えねばならんので付きっ切りになるのは頂けませんが・・・。

 こんなことがあると欲しくなるのがエラーを知らせてくれる何か。今回の場合は「バックアップに問題あるかもよ!」というシンプルなお知らせ。実行結果を診断して自動的に送信されるメールってことになるでしょうか。
 Linuxは凄いと思ったのがこういった処理。bashと呼ばれるコマンドラインにはメール送信機能が普通にあります。単なるコマンドラインですから、cronで直接実行も可能ですし、cronから呼び出されるスクリプトファイル(古い言い方ですとバッチファイル)に仕込んでおいてもいい。私ごときがやりたいと思うことの大半はbashで出来ちゃうLinux。難しいのは数多ある機能を知ることと使いこなすことでしょうか。

 ちなみにシンプルなテキストメールを送るだけならこんな感じ
$ /bin/echo -e "メッセージ本文" | /usr/bin/mail -s "メールのタイトル" root
 rootってのは固定されたシステム管理者のアカウント名。この場合は宛先になりますが、これだけでは誰にも転送されません。メールデーモンにroot宛のメールを転送する設定をしなければなりませんが、転送すればスマホでも何でも受信出来ます。
 コマンドの間にある"|"はパイプと呼ばれる機能です。上記ではechoで出力された文字列をmailに本文として引き渡すという意味になりますが、シンプルながら応用の幅が無限大なこんな機能を考えた人は天才。
 さらにです、バッククウォート(日本語キーボードならシフトキーを押しながら[@]キーで出るチョン)で囲めばコマンドの返り値をメール本文にも出来るそうな。
$ /bin/echo -e `/bin/date` | /usr/bin/mail -s "日時" root
 これはdateという現在日時を表示するコマンドの結果をメールするだけですが、固定されたテキストもコマンドを実行した結果も区別無く扱えるということです。
 bashでのテキストの扱いには正規表現に代表される難解さがありますが、パイプと合わせてこの辺りを覚えたら驚くほど色んなことが出来ます。

 [コマンドを実行] → [その結果を判別] → [管理者へメッセージを送信]
 こんなことが特別なアプリを使うことなくコマンドラインの組み合わせで出来てしまうのです。シンプルなモノをシンプルな方法で組み合わせて無限の可能性を産むと言ったら言い過ぎでしょうか。
 コンピュータを扱うことにかけては神レベルの天才達が作ったとはいえ、LinuxというかUNIXは本当にスゲー。

#サーバー

■思ってみた

春ですねぇ~。
花粉症の部下は死にそうですが、暖かいってのはいいことです。

編集

■全文検索:

複合検索窓に切り替える

■複合検索:

  • 投稿者名:
  • 投稿年月:
  • #タグ:
  • カテゴリ:
  • 出力順序:

■日付検索:

■カレンダー:

2025年4月
12345
6789101112
13141516171819
20212223242526
27282930

■カテゴリ:

■最近の投稿:

最終更新日時:
2025年4月29日(火) 20時16分48秒