Tips&Hints
以下の図が我が家のネットワーク構成です。クラスCでネットマスク255.255.255.128を使用しています。192.168.1.2-16をDHCP用に割り当て、192.168.1.30以降を固定IPに割り当てています。前のLinuxマシーンが192.168.1.30でした。(現在休憩中)
インターネットに対してはルータ(NTT-MEのBA800Pro)を通して繋がっています。NTT西日本Bフレッツ ファミリー100でASAHI-NETをプロバイダとして使用しています。回線スピード(下り
20-30Mbps、上り 10-15Mbps程度です)
![]() |
IPアドレスの選び方ですが、通常ルータかサーバでインターネットとイントラネットを分離しているはずですのでプライベートアドレスを使用するのが普通です。プライベートアドレスとは、直接インターネットに繋がっていない環境(私有地の敷地内のようなものです)で自由に使えるアドレスです。プライベートアドレスはクラスA、B、Cとありますが、せいぜい数台しかネットワークにつながないのであればクラスCで問題ありません。(クラスCは通常254台まで接続できます。)
クラスCのアドレスの場合192.168.X.YのXを自由に決められますが、0と255は使用できないので私の場合は192.168.1.Yとして使用しています。(ルータなどの初期値も192.168.1.1が多いのでこの値が便利です。)
次にネットマスクを決めます。クラスCの場合最低24ビットでこの場合、最大254台接続できます。しかしそんなに必要ないので私の場合はネットマスクを25ビットとしています。(結果として接続台数は126台に制限されます。可能なら126台つないでみたい。でもそんなに買えないぞ) 最終的に我が家のIP
addressは192.168.1.0/255.255.255.128となります。(別の表記では192.168.1.0/25とも記述されます。)使用できるのは192.168.1.0と129.168.1.127を除いて192.168.1.1から192.168.1.126までの126個分です。
ネットマスク25ビットとは255.255.255.128のをバイナリ(1と0)で表記して全ての1の数を数えたものです。IPv4は全部で32ビットですので(8ビットごとに区切られている)、8x3+1=25となります。
126個の内、192.168.1.1をルータに割り振り、192.168.1.2から192.168.1.16までをルータが管理するDHCPに割り振りました。固定用として192.168.1.30以降を使用するようにしています。
▲Top
最終的にインターネットから実際、ホームページが見えるのか・メールが届くかどうか心配な場合があります。自宅(ルータ内のイントラネット)からはアクセスできるのだけど。という場合、修正するたびに何らかの方法でインターネットに入りテストするのは大変ですね。私の場合以下の方法で簡単な試験をします。勿論これだけでは完璧ではありませんが、いくつかの問題は解決できます。
これにはルータの設定やApache/FTP/sendmail等のサーバがすべて正しく動いていないといけません。例えばWebの場合はポート:80が開放されてアクセスでき、しかもそれに対してレスポンスが必要です。便利なツールはddo.jpというダイナミックDNSをサポートするプロバイダにあります。私はホームサーバを立ち上げるためにいくつかダイナミックDNSサーバのサイトを使っています。ddo.jpもその一つです。その他に(英語ですが)No-IPも使っています。日本語のサポートが良い方はddo.jpをお勧めします。
《サーバプロファイル》という機能を使うとインターネットからのアクセスをチェックします。以下に示すように(詳細を見る場合は画像をクリックしてください)、いくつかのポートをスキャンしてくれます。私の場合はWeb(80)とメール(25)を空けているように以下のようになりました。(個人的な情報は消してあります。)
![]() |
▲Top
知っておくと便利なのものとして、ファイル(複数のファイル・ディレクトリを含む)をある場所から別の場所へコピーする方法です。単純にコピーすると日付やオーナ・グループ、ファイルの属性(wrx)が変わってしまいます。今回旧マシーンから新マシーンへのデータのコピーなどに使いました。
古いマシーンのコピーが必要なディレクトリーをNFSでexportします。これを新しいマシーンでNFS mountすると新しいマシーン内で両方のファイル・ディレクトリーが見えます。また、rootで作業していてもマウントされたディレクトリーや読み出し専用にすることができ、間違って消してしまう心配もありません。
tarコマンドを上手に使うと一行でコピーがすんでしまいます。コピーしたいディレクトリーへ行き、次のように打ち込みます。それ完了です。(通常ユーザでの実行も可能ですが、自分がアクセスできないファイルが含まれる場合はroot権限で実行した方が良い場合もあります。)
| # tar cvf - <copy元> | (cd <コピー先のdirectory>; tar xvf -) |
| <例> # cd /old/home/ # tar cvf - * | (cd /home/myname/backup/ ; tar xvf -) |
最初のtar cvfのパラメータを説明します。 cはcreateの意味でarchive fileを作成します。すなわちコピーしたいファイル群をまとめる作業をします。vはverboseのことでコピーしているファイル名をstderrに表示します。fはarchiveファイルの指定ですが、"-"を指定していますのでstdout、すなわちこの場合は"|"(パイプ)に出力するということです。これがUNIXの便利なところです。次のパラメータ"*"はそのディレクトリーにあるファイル全部ということです。
"|"(パイプ)は最初のに作られたarchive file情報をファイルを実際作らずに、次のコマンドに渡す役割をします。次のコマンドは"cd"と"tar"2つを実行するので(
)で括られています。
最初のcdでコピー先へ移動します。移動先のdirectoryを指定します。
最後のtar xvfのパラメータの説明をします。xはextractの意味でarchive fileから個々のfile/directoryを取り出す作業をします。vはverboseで、コピーされたファイル名をstderrに表示します。fはどのarchive
fileを使うかを指定するのですが、"-"を指定しているのでstdin、すなわち"|"から受け取るということを示します。通常パラメータxvfやcvfは-を最初に付けるのですが、tarというコマンドはそういうルールの出来上がる前のコマンドなので、そのような形式も許しています。
コピーが始まるとはじめのtarがコピーしているfile/direcory名を表示し、その後2つ目のtarがコピーされたfile/directory名を表示しますので、同じ名前が2つずつ表示され行きます。
stdin/stdout/stderrや"|"(pipe)とは何ぞい?と思われる方はUNIXの書物を参考にしてみてください。この例は一行で書きましたが、実際には3つのコマンドから成り立っています。以下のように行っても同じことができます。
| # cd /old/home/ # tar cvf /tmp/archive1 * # cd /home/myname/backup/ # tar xvf /tmp/archive1 # rm /tmp/archive1 |
archive1のような暫定的なarchive fileを作らずに行う方法が上記の方法です。確かに複雑なようですが、一度覚えてしまうと結構便利な使い方です。
▲Top
NFSを使うとLinux(UNIXマシーン間でのファイルの共有を簡単に行えます。先ず共有させるマシーン側で次の作業を行います。
先ず共有させるマシーン側で次の作業を行います。
![]() Webminの「起動およびシャットダウン」の表示 |
![]() nfsを選択したところ |
Webminを使い、「起動およびシャットダウン」から《nfs》のサービスを選択する。それを開始する。起動時にいつも開始する場合はそれも選ぶ。
次に何を共有させるか設定します。「NFSエクスポート」へ行きます。そこで「新規エクスポート」の追加を選択します。以下の例は/homeを192.168.1.Xの中で(実際には192.168.1.0から127まで)開放する指定です。マシーンのhost名を直接指定することも可能です。セキュリティへの配慮(どの範囲まで開放するのか、書き込みは許すのか等)は忘れないように。
![]() |
![]() |
あらかじめmountすべきdirectoryを作成します。例えば/another-homeというものを作成します。ここへ共有が許された別マシーンの/homeをmountすることになります。
![]() nfsを選択し「マウントを追加」のボタンを押す |
![]() マウント・ディレクトリ、NFSホスト名、NFSディレクトリを指定する |
マウント・ディレクトリ(例 /another-home)、NFSホスト名(<hostname>のところに正しいhostnameを入れる)、NFSディレクトリ(例 /home)を指定する。こちら側でも読み取り専用でマウントすることもできる。「今すぐマウントする」を選択するとエラーがなければマウントが実行される。cd /another-homeを実行してファイル群が見えればマウントされていることになる。
