isLandcener.jp 非番中

2023/1/7 islandcenter.jp

インディペンデントコントラクター(IC)としてIT関連の仕事をしています。

このブログサイトは、私の仕事上のお付き合いがある方々をご支援するために開設しました。

どうせ技術的なメールを書いても、山のようなメールに埋もれてしまいます。HTML メールを読まない(私も使わない)し、ワープロ文書にしてもあまり整理つきませんし、リンク先や画像のスナップショットをお見せできる手段として良い方法はないものかなぁと思っていました。

せっかく作った自分の情報の山なので、思い切って公開しちゃえ、と思い、独立を機会に問題ない範囲で公開を始めました。公開するのは良いことで、仕事先でも電車の中でも、「あの手順何だっけ?」を確認できるのはいいものです。

-お仕事しませんか-

皆さまといい関係のお仕事を探しています。

私の公式ウェブサイトはこちらです。


詳細はウェブサイトでご確認ください。

--
このブログのトラックバックとコメントは承認制です。トラックバックスパムが多いので、トラックバックは受け付けていません。

 大手企業に対する批判に対して個人が名誉毀損で訴えられるケースがあります。いきなりこういう態度をとられてもこちらとしてはなすすべがありません。ブログの内容に不審な点、不愉快な表現がありましたら、まずはご連絡ください。適切に処理します。また製品担当者からのお励まし、ご意見などありましたら感謝します。

--
このブログを読んで、直接ご感想や、ご質問があれば、コメント欄にメールアドレスとコメントを書いて「非公開」チェックしていただければ私だけ皆さまのメールアドレスをチェックできます。のちほど非公開のメールアドレスからお返事します。

なお kenn*islandcenter.jp(@に置き換えてください)にメールを送っていただいても結構ですが、メールはジャンク処理していますので、必ず、サブジェクトにわかりやすいタイトルを書いてください。フリーメールやサブジェクトが空欄の場合、まず読まれることはないので、ご承知ください。詳細はウェブサイトをご参考ください。

My Home Web Site

Meil Form


- 2019/6/6 -
この6月から、広告を付けてみました。

見づらくなった。広告ウザい。などアンチのご意見もあるでしょう。コメントください。

このブログの価値を具体的な金額にするとどんなものか、書き手としてのモチベーションに繋がるだろうと思い試してみました。

一応、こちらを見る限り、アフリエイトは問題ないようです。

エキサイトブログ利用規約改定とライフログカテゴリの拡張について

有料プランの概要・支払い方法

PR- うちの大家さんもよろしく -PR




--
気が向いた時にしかコメントできなくて申し訳ありませんが、ブログの記事に関係なくご意見ご要望があれば、このトピックスにコメントください。

# by islandcenter | 2023-12-01 23:00 | 雑文 | Comments(4)

ここでは、macOS の共有を使って、mac 上のデータを Windows や Linux からアクセスする方法について説明します。Windows から mac へ移行したいとか、mac のデータを大量にバックアップしたいとかに使えそうです。もっとも mac の場合 TimeMachine を使うのが定石でしょうが、そういった便利な機能だけではなく、様々なバックアップ手段は考えておきたいところです。




共有元の mac OS で共有の開始

ワークグループの設定


りんご🍎 > システム設定 > ネットワーク > アダプタを選択して「詳細」 > 左のペインから "WINS" を選びワークグループを設定します。デフォルトは "WORKGROUP" です。

mac のファイル共有のはじめ方、Windows や Linux でファイル共有_a0056607_19003242.png


共有の開始

りんご🍎 > システム設定 > 一般 > 共有、より「ファイル共有」を ON にします。ファイル共有スイッチの右横の「!」をクリックして、共有元のフォルダと共有ユーザを追加します。
mac のファイル共有のはじめ方、Windows や Linux でファイル共有_a0056607_16472539.png

「共有フォルダ」 "+" ボタンで追加。

「共有ユーザ」"+" ボタンで追加、ユーザに「読み・書き」必要な権限をトグルボタンで設定

 ※ここでは「連絡先」からもユーザを選べますが何に使うのか不明


オプション」ボタンを押して、接続ユーザを有効化します。

mac のファイル共有のはじめ方、Windows や Linux でファイル共有_a0056607_16475159.png

「SMB を利用して、ファイルや.....」をチェック、許可するユーザをチェックします。有効化するには接続するユーザのパスワードで接続をチェックします。このパスワードは mac にログインするパスワードです。

mac のファイル共有のはじめ方、Windows や Linux でファイル共有_a0056607_16482428.png



-- Windows から mac の共有へ接続

Windows から mac の共有へ接続するには、エクスプローラのアドレスバーに "¥¥macのIP-Address¥共有名” をセットします。ログインダイアログから、接続ユーザ名とパスワードで接続します。




mac のファイル共有のはじめ方、Windows や Linux でファイル共有_a0056607_16484391.png


−− Linux からのマウント(openSUSE Leap15.4/SLE15)

opensuse15 ~ # mount -o username=myname //192.168.1.50/myShare /mnt/cifs
Password for myname@//192.168.1.50/myname: *******
sirocco:~ # ls /mnt/cifs -l
total 100
drwxr-xr-x 2 root root 0 Jun 11 2022 Applications
-rwxr-xr-x 1 root root 2538 Mar 16 10:43 aria2_download.log
-rwxr-xr-x 1 root root 37 Jul 20 2022 .bash_profile
drwxr-xr-x 2 root root 0 Oct 8 2022 BGM
drwxr-xr-x 2 root root 0 Jun 12 2022 .cache
-rwxr-xr-x 1 root root 7 Jun 11 2022 .CFUserTextEncoding
drwxr-xr-x 2 root root 0 Dec 14 10:54 cifs
drwxr-xr-x 2 root root 0 Oct 27 2022 .config
drwxr-xr-x 2 root root 0 Jun 11 2022 .cups
drwxr-xr-x 2 root root 0 Oct 6 2022 DavinciResolve
drwxr-xr-x 2 root root 0 Mar 31 14:45 Desktop

: 略

sirocco:~ #




gnome の nautilus ファイルマネージャから

mac のファイル共有のはじめ方、Windows や Linux でファイル共有_a0056607_16513686.png
このように、Linux から mac のファイル・フォルダにアクセスできるので、Linux から mac のバックアップや一時的な移行などに必要なファイルの保管場所として利用できます。




# by islandcenter | 2023-05-10 21:01 | MacOS | Comments(0)

複数のオペレーティングシステムを使って、NAS や Samba、 Windows、mac などでファイル共有をしていると、よく出会うのが、

「開けない共有ファイル、フォルダ」

の問題です。

具体的には、ファイル名に使えない文字が使えてしまってエクスプローラやファインダなどから開けなかったり、見えるのに開けない、ファイルやフォルダを削除できないなどの問題です。

多くの場合、ファイル名が長すぎたり、ディレクトリが深すぎたりといった事が原因なのですが、マルチベンダーでファイル共有をしていることにより、別なシステムでは問題ないのに Windows ではファイル名に問題があり、処理できないなどの問題になります。特にファイルサーバーをバックアップしたり、システムを更新する際に面倒な事になります。


Linux でファイル名として使えない文字

Linux では ,", * > , < , |, /,)(,,{,} , スペースなど直接使えない文字はありますが、"" で囲うと使える文字があります。スペースも入ってしまう。一般的には "¥0", "¥/" 以外は使ってしまうことができるそうです。 Linux で Samba や NAS の基本 OS が Linux の場合、かなりファイル名の自由度は高いため、マルチベンダー構成のネットワークのファイルサーバを使うと mac や Linux では開けるけど 「Windows では開けないファイル・フォルダ」が沢山作られる可能性があります。

ということでいけないファイル名を作ってみます。



"C:" というディレクトリは作れる?


Linux のターミナルで samba の共有ディレクトリの中に、 "C:" という、明らかに妖しいディレクトリを作ってみます。これを Windows11 と macOS のファインダからみたらこんなふうになりました。

ファイル名の問題:開けない共有のフォルダ、ファイル_a0056607_11522192.png


"C:" というディレクトリが "CQFO6Q~M" というフォルダ名としてエクスプローラから見えています。ついでにエクスプローラから、コピー・ペーストすると、CQFO6Q~M というフォルダ名に変わってコピーされています。C: フォルダは別な”使える名前”に変換されてアクセスできます。

面白いのは、 mac のファインダです。 "C:" というフォルダは、ファインダで作れなくても、テキストターミナルからは作れてしまいます。ファインダからは不可視ファイルとして存在していました。

Linux は "C:" というファイル、ディレクトリ名は許されますが、 Windows ではドライブレターとして認識されます。mac 場合、テキストターミナルからは作れますが、ファインダからは C: というフォルダは作れません。なかなか面白いものを見つけてしまった。

ファイル名の問題:開けない共有のフォルダ、ファイル_a0056607_11524516.png




ファイル名の問題:開けない共有のフォルダ、ファイル_a0056607_11533648.png


ファイル名の問題:開けない共有のフォルダ、ファイル_a0056607_11535422.png


で、ファインダで見ると、"C:" "C/" に見えますね。これもなるほど新発見です。

ファイル名の問題:開けない共有のフォルダ、ファイル_a0056607_11541056.png



ついでに "LPT1: "というディレクトリ名は、エクスプローラでもファインダでも”L5E7T1~Q” というディレクトリに見えます。ちゃんとエクスプローラからは削除できたので、問題ないようですが。

ファイル名の問題:開けない共有のフォルダ、ファイル_a0056607_11542373.png


ここで、よくやるファイルのコピー・ペーストをこのフォルダでしてみたら

「出たな、妖怪!」

コピー・ペーストすると filenameコピー.txt が作られるのですが、このファイルの生成に問題があるようで、無効なファイル名となってしまいます。


ファイル名の問題:開けない共有のフォルダ、ファイル_a0056607_11544329.png



ファイルの保存、作成、変更などはできるのか?

ちなみに C: ディレクトリのファイルをアプリケーションから別名で、"C:" フォルダに保存すると、Windows のエクスプローラは、”もうダメポ”という感じで見事にコケました。別な普通のフォルダに保存したり、C: フォルダへの上書き保存はうまく動きます。


ファイル名の問題:開けない共有のフォルダ、ファイル_a0056607_11545673.png



記号を使ったディレクトリを作ってみた

Linux の samba 環境から、怪しい記号だけのディレクトリを作って、 Windows11 のエクスプロータや、mac のファインダからどの様に見えるか確認してみました。

knakaj@corsair:/share/test> mkdir "|"
knakaj@corsair:/share/test> mkdir ">"
knakaj@corsair:/share/test> mkdir ")"
knakaj@corsair:/share/test> mkdir "!"
knakaj@corsair:/share/test> mkdir "?"
knakaj@corsair:/share/test> mkdir "*"
knakaj@corsair:/share/test> ls -al
合計 48
drwxr-xr-x 2 knakaj users 6 4月 30 16:38 !
drwxr-xr-x 2 knakaj users 6 4月 30 16:37 )
drwxr-xr-x 2 knakaj users 6 4月 30 16:38 *
drwxr-xr-x 8 knakaj users 88 4月 30 16:38 .
drwxrwxrwx 28 root root 32768 4月 25 10:58 ..
drwxr-xr-x 2 knakaj users 6 4月 30 16:37 >
drwxr-xr-x 2 knakaj users 6 4月 30 16:38 ?
drwxr-xr-x 2 knakaj users 6 4月 30 16:37 |
knakaj@corsair:/share/test>


ファイル名の問題:開けない共有のフォルダ、ファイル_a0056607_11554513.png


パイプやワイルドカードに相当する記号文字をフォルダ名に使うと、見事に別な名前にしてくれます。



システムが許して NTFS で使えないファイル名

オペレーティングシステムは「使えない文字」が幾つかありますが、いずれもファイルシステムの制限ではなく、オペレーティングシステムの、エクスプローラやファインダなどの、ファイル操作アプリケーションやプログラム API 、コマンドシェルの制限であって、使えないファイル名であっても作ってしまおうと思えばファイルはできてしまうのです。これが、WIndows と mac 、Linux などの混在環境では色々と楽しくても笑えないトラブルを引き起こしてくれます。

以前、LINUX と Windows のデュアルブート環境で GIMP のファイルのやり取りをしていたのですが、GIMP はやらかしてくれた事があります。当時の openSUSE の gnome 画面ハードコピーの保存ファイル名に ":"が含まれるので、 Windows 側 からアクセスできない。

オペレーティングシステムの、エクスプロータやファインダと言ったファイルマネージャや、アプリケーションから呼び出す API は「扱えない文字」を排除します。しかしサードパーティ製のディスク管理システム、例えば ntfs-3g のようなもので Linux から NTFS ファイルシステムでアクセスすると、 Windows 側からアクセスできないファイル名であってもファイルシステムにアクセスできてしまいます。


NTFS では使えない文字がある:の嘘。Windows と Linux のデュアルブート



実際に、Windows の"共有"フォルダmacOS 側からマウントして、テキストターミナルから "C:" というイケナイディレクトリは作れてしまいます。もっともエクスプローラ側から見ると "C・" と言う、読み込めないフォルダ名として存在しています。フォルダごとコピー・ペーストできました。コピーすると "C:コピー"になります。mac のファインダからは "C:/" に見えまが、mac OS 上では C: と言うディレクトリとして存在します。

別に NTFS 上では : 付きファイル名は作れないのではなく、エクスプローラや API が許していないのです。他のシステムからアクセスが許可されていれば、 NTFS であっても、「使えない文字記号ファイル」は作れてしまいます。おそらく WIndows ファイルサーバの管理者が macOSなどの別なシステムにアクセスを許可した時に、無邪気なエンドユーザがやらかしてくれる悪夢かもしれません。


ファイル名の問題:開けない共有のフォルダ、ファイル_a0056607_10181302.png
※ 怖くてWindows7 のテスト環境でやりましたが... ちょっと遊んでみたらなんだかすごいことになっています。

ファイル名の問題:開けない共有のフォルダ、ファイル_a0056607_10310791.png
※ Windows サーバ管理者が見る悪夢





古い Windows では、エクスプローラで共有ファイルサーバの中を検索するだけで、この様な Windows では”使っては"イケナイファイル名”を見つけてしまうと、ブルースクリーンに陥るケースが良くありました。

検索途中でいきなりブルースクリーンですから、何が原因かわからない。

これが Windows クライアントならまだ、よくある意味不明なトラブルで済みますが、ファイルサーバの GUI からエクスプローラを使うと、サーバ自体が落ちるわけで、深刻なトラブルに陥ります。バックアップ途中でブルースクリーンですから、当然バックアップソフトウェアの不具合だと疑ってしまいますよね。

今の Windows11 では何とか回避していますが、ファイルシステム上の名前とエクスプローラ上での表記が違ってしまいます

基本的には Windows 上では、: や | と言った文字は使えませんが、最近の WIndows では、これを誤魔化してアクセスできる様に回避しています。繰り返しますが、 一般に言われるように "Windowsで使えない文字" は NTFS の仕様ではなく Windows のエクスプローラやプログラム API の仕様であり、ファイルシステムとしては許可されてしまいます。

ファイル名の問題:開けない共有のフォルダ、ファイル_a0056607_10443352.png
そんなことはない、作れば作れてしまうのです。


例えば、UNIX 系システムが吐き出したログやらエクスポートしたデータなどでは、 ":" が入っているケースなんかは普通でしょう。これらが CIFS マウントされた Windows サーバに保管されるように仕掛けられたら、サーバの中には意味不明なファイルが沢山作られてしまうわけです。

SUSE Linux から Samba/Windows 共有をマウントしてバックアップ
https://islandcnt.exblog.jp/241208919/





5C文字など機種依存文字、特殊文字

「ソ申票」などのいわゆる「5C文字」も良く問題になりました。これらの文字は、Shift JIS の中に、バックスラッシュ(¥)の5Cコードが含まれるため発生する問題です。

また、などの丸数字や、"I" , "II" などのローマ数字、"〒"マークや "(株)" などの機種依存の特殊記号もファイル共有ではよく問題になりました。最近は日本語コードがほとんど UTF で処理されるためほとんど問題になりませんが、やはりファイル共有では思わぬ問題を起こすため、使うべきではないもの、という迷信に近いものになります。

以前は顔文字なども問題になりましたが、顔文字・絵文字もグローバル標準になってきたせいか、問題にはなりませんが、そもそもファイル名に絵文字を使う文化がどうなのか? という所は注意したいですね。




長すぎるファイル名、フォルダ名

一般的には Windows 系 OS のファイルの長さ制限は、260 "文字"とされていますが、グループポリシーで制限されているだけで、この制限を解除すると、最大 32767 文字が利用できます。これがバイト数なのか、Unicode での「文字数」なのかは残念ながらよくわかりません。

ファイル名とパスの最大長の色々



実際、Linux 上では 4096 バイトの最大パスと、255 バイトのファイル名が使えるので、Linux 側から ”長いディレクトリパス¥長いファイル名.txt” を作ってみると、Windows11 のエクスプローラ側から、フォルダを開いて、別なフォルダにコピーはできました。しかし長いパス上のファイルをアプリケーションから直接開いたり、フォルダを作ったりはできません。

フォルダが開けるのは”偉い”と思いますが、そこにファイルがあるのに開けないというのは気味が悪いものです。

mac の場合、1024 文字以内のパスの長さであればファイルも開けるし、フォルダの作成もできます。ファインダで長いフォルダを作った場合、”これ以上の長さは勘弁してくれ”とファインダ側が音を上げました。

ファイル名の問題:開けない共有のフォルダ、ファイル_a0056607_11562124.png



ここで分かるのは、 Linux > mac > Windows の順で、最大のフォルダの長さが決まるので、 Linux はもちろん、mac でも Samba や NAS の深いところにディレクトリが掘れて、ファイルが保管できるのですが、そこまでは Windows ではアクセスできない、という事になります。

ファイル名が長くて嬉しい事なんて何もありません。サーバ管理者としては長いファイル名は迷惑です。

退職した奴が、自分のホームディレクトリに深くてリードオンリーのフォルダを深く作って退職したのがいましたが、殺したろか、って思ったものです。






アクセスできないファイルが NAS などの共有ファイルサーバにある場合の対策

まず、長すぎるファイル名、フォルダ名によってアクセスできないファイルがある場合、問題が発生しているフォルダ名より上の階層で短いファイル名、フォルダ名にリネームできるかどうか試してみましょう。

¥長ぁーぃフォルダ名だ長ぁーぃフォルダ名長ぁーぃフォルダ名¥目的のファイル


¥短いフォルダ名¥目的のファイル

に変えてみます。



もう一つ、階層の深さで問題になっている場合、

¥dir1¥dir2¥dir3¥flename.txt

の dir3 を最上位のディレクトリに移動してみる、という事です。




ファイル名の許容度が高いシステムで名前を変更する

Linux > mac > Windows と順に、ファイル名の許容度が下がります。大抵、ファイル名が問題でアクセスできないのは Windows のエクスプローラです。でも mac でアクセス出来るのであれば、mac のファインダなら問題ないでしょうし、ファインダでダメでも Linux + Samba ならファイルマネージャ nautilus や、ssh でログインしてファイルの操作ができるかどうか試してみます。

NAS の場合でも SSH で接続できるなら、面倒かもしれませんが、コンソールから名前を変えたり、ディレクトリを移動させたりができるかを確かめます。

ファイル名の問題:開けない共有のフォルダ、ファイル_a0056607_10503171.png
どうやって消せって言うんだ?


ファイル名の問題:開けない共有のフォルダ、ファイル_a0056607_11563765.png


ファイル名の変更もできない場合

たまに、全くファイル名の変更ができない、全くファイルを開くことができないファイルというのが偶に存在します。消すこともできないゾンビです。もうこの様なファイルは、そもそも開けず放置されているため、ほとんどのケースでは不要なファイルがゾンビ化して残っているケースが多いでしょう。

しかし、消せないファイルというのは邪魔ですよね。特にバックアップなどの操作で支障があったり、サーバの移行の際に邪魔になります。

このようにゾンビ化したファイルは、もうフォーマットする以外にファイルを削除する方法がありません。ほとんど不要なファイルなので、ルートディレクトリに近い階層に

¥zombie.deleteme

移動させてしまいます。バックアップやサーバの移行などの際は、このディレクトリを除外して操作したり、フォルダごとリードオンリーや不可視ディレクトリにしてしまうのが良いでしょう。





# by islandcenter | 2023-05-06 12:53 | プライベートクラウド | Comments(0)

DNS と DHCP はペアになって説明されることが多いネットワーク管理の基礎になる機能を持っています。

DNS はインターネットにある Google だとか iCloud などの「場所」を名前から 固有の IP アドレスに変換する「名前解決」の機能を提供します。

DHCP は、LAN に繋がったコンピュータが起動すると、そのコンピュータに LAN 内部の固有の IP アドレスを割り当て、そのついでに、インターネットの出口にあるルータや、LAN 内にある住所録である DNS サーバはこれを使えという指示を出します。

ネットワークに繋がったスマートフォンや PC は DHCP に与えられた IP で DHCP で指示された最寄りの DNS サーバを通してインターネットや LAN にあるサーバに接続して情報のやり取りを行います。




LAN 内の DNS/DHCP が必要な理由

DNS はインターネットに繋がる Google や Apple のネットワークの住所を記憶しておくだけではなく、LAN 内部にある NAS などのファイルサーバー、社内データベースなどの在り処を記述するためにも、LAN 内部にも DNS サーバが必要な場合があります。この機能は、一般的に市販されている WI-FI ルータでは機能できません。高機能なルータを覗いて、ほとんどの市販ルータにはインターネットの情報を記憶する DNS/DHCP の機能はあっても、構内 LAN の情報をカスタマイズして管理する機能がありません。

一般的な家庭用、 SOHO 向けのルータには DNS/DHCP の機能は付いていますが、最低限の機能しか実装されていません。ネットワークの全てのデバイスがインターネットに接続することが目的ならばそれでも構いませんが、プライベートネットワークにはプリンタ、NASなどの機器があり、これらを共有するためには、それぞれの機器の IP アドレスを知っていなければなりません。プリンタが増えたり、NAS を更新したり、ファイルサーバの機能が変わったりする都度、全ての設定を変更するのは面倒です。

真っ先に、構内ネットワーク (LAN) を構築する場合に必要になるのが DNS/DHCP です。

ここでは、初めて Linux で DNS/DHCP を立ち上げる場合、どんな作業が必要なのかを openSUSE Leap 15 を使った場合の流れを説明します。




openSUSE Leap 15 で DNS/DHCP

ディスク: openSUSE Leap 15 は、ファイルシステムに BtrFS を利用するため 30 Gb 以上のディスクスペースが必要です
メモリ:1Gb 程度のメモリ、より少なくても動きますが、諸般の事情でこれくらい用意すれば十分でしょう

openSUSE Leap15 のインストール

ここでは具体的なインストール手順は説明しません。別記事に Leap 15.4 のインストール方法をまとめていますので、そちらを御覧ください。

openSUSE Leap 15.4 インストールとファーストインプレッション


動画

ダウンロード:2023/4 現在 Leap15.5 Beta がリリースされています。



openSUSE Leap のインストールのポイントとしては

・ネットワークの設定方法は Wicked を選んで固定 IP を設定します
・/var に設定ファイルが作られるため、必須ではないけれど /var は別なパーティションにすると良い
・root と初回登録するユーザはパスワードを共有させない

といった所です。

なお、上の記事や動画は英語でインストールしていますが、日本語でインストールしても構いません。ただしデスクトップでは日本語必須ですが、サーバの場合、日本語のメッセージだと問題解決の事例が見つからない事が多いので英語にしています。好みの問題ですね。



YaST で DNS/DHCP のインストール

openSUSE Leap をはじめ、SUSE Linux Enterprise など SUSE 系のパッケージのインストールなどのシステム管理は YaST (Yet another Setup Tool) に統合されています。まず SUSE 系のシステム管理の 90 % 以上は、この YaST を通じて行います。YaST は必要な文法やパラメータの記述内容を一応チェックしてくれるため、他のディストリビューションの様に vi で編集して、綴り間違えや文法(コロンなのかセミコロンなのかの様な軽微な間違え)に初心者が悩まされることがないので、基本的に YaST を使え、が openSUSE/SLE の設定の基本です。

openSUSE Leap のバージョンやインストールの手順の違いにも依りますが、Activities に YaST アイコンがインストールされていません。root でログインしたら、初回は Activities > Utilities > Terminal (テキスト端末)を開くか、 su で root ログインして

# yast2 &

を実行します。YaST GUI が起動したら、Activities の中のツールバーに YsST アイコンを Add to Favolites すると、アイコンが登録されます。



ネットワークの設定

YaST2 > System > Network Settings

はじめての Linux で DNS/DHCP, openSUSE Leap 15(簡単入門)_a0056607_15424806.png

General Network Settings : Wicked Service である事(トグルボタンで設定します)

はじめての Linux で DNS/DHCP, openSUSE Leap 15(簡単入門)_a0056607_15431058.png


Overview : 固定 IP を設定
Hostname/DNS : ホスト名、上位 DNS サーバを設定
Routing : デフォルトゲートウェイを設定

YaST で設定された DNS サーバの情報は /etc/resolv.conf に記述されます。





DNS サーバーのインストール

Software > Software Management

View > Pattern より DNS and DHCP Servers をチェックしてインストールします。

ここで、YaST2 の DNS と DHCP の拡張機能が追加されます。

はじめての Linux で DNS/DHCP, openSUSE Leap 15(簡単入門)_a0056607_15433426.png


一旦 YaST をリフレッシュするため、YaST2 を終了してもう一度立ち上げ直します。DNS と DHCP サーバのアイコンが追加されます。

はじめての Linux で DNS/DHCP, openSUSE Leap 15(簡単入門)_a0056607_15435022.png


DNS Server の設定

YaST2 > Network Services > DNS Server

もしインストールされていない場合、 bind パッケージが自動的にインストールされます。

Forword の設定 > ここに自分自身のアドレスをAdd 設定します

> Next

はじめての Linux で DNS/DHCP, openSUSE Leap 15(簡単入門)_a0056607_15440564.png

ゾーン情報の設定

この DNS サーバが管理するゾーンを Add ボタンで追加

※ この内容は /var/lib/named/master/"zone名" ファイルに設定されます

はじめての Linux で DNS/DHCP, openSUSE Leap 15(簡単入門)_a0056607_15442381.png


Edit ボタンで、ゾーン情報を編集します

※ ゾーンは、この DNS が責任をもって管理するネットワークの事です。ここでは単にドメインと考えてみてもいいでしょう。local.mycompany.com は、mycompany.com のサブドメインですね。www.mycompany.com などはより上位の DNS サーバが責任を持って管理し、NAS や Printer などは、ローカルネットワークの中だけ有効で、LAN 管理者が責任を持って管理します。一般的には local.mycompany.com の様に、唯一のユニークな名前を使うのが良いでしょう。社内向けに適当に分かりやすい名前を付けても構いませんが、例えば、 private.mycompany.intra の様に、右端のトップレベルドメイン gTLD に、com とか jp などとは違う、架空で、あり得ない名前 gTLD(オレオレドメイン)を付けても良いのですが、もし本当に mycompany.intra などがあると問題が起こります。この辺の話は別な記事でまとめました。


コンピュータ名(ホスト)の命名規則? 15文字の63バイト制限、ホスト名の命名権利はだれの権利?責任?(パソコン名)

オレオレドメインがもたらす当たり前な問題

新gTLD大量出現で「名前衝突」しそうなドメイン名とは




よく古い DNS や Microsoft AD のマニュアル本にあるような .local というドメイン名は mDNS という機能で使われるため、使ってはいけません。iPhone や mac のみならず、様々なデバイスで問題がでる可能性があります。


NS レコードの指定

ここにこのゾーンを管理するこの DNS サーバの自分自身の FQDN を追加、localhost は削除

はじめての Linux で DNS/DHCP, openSUSE Leap 15(簡単入門)_a0056607_15451719.png

MX レコードの指定、メールサーバーは使わないのでここでは空欄

はじめての Linux で DNS/DHCP, openSUSE Leap 15(簡単入門)_a0056607_15455652.png

レコードキー Type を追加します。

A レコード: ホスト名と IPv4 アドレスを関係づけるレコードです。Hostname Key に対して ipv4 アドレスのValue を設定します。

CNAME レコード : A レコードの別名です。下の例では samba サーバに NTP サーバの機能を割り当てています。

MX レコード : このゾーンで使うメールサーバの記述です。ここでは使っていません。

NS レコード : このゾーン情報の責任を持つDNS サーバを記述します。つまりこのサーバ。
はじめての Linux で DNS/DHCP, openSUSE Leap 15(簡単入門)_a0056607_15461242.png




SOA の編集

SOA は管理情報。ここに記述されるのは、このゾーンの管理に必要な更新期間であるとか、シリアル番号などです。 openSUSE Leap/SLE では、YaST によりシリアル番号は自動的に"今日の日付+xx" がインクリメントして付け加えられます。この情報は、セカンダリ DNS に対して有効に機能します。 

はじめての Linux で DNS/DHCP, openSUSE Leap 15(簡単入門)_a0056607_15463020.png

ゾーンファイルはこの様に /var/lib/named/master ディレクトリに作成されます。

localhost:/var/lib/named/master # cat ./local.mycompany.com
$TTL 2d
@IN SOAlocalhost.root.localhost. (
2023041604; serial
3h; refresh
1h; retry
1w; expiry
1d ); minimum
local.mycompany.com.IN NSdns01.local.mycompany.com.
router IN A192.168.1.1
samba IN A192.168.1.240
nas01 IN A192.168.1.237
ntp01I N CNAMEsamba
printer IN A192.168.1.7
dns01 IN A192.168.1.101
localhost:/var/lib/named/master #
このゾーンファイルは、DNS に関して不慣れな人にはかなり厳しいものがあります。 SUSE の YaST では、文法を知らなくても何とかなってしまいます。DNS の教科書を読んで、「大体分かるんだけど....」 いつも挫折するのはこのゾーンファイルの編集です。


起動方法の指定

ファイアウォールのポートを解放して、設定変更後に restart 、起動時の Start on boot する様に設定を変更します。

はじめての Linux で DNS/DHCP, openSUSE Leap 15(簡単入門)_a0056607_15464890.png

openSUSE Leap 15/SLE では、YaST で編集が終わると自動的に named サービスがリスタートされます。システム起動と同時に起動する設定も YaST の中で完結します。コマンドで行うには、テキストターミナルを開いて次のコマンドを実行します。

# systemctl enable named
# systemctl start named


稼働状態は YaST > System > Service Manager で確認することが出来ます。Stop/Start した時にエラーがないことを、Show Log ボタンで確認します。

はじめての Linux で DNS/DHCP, openSUSE Leap 15(簡単入門)_a0056607_15470548.png

手動でコマンドラインで確認するには systemctl コマンドを使います。


localhost:~ # systemctl restart named
localhost:~ # systemctl status named
\u25cf named.service - Berkeley Internet Name Domain (DNS)
Loaded: loaded (/usr/lib/systemd/system/named.service; enabled; vendor preset: disabled)
Active: active (running) since Sun 2023-04-16 16:36:40 JST; 9s ago
Process: 8858 ExecStartPre=/usr/lib/bind/named.prep (code=exited, status=0/SUCCESS)
Process: 8864 ExecStart=/usr/sbin/named -u named $NAMED_ARGS (code=exited, status=0/SUCCESS)
Main PID: 8865 (named)
Tasks: 10 (limit: 4669)
CGroup: /system.slice/named.service
\u2514\u2500 8865 /usr/sbin/named -u named
Apr 16 16:36:40 localhost named[8865]: network unreachable resolving './NS/IN': 2001:500:1::53#53
Apr 16 16:36:40 localhost named[8865]: network unreachable resolving './NS/IN': 2001:503:ba3e::2:30#53
Apr 16 16:36:40 localhost named[8865]: network unreachable resolving './NS/IN': 2001:7fd::1#53
Apr 16 16:36:40 localhost named[8865]: network unreachable resolving './NS/IN': 2001:500:2d::d#53
Apr 16 16:36:40 localhost named[8865]: network unreachable resolving './NS/IN': 2001:dc3::35#53
Apr 16 16:36:40 localhost named[8865]: network unreachable resolving './NS/IN': 2001:503:c27::2:30#53
Apr 16 16:36:40 localhost named[8865]: network unreachable resolving './NS/IN': 2001:500:2f::f#53
Apr 16 16:36:40 localhost named[8865]: network unreachable resolving './NS/IN': 2001:7fe::53#53
Apr 16 16:36:40 localhost named[8865]: managed-keys-zone: Key 20326 for zone . is now trusted (acceptance timer co>
Apr 16 16:36:40 localhost named[8865]: resolver priming query complete
localhost:~ #


DNS の動作確認

外部のインターネットサイトに ping して応答を調べます。
内部の local ネットワークのホストに ping して応答を調べます。

localhost:~ # ping dns01.local.mycompany.com
PING dns01.local.mycompany.com (192.168.1.101) 56(84) bytes of data.
64 bytes from 192.168.1.101 (192.168.1.101): icmp_seq=1 ttl=64 time=0.135 ms

localhost:~ # ping google.com
PING google.com (142.250.198.14) 56(84) bytes of data.
64 bytes from nrt12s58-in-f14.1e100.net (142.250.198.14): icmp_seq=1 ttl=111 time=31.6 ms
64 bytes from nrt12s58-in-f14.1e100.net (142.250.198.14): icmp_seq=2 ttl=111 time=25.9 ms

実際にDNS が機能して、ホスト名を保持しているかは dig コマンドで調べます。

# dig @DNS-SERVER hostname.FQDN

例 ) dig @localhost printer.local.mycompany.com

Answer Section の部分のホスト名が ; (セミコロン)でコメントアウトされていないか

localhost:~ # dig @localhost samba.local.mycompany.com

; <<>> DiG 9.16.38 <<>> @localhost samba.local.mycompany.com
; (2 servers found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 2522
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
; COOKIE: 25d1d2efb8ba118401000000643ba548c9fe1e388918c75a (good)
;; QUESTION SECTION:
;samba.local.mycompany.com.INA

;; ANSWER SECTION:
samba.local.mycompany.com. 172800 INA192.168.1.240

;; Query time: 0 msec
;; SERVER: ::1#53(::1)
;; WHEN: Sun Apr 16 16:35:36 JST 2023
;; MSG SIZE rcvd: 98

localhost:~ #


DNS キャッシュをダンプし、/var/log/named/dump.db に書き出された dns キャッシュの中に、ホスト名や外部のインターネットホストが記録されているかを確認します。

localhost:~ # rndc dumpdb
localhost:~ # ls /var/log/named/dump.db
/var/log/named/dump.db
localhost:~ # grep google /var/log/named/dump.db
google.com.172514NSns2.google.com.
172514NSns1.google.com.
172514NSns3.google.com.
172514NSns4.google.com.
ns1.google.com.172514A216.239.32.10
ns2.google.com.172514A216.239.34.10
ns3.google.com.172514A216.239.36.10
ns4.google.com.172514A216.239.38.10
localhost:~ #





DHCPのインストール

YaST2 > Network Services > DHCP サーバをクリックして、ウィザードに従ってインストールします。

ネットワークインターフェースを選んで、ファイアウォールを開くをチェックして Next


はじめての Linux で DNS/DHCP, openSUSE Leap 15(簡単入門)_a0056607_15472822.png
DHCP から配布する、LAN 内で使う DNS サーバ、デフォルトゲートウェイ、NTP サーバなどの値をセットします。

はじめての Linux で DNS/DHCP, openSUSE Leap 15(簡単入門)_a0056607_15475025.png
リースする IP アドレス範囲です。DHCP サーバはこの範囲で要求があったデバイスに IP アドレスを配布します。

はじめての Linux で DNS/DHCP, openSUSE Leap 15(簡単入門)_a0056607_15480272.png
DHCP サーバがブート時に起動する様、また変更があった時に自動的に再起動するように設定します。

はじめての Linux で DNS/DHCP, openSUSE Leap 15(簡単入門)_a0056607_15482342.png

考えてみてください。こんな面倒なフォーマットを誤りなく手書きできますか? YaST はやっぱり便利です。

localhost:/etc # cat dhcpd.conf
option domain-name "local.mycompany.com";
option domain-name-servers 192.168.1.101, 192.168.1.1;
option routers 192.168.1.1;
ddns-update-style none;
default-lease-time 14400;
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.110 192.168.1.199;
default-lease-time 14400;
max-lease-time 172800;
}
localhost:/etc #


リースの確認

さて、それでは DHCP サーバが動くかどうかの確認をしましょう。まず、今まで使っていた 無線ルータなどの DHCP の機能を OFF にしてから、 DHCP が機能しているかどうか、確認しましょう。

Windows 端末の場合、 ipconfig コマンドで、IP の再取得をして、 DHCP が機能しているかどうか確認します。

C> ipconfig /renew
C:> ipconfig /all

デバイスのリースの情報は /var/lib/dhcp//db/dhcp.leases ファイルで確認できます。

dns2:/var/lib/dhcp/db # cat dhcpd.leases
# The format of this file is documented in the dhcpd.leases(5) manual page.
# This lease file was written by isc-dhcp-4.3.6-P1
# authoring-byte-order entry is generated, DO NOT DELETE
authoring-byte-order little-endian;
lease 192.168.1.39 {
starts 3 2023/04/12 16:16:31;
ends 3 2023/04/12 16:18:31;
cltt 3 2023/04/12 16:16:31;
binding state free;
hardware ethernet f9:af:77:26:66:38;
uid "\001\371\257w&f8";
}





DHCP サーバで IP の固定

予め、ネットワークカードの mac アドレスが分かっている場合、 mac アドレス(特定のデバイス)に指定した IP アドレスを割り当てる事ができます。これと未知のデバイスには IP を割り当てない設定を併用すれば、簡単なセキュリティ対策になります。

はじめての Linux で DNS/DHCP, openSUSE Leap 15(簡単入門)_a0056607_15493002.png

他のディストリビューションでは、直接 /etc/dhcpd.conf を書き換えなければならないので大変です。
localhost:/etc # cat dhcpd.conf
option domain-name "local.mycompany.com";
option domain-name-servers 192.168.1.101, 192.168.1.1;
option routers 192.168.1.1;
ddns-update-style none;
default-lease-time 14400;
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.110 192.168.1.199;
default-lease-time 14400;
max-lease-time 172800;
host mackbook001 {
fixed-address 192.168.1.112;
hardware ethernet 28:68:0c:81:f3:89;
}
}
localhost:/etc #




未知のデバイス(mac アドレス)に ip を割り当てない

DHCP で未知のデバイスに IP を割り当てたくない場合、/etc/dhcpd/dhcpd.conf に許可/拒否の設定を記述します。未知のデバイスに DHCP が割り当てないだけで、デバイスを使う人が自分でで固定 IP を振れば通信はできるてしまいますが。簡単に、勝手に機器を持ち込んで使わせたくない場合などでは便利です。

はじめての Linux で DNS/DHCP, openSUSE Leap 15(簡単入門)_a0056607_15494817.png


# 許可するMACアドレスのリスト
allow known-clients;

# 未知のMACアドレスのリースを拒否する
deny unknown-clients;

YaST2 DHCP Server の Global Options の中に、追加の記述を設定します。


この情報は dhcpd.conf に記述されます。

localhost:/etc # cat dhcpd.conf
option domain-name "local.mycompany.com";
option domain-name-servers 192.168.1.101, 192.168.1.1;
option routers 192.168.1.1;
ddns-update-style none;
default-lease-time 14400;
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.110 192.168.1.199;
default-lease-time 14400;
max-lease-time 172800;
deny unknown-clients;;
host mackbook001 {
fixed-address 192.168.1.112;
hardware ethernet 28:68:0c:81:f3:89;
}
}
host {
deny unknown-clients;
}
localhost:/etc #


まとめ

ここでは初めて Linux で社内向け DNS/DHCP サーバを立ち上げる場合、openSUSE Leap15 を使った場合、どんな手順なのかをまとめました。初めて DNS/DHCP をセットアップしようとすると、どうしても「DNSって難しそう」と思ってしまいます。

openSUSE Leap/SUSE Linux Enterprise の場合、YaST という GUI ツールがあるので、面倒なゾーンファイルの編集から、 DNS の再起動までほとんどの操作が GUI 上でできてしまうことを理解していただけたでしょうか。

私も、DNS についてはあまり詳しくないのがバレそうですが、SUSE Linux なら何とかなります。やっぱりゾーンファイルの編集などを手動でやっていると、文法違いや、簡単な綴りミスなどでハマってしまいます。

もしこの記事が役に立って「やってみようか」と思っていただけると幸いです。





# by islandcenter | 2023-04-19 10:52 | SUSE | Comments(0)


ChatGPTがバズって数ヶ月。Web の世界がオワコン化している様に見えます。明らかに、このブログを含む Web やブログ記事のアクセス数が減少しているのですね。 Web の記事はほとんど90%以上が検索エンジンからの流入であり、 Web のアクセス数が減少するということは、大元の検索エンジンの利用が大幅に減少している、ということなのです。

つまり、 ChatGPT によって一番危機感があるのが Google です。

ChatGPT 登場以来 Google は稼げない。集客目的のサイトも稼げない。

私達の生活は、Google に支えられ、と言うと極端ですが、このブログのアクセスが減り、広告収入も減ると言うことは、明らかに第一に利益を得ている Google の収益も下がっているはずです。



ChatGPT は一般化する

私たちが検索エンジンを使いたいと思うのは、答えを知りたいという目的があるからです。

で、ブラウザを立ち上げたら、アドレスバーにキーワードを入れて、検索エンジンで検索。いくつか該当のページを選んで読む。こう言った普段我々がやっている習慣というものが、ChatGPT によって見事に粉砕されるわけです。AI の凡庸で一般的な回答がそこにある。

ここで注意すべきことは、私たちは、既にいくつかの仮定を予想して、その期待に従って回答が得られるサイトの記述を確認して答えとして納得する、というパターンで答えを得ているのではないかということなのです。

例えば自分が普段処方されている薬の副作用をで便秘しているんじゃないかと思えば、「薬+便秘」で検索し、薬に関する専門サイトか副作用に関しての専門医院のサイトに巡り合う。副作用について「便秘」と書いてあれば「やっぱりそうか」と納得する。

で、Web サイトに書かれている記事が真実かどうかは私たちの判断に任せられる訳ですね。

しかし、サイトの運営者の考えは、時に一方的で独善的であることもしばしばです。私の様に「ウソばっかり」で独善的、先鋭的な極論、情報を垂れ流していることもしばしばあるでしょう。読者はそのわざとらしさを面白いと受け取るか、嫌いと受け取るかは自由です。

ChatGPT が「便利」と思えるところは、こうしたサイトの独善性や、読者の読み方、調べる意図、と言ったものを一般化した平滑で無難な意見にまとめてくれるところです。

ChatGPt の自然な反応が素晴らしいと言われますが、回答の内容の平準さ、普通さ、平均点を狙った無難さに薄気味悪さも感じてしまうのは私だけなのでしょうか。政府が国会答弁に使いたいと思うわけです。

ChatGPT活用、西村経産相「考えたい」 国会答弁作成を念頭に
https://news.yahoo.co.jp/articles/facbf00042857fe946b66230f68619550a08febb

霞ヶ関の御役人が ChatGPT の様な、いかにも東大出が考えそうな平板で平均点以上の無難な答えをしていたら世の中つまらない。まぁ創造性のない無駄な高級官僚をクビにできるならいいアイディアですね。何しろC言語で素数を求めるプログラムを書けって聞いたら実にシンプルでいいコードを返してくれます。余りにも平凡な平均点以上の回答が返ってきます。

ChatGPTでWebのオワコン、変化する検索_a0056607_09400722.jpg

よくある在宅ジョブで「1000語のブログ記事書いて一記事100円」なんていうようなクラウドソーシングの作業に ChatGPT は向いているでしょう。そもそもそう言った SEO 対策自体を ChatGPT は粉砕するでしょう。


ChatGPTを用いて、記事を大量生産してくれる方を募集します

ChatGPTでWebのオワコン、変化する検索_a0056607_09284209.jpg
ChatGPT などの AI を使った文書作成は、均質で安定した無難な文章を作り上げてくれます。しかし、その様な平易で無難な文章のニーズは「尺稼ぎ」の需要はあるにせよ、文書としての価値は上がるのかという疑問があります。みんなが皆、 ChatGPT でプロっぽい文章を書いたところで、あまりにもつまらないユニークさがない文書にネットワークが飽和した時、似た様な文書は排除され、注目を浴びる価値がなくなります。当然広告費用が稼げる検索ランキングも下ります。

例えばガジェット系の「xxという製品」について100人の皆で AI を使った文章で文書を書いたらどこに「てにをは」以外のどこに差別化できる要因が生まれるのでしょう。確かに ChatGPT は、同じ質問でも違った表現で回答を返してくれるのですが、Web上に満ち溢れる、そんな記事につける広告の価値は果たして高いと言えるのでしょうか。

この様な平易で無難な AI による文書に満ち溢れた世界は、世の中をつまらなくして Web の世界を駄文で満ち溢れた世界に変えるでしょう。AI がダメとは言わないけれど、こんな似た様な文章に溢れた世界は面白くない。おそらく検索エンジン側も AI 文書を検索結果から排除する機能を持つことは想像できることです。


誰が得をするのか、マネタイズの方法はあるのか

問題は、検索エンジン同様に、そこにプラットフォーマーの意図がどの様にアルゴリズムに組み込まれるかなのです。Google だって商売だから、広告収入で成り立つ以上、 Adsence はじめ自社の収入に密接するページを開いてほしい。試しにこの記事を DuckDuckGo で検索するとカスリもしません。

ChatGPT の技術より、どの様にマネタイズするかのビジネスモデルが気になるわけですね。一体誰が得をするのか。どの様にこの技術をマネタイズするのか。

もし、ChatGPT など AI の影響でWebページ全体のトラフィック、広告主体のネットワークビジネスのスタイルが大きくかわるとしたら、今までブログや広告主体でビジネスをしていた層にソコソコに影響が出るんだろうな、と思うのです。

もう、メタバースなんて、何千光年もの遥か彼方に追いやっちゃっています。

ChatGPTでWebのオワコン、変化する検索_a0056607_09324162.jpg

ChatGPT はダメなんだ、禁止だ、と騒いでもその次があるでしょうから、もっと前向きに今後 AI の機能がブラウザの検索バーに備わったら、そこからどうやってマネタイズすれば良いかを考えた方がいいでしょう。Google 始め、従来の Web2.0 的、GAFA のビジネスモデルである Web 広告は AI によって崩壊し始めるでしょうか。ChatGPT の様な AI 頼みの文書量産で利益を求めようとしても、長生きできないでしょう。文書の価値が低すぎる。ChatGPT。
秋山真之を生み出さない。

ChatGPTでWebのオワコン、変化する検索_a0056607_21471147.jpg


AI による文書作成は、一つの結果に過ぎません。無難な尺稼ぎの駄文の大量生産には向いていますが、より高度で魅力に満ち溢れた内容の文章を作るのはやっぱり人間だろうし、そう言った文書を検索上位に上げるアルゴリズムが検索エンジンに求められる付加価値なのかもしれません。平易で無難な内容に価値を求める人と、少し尖った内容の文書に価値を求める人の少なくとも二種類以上の嗜好があるのです。






# by islandcenter | 2023-04-13 16:30 | 雑文 | Comments(0)