サーバについての情報ページ

(2004.10.28 ほぼ更新完了)


号泣自宅サーバ−七転八倒(ちょうひち ろう広島)日記 (別ページ)
このサイトはペンギンとGNU Linuxとライナス・ベネディクト・トーバルズ(Linus Benedict Torvals)氏に最大の敬意をはらうものです。GPLに批准します。
This site architecture based on GNU Linux, MAX-THANKS to L.B.Torvals...thx for all.  :-)
since 2004.4.13(firstWEBapear 1996.7.11)

 
 

●ポイント

自宅サーバではいくつかのポイントがあります。特にYahooBBのADSL(つまり非固定IP)のうえ、DDNS(ダイレクトDNS、つまり非固定 DNS)なんかでやるとかなりキビシイ、ですができます!(2004.10 メールは一部非常に困難な部分があります)

設定、あるいは導入の時に感じた主観的な難易度
WEBサーバ:Apache
★(比較的簡単)
FTPサーバ:proftp
★(比較的簡単)
sFTPをするには対応ソフト必要
Mailサーバ:
postfix と qpopper の組合せ
qmail と ほかの組合せ

★★★(かなり難しい)
★★★★(困難を極める)
DNSサーバ:BIND
不明
VNCサーバ
★★
webmin
★(比較的簡単)
ルータのポート設定

IP、MAC、DHCPの用語が難しい
ssh
★★

様々な解説書がでていますが肝心なところが載っていなかったりします。
例えばポートとかIPとかルータとか。メールサーバのこととか。わたしの買った本ではメールの説明がほとんどなく内部ネットワークでのメールしかできない 説明でし た。ひとりでメールしてもねぇ・・・って感じでした。
その後購入した専門的書籍はY社のことはあいてにしていないのでdynamicDNS,Y!BBの情報は得られませんでした。しかし2冊をあわせると!いい感じです(2005.3)


一般的なポイントとして
・・・  


家の中の環境(LAN)と外向けの環境・・・イントラとインターネットの考え方
まず、ネットワークを構築するにあたって、家庭内(イントラ)と外向け(インターネット)を分けて考えます。
最初に家庭内でのネットワークをしっかりやったほうが近道です。というのは、いきなり家庭内と外との構築を同時進行ですると、どこがおかしくなったのか さっぱりわからなくなるからです。わたしはこ れを理解できずに苦労しました。たとえば内部の環境は全く問題ないのに内部のサーバの設定をいじりまわしたりしてしまいました。 
作戦としてはまず何が何でもサーバ用PCにWEBMINを入れます。またLANカードも認識させてネットワークにつなぎます。そうすることで他の端末から サーバPCを使うことができるようになります。 

●ちょっと予備知識的な用語
IPあどれす とは・・・
よくみかける、ことになる 192.168.1.1 の説明です。

IPアドレスとはコンピュータ1台ずつに割り振る番号のことです。
192.168.1.1
のように4つの数字が「.」で区切られています。それぞれの数字は1-255まであります。

IPアドレスには大きくわけて2つのグループがあります。
1つがローカルIPと呼ばれるもの、もう1つがグローバルIPと呼ばれるものです。


ローカルIPとは:
ローカルIPとは家庭内などでネットワークを構築するときに使うIPアドレスで3つのクラス(グループみたいなもの)があります。代表的なものが 192.168.0.0-192.168.255.255です。

どんな番号をつけてもかまわないのですが、一般的に
192.168.1.1などをローカルIPの最初の番号として使うことが多いです。

192.168.1.255
これはローカルIPの最後になります。ただしこのアドレスはブロードキャストアドレスなどと呼ばれてましてネットワーク全体へ指令を送る特別なアドレスで す。
この間にあるIPアドレスを家庭内LANでは利用します。
例えば
192.168.1.10をWEBサーバ機にしよう、とか。

コラム:IPのおはなし
0.0.0.0 からはじまって 255.255.255.255 まであります。
2進数にすると00000000.00000000.00000000.00000000 - 1111 1111.1111 1111.1111 1111.1111 1111 です。1が8桁あります。これはコンピュータではよく見かける桁数です。
※ちなみに、これをIPバージョン4と呼ぶそうで60億通り(255×255×255×255)くらいしかないので地球の総人口が60億人を超えてるので IPが不足しています。そこで6桁にしたIPバージョン6というのが考案されています。

グローバルIPとは:
さて、ローカルIP以外はすべてグローバルIPです。(たぶん)というよりグローバルIPではすべてのPCにIPが割り振れないから、苦肉の策で誕生した のがローカルIPやDHCPなどという技術だと思います。苦肉といってもサーバが誕生した当時1970'(30年前)は世界中にサーバは十台程度しかなかったでしょ うけど・・・


localhost.localdomainについて
特別な意味があります。自分の名前などと思ってはいけませ ん。
localhostというのはホスト名です。ホスト名というのはパソコンの名前です。ネットワーク設定のホスト名のところで決めます。 /etc/hosts というファイルにあるようです。
ここではkame です。
localdomain というのも重要です。最初はわけがわからなかったのですが自分の所属する組織(ドメイン)名です。
今回は dynsite.net です。ですが、もし入力する場所が あっても指示があるまでは変更しません。
標準で何の設定もしないと、そのシステムはlocalhost.localdomainという名前になってるからです。
ヘタに変えるとわけがわからなくなります。
ためしにOSをインストールしたまんまの状態で
ping localhost.localdomain
とやると
IP 127.0.0.1
から跳ね返ってきます。(CTRL+Z で止めましょう)
この意味は自分で自分にはねかえっているだけです。127.0.0.1はこういうときのための跳ね返し(ループバック)アドレスのようです。
今後うまく自分のサーバPCのネットワークの設定がすめば
ping w3neo.dynsite.net
とやれば同じように跳ね返るようになります。

ちなみにもし
ping www.yahoo.co.jp
とやって unknown host なんて出たらそのPCから外に出られないことを意味します。ネットワークカードの設定がおかしいです。
アドレスが返ってくればまったく問題なくOkです。ブラウザなんか立ち上げればインターネットが見られるということを意味しています。

ping 192.168.1.1
とかやるとルータから返ってきます・・・

ping 192.168.1.11 [訂正2005.3]
とやるとサーバから。といっても今はまだ設定してませんが。

127.0.0.1について・・・このIPアドレスはループバックアドレスというそうで、使っているPCの内部で使われ るアドレスです。具体的には自分で自分にネットワークチェックをするときに使います。
lo 127.0.0.1 などという記述でネットワークデヴァイスの設定にみかけます。

192.168.1.1について・・・ルータです。なんとルータの設定はブラウザからします。専用のソフトなんかはあり ませ ん。なかなかイケテル仕組みだと思いました。が、ルータメーカにとってはあたりまえのようです。
ルータを設定するときのブラウザを使うという考え方とほぼ似たような考え方が、今回のWEBMINを使ってサーバの設定をする、というものです。
192.168.0.1の場合もあります。

グローバルIPとローカルIPのまとめ・・・グローバルが広域、ローカルが手元です。グローバルIPは世界に1つしかな いです。 ローカルIPはそれぞれの個別のネットワーク環境ごとに存在します。もちろんAという組織でもBという組織でも同じローカルIPアドレス (192.168.0.0 - 192.168.255.255)を使います。

★最終的におさえるべきポイントは
「どのようにしてインターネットからのアクセスが自分のサーバPCまでやってこれるか」という点と
「もしサーバPCの所属しているルータのアドレスが変わったら、どのくらいでまたつながるようになるのか」という点です。
結局インターネット内ではドメイン名という名前で探して、自宅のルータまでたどりつきます。
ルータにはグローバルIPが割り振られていますからそのグローバルIPを頼りに通信がルータまではやってくるようです。
ルータから自宅内のサーバにたどり着くにはルータでローカルネットワークアドレスに変換されます。さらにその際ポートという出入り口を利用します。
ルータからあとはポート番号だけがたよりで、ルータにはポートの80番でアクセスがきたらローカルIP192.168.1.11のマシンへ行くよう に・・・などという設定がしてあります(これをバーチャルサーバ機能とか呼んでいるようです)
ちなみにポート80番はホームページのアクセスです。
この際ルータではIP192.168.1.11はMAC番号00-00-ff-ff-ffというネットワーク装置で固定しておく、という設定もされていま す。これがルータでのDHCP機能の固定DHCPというものです。・・・ ちがいます、ルータの固定DHCPというのはDHCP設定をしたIPの範囲で、特に固定したいマシンがある場合設定する項目です。(2004.10)



 

Y!BBだから、のポイントとして・・・
グローバルIP・・・グローバルIPが固定IPではありません。つまり時々グローバルIPが変わるんです。それで下記のDDNSサイトと連携して“かわり ゆくグローバルIPアドレス”を追従しなくてはならないのです。
 

追従にはいくつか方法があります。
オススメはLinuxDicedデーモンですね・・・

1.ルータにDDNS機能があれば、それを使う。
(BARSDにはたまたまあった。ただしファームウェアアップデートが必要、たぶん。だって BARSDの サポートサイトにDDNS機能が働かないので修正・・・と載ってた。さらにこのルータはDyndnsしか対応してないのかも・・・2004/6)

2.何らかのプログラムを走らす
a.サーバスクリプト・・・ サーバにスクリプトを書いて、それを1時間に一回程度実行するように設置する。
ipupdateなどというスクリプトを書いて/cron/cron.hourly(仮)みたいなとこに設置すれば自動実行されます。
【補足】1時間に一回も更新してるとDDNSサイトから警告がくるので1日一回<cron.daily>くらいに変えましょう (2004/4/16)

b.DiCEを使う・・・ Linux版DiCEをデーモンモードで動かす。ちょっと設定が難しいですがイイかんじです。IPの変化も検出します。(2004/6/7)

3.DDNSのサイトへ行き管理ボタンを押す・・・いちばんダサい方法 ですが・・・


DDNSだから、のポイントとして・・・
アドレス更新・・・定期的にIPアドレスを更新、というのをしないといけません。普通にやるとDDNS(miniDNSなど)の管理用ホー ムページへ行って管理メニューから押すようになりますが、一般的には自動スクリプトを使います。
メールエクスチェンジ(MX)の設定・・・DDNSではメールサーバの管理もします。MXの設定にメールサーバのア ドレスを登録します。
w3neo.dynsite.net だとすると w3neo がホスト名、dynsite.net がminiDNSサイト様のドメイン名ということに なります。
バーチャルサーバ?・・・DDNSのサイトではうまくやると www.w3neo.dynsite.net とか mail.w3neo.dynsite.net とかできるようですが未確認です。できるという情報はどっかで見ました。(つまり、今はそんな設定はして いない、ということです)
バーチャルサーバ設定はWEBサーバapacheのhttpd.confの<VirutualServer>でやるほうがいいようです (2004.10)

自宅サーバでWEBMINをするといったい何が楽しいのか・・・

【一般的な利点】
・NTTなど通信会社がなにをやってるかわかる・・・ぼったくられなくてすむ
・サーバ会社のうそが見抜ける・・・かれらのミスの範囲が浮き彫りになる
・知識が深まる
・自分専用の情報発信基地がもてる
・だれにもじゃまされない
・はやり

【Linuxならではの利点】
・ウィルスに犯されにくい
・某M$社が倒産した場合でも影響をうけない
・某独占企業の解体による製品供給停止を恐れなくていい
・構造が公開されているため不具合がみつかってもすぐ直る、または直せる
・パッチだらけのスパイウェアOSを入れなくても良い
とまらない(あたりまえ)
・一部の不具合が全体に及ぶことはない(あたりまえ)

【WEBMINならではの利点】
・システム保守が容易
・サーバの再起動ができる
・サービスの起動、停止ができる
・ブラウザさえあればできる

具体的にはどっからでも
https://kame.dynsite.net:10000
とやればWEBMINにアクセスできるということです。
つまりそっから再起動でもサーバの停止でもなんでもできます。おおこわい。

【追伸】
WEBMINはミニサーバ機能も持っているプログラムでroot権限で動きます。もしWEBMINにセキュリティホールがあったらシステムがのっとられて しまい、踏み台にされてしまう恐れがありますので、安易に外部からのアクセスは許可しないほうがいいでしょう。


特別
一目でわかるサーバ構築 コーナー

結局何をどこに設定するのか一目で見るためのコーナー
 


【どれにも属さない雑多な設定】
ドメイン登録・・・DDNSサイトへの登録|IP更新(サーバスクリプトと連携)
WEBMIN設定・・・日本語化|セキュリティ対策
sftp通信プログラムの入手(クライアントサイド)
sslターミナルプログラムの入手(クライアントサイド)
APOP対応メーラ・・・Sylpheed

WAN側】
Y!BB・・・ブロードバンド回線さえあれば特に気にする必要なし。

【ルータ機器】
DHCP(使う場合)※サーバはDHCP外に置くのが無難のようです(2004.10)
ポート(バーチャルサーバ)
DDNS対応(機能があれば)

【LAN側
IPの設定・・・ネットワーク機器設定|ホスト名|DNSクライアント設定
インターネット接続設定・・・IPがちゃんとしていれば特になし

【サーバ機の設定】・・・ここからは1つ設定できればそれ毎にスグその機能が働き始めます。この段階ではほぼサーバとし ての環 境は整っていると言うべきでしょう。

・DDNS更新のためのcronスクリプト設置(必要な場合)、EveryDNSの場合はDiCEデーモンを使う(2004.9)
・Apache設定
・proftpd設定
・samba設定
・postfix設定
・pop(qpopper)設定

※DNSサーバの設定はいりません。
※以上の時点でルータのポート10000番さえあけておけばWEBMINへのアクセスが外部から可能です。ただしセキュリティのためNet::SSLeayは 入れておきましょう。


自宅サーバ構築

家庭内のサーバ環境外向けのサーバ環境(主 にルータなど)

ということで、まず

家庭内のサーバ環境です。

流れとしては
0.Linuxのインストール(サーバ用途)
1.サーバをインターネットにつなぐ
2.WEBMINゲット、インストール、起動
3.WEBMINから自身のホスト情報修正
4.家庭内のほかのPCからWEBMINへ接続
5.各サーバ(WEB,FTP,MAIL,ファイル共有など)起動
6.各サーバの設定
7.家庭内のPCからサーバの各機能を使ってみる(ドメイン名は使えないのでIPで使う)
とつづきます。
これらができたのちに 外部の環境(ダイナミックDNSとその更新の設定、ルータの設定)を整えます。

これらの操作は全てIPアドレスを直接たたくことでできます。ドメイン名は必要ありません。というよりドメイン名が外との連携をするための仕組みだ から、今は不要です。
あと、調子が悪くなってもルータや外部環境は気にしなくていいです。もっぱらサーバの設定に原因があるはずです。
 
 



0.Linuxのインストール
いきなり省略。てきとーにTurboでもRedでも入れます。 
Vineなら標準でWEBMINが入ってるそうですが未確認です。
Redhat9を推奨します。(2004.10)
次っ。 
1.サーバをインターネットにつなぐ [ w3m, kon ]
まずはサーバでインターネットに接続できるか、です。 
これはネットワークカードとローカルIPの設定がうまくできれば大丈夫です。 
この設定はturbolinuxですと 
turbonetcfg 

Redhatlinuxだと・・・勝手に動いた?みたいです。★ちがうかも。TURBOと似たような設定したかも。 
いずれもコンソールからやります。 

ネットワークカード1番目は 
eth0 
と呼ばれます。サーバにつけるローカルIPアドレスはとりあえずインターネットへつなぎたいのでDHCPを有効にすれば次回再起動で勝手に入ります。  
ホントハこのサーバのIPはのちに192.168.1.11にします。(さらにこのIPは、ルータDHCP機能により 固定することになります。が、今は いいです) 

さてこれでインターネットにつながるはずです。がここからがちょっとミソです。(PCの性能に問題のない方はXwindowを立ち上げ てNetscapeNavigaterを使ってください。) 
非常に軽くて性能の良い 
w3m 
というブラウザを使います。 

w3m-ja http://kame.dynsite.net/svr.html 
とやります。 
このページがみえるはずです :−) 
あ、文字が化ける場合はw3mを使う前に 

kon 
とやります。これは漢字コンソールです。w3mの終了は「q」を打ちます。 

2.WEBMINゲット、インストール、起動
さて、リンクの中にWEBMINのサイトがあるので、 
webmin1.140.noarch.rpm 
などをげっとします。 
ブラウザを終了し、コマンドモードから 
rpm -Uvh webmin1.140.noarch.rpm 
とやればRPMパッケージは入ります。数分かかります。 
done. 
http://localhost.localdomain:10000 access ok (たぶんちょっと違う) 
などと出てくればOkです。 
 

いよいよWEBMINへアクセス 
w3m-ja http://localhost.localdomain:10000 

これで出ます。 

IDは admin または root 
パスワードは インストール時に指定したもの または rootのパスワード 
これでWEBMINに入れます。 
 

3.WEBMINから自身のホスト情報修正

えー上のメニューの「ネットワーク」を選びます。 

次に「ネットワーク設定」を選びます。 
 

その中には「ホストアドレス」というのがあるのでこれを修正します。 

「新規のホストアドレスを追加」を押します。 

IPアドレス 192.168.1.11 
ホスト名 kame.dynsite.net kame 
※このホスト名で後ろのkameもホスト名です。空白で区切って複数指定できます。この場合どっちのホスト名でもいいから探しておくれ、という意味です。 省略型です。 

このようになります 

ちょっとはしょりまして、「ネットワークインターフェイス」も下記のような設定になります。 

eth0をこのように変更します。 
IPアドレスはこの場合自分自身のIPアドレスを指します。どうやらネットワーク設定とは自分自身のPCの設定のようです。ブロードキャストなどはこっち で入れても勝手に変わります。たぶん。 
※ハードウェアアドレスはMACアドレスと呼ばれるものでLANカード・機器ごとに一つしかないです。 
※Windowsではwinipcfgとかすると出てきます。今回は勝手に入ったと思います(そもそもそういうものかも)。 

同じ「ネットワーク設定」のメニューにある「ルーティングとゲートウェイ」はこのように設定しました。 

が、よくわかりません。 
{加筆}ゲートウェイはネットワークとネットワークの接続アドレスです。どのマシンを接続マシンとして使うのか、という程度の意味で普通はルータのアドレ スで問題ないです。複数のネットワークがある場合、出入りする端末のIPになるのでしょう。(2004.10)

※ここでインターフェイスをeth0とかゲートウェイを192.168.1.11(自分のサーバアドレス)などにするとホスト名から見 つけられなくなるよ うです。 
そんなことはないぞ・・・(2005.3)
※今入っているゲートウェイのアドレスはルータのまぁ固定というかLAN側のアクセスアドレスです。 
※この辺の設定は結構難しかったです。情報がない。 

そして問題の :−P 「DNSクライアント」の設定後の画面です。
なぜ必要なのかいまだになぞです。ちょくせつ外部へ公開しないなら設定の必要はありません。これはDNSサーバでこのマシンを召還している場合設定するよ うです。(2004.10)
ここに親DNSを設定しておくのかもしれないが、今回はるーたまではdynDNSからやってくるからおそらくいらないと思われる。が、未だになぞ(2005.3)


なぜ動くのかわかりません。^^; 

どうやら自分自身がDNSの子供(クライアント)としてどうふるまうか、を設定する場所のようです。 
その際にホスト名は自分自身のサーバの名前です。外に出るときに検索するドメイン名はdynsite.net、これが親分です。 
あてにするDNSサーバ郡は まずルータ192.168.1.1、次にあるxxxx.97のはBBルータに割り振られているY!BBの最初のDNSサーバ です。3番目xxxx.214っていうのはminiDNSというDDNSサービスのサイトの最初のDNSサーバです。 
さてはて? 
たぶん、ルータから 
「あんたはkameっていうホストかい?」って問い合わせが来るんです、そしたらここのホスト名はkameになってるので 
「そうでございます」って自分自身のサーバがルータへ答えるんだと思います。 
まぁここは外部へ接続するまで関係ありません。たぶん。やっぱりいりそう・・・わからーん 

いずれにしても、これで自分自身が 
192.168.1.11 というIPで 
kame または kame.dynsite.net というホスト名として 
192.168.1.1 の配下のネットワークに登場できる、というところでしょうか。 


「Apply Configuration」します。これで少々サーバが忙しくなります。 
※もし設定に不備があると、ここでWEBMINが見えなくなったりします。 

4.家庭内のほかのPCからWEBMINへ接続
さて、ここまでの設定で家庭内LANにつながっている ほかのPCからサーバPC(192.168.1.11)にアクセスできるようになる 予定です。 
サーバにはWEBMINをしこんでありますので、どのPCからでもブラウザで 

http://192.168.1.11:10000  (あくまで家庭内なのでこれでいいですが、公開時にはSSLを入れます)
とやればWEBMINの入り口にたどりつくはずです。どうでしょうか?あとはサーバ機を直接触ることはなくなります。 
まぁよっぽど変なことをしない限り・・・ex.ルートパスワードを忘れる。サーバのIPをよせばいいのに、またいじる。 

5.各サーバ(WEB,FTP,MAIL,ファイル共有など)起動
ここからはWEBMIN上での操作ですので、どんなパソコンだろうが関係ありません。
ブラウザさえあれば同じ環境です。 
(ただ、あらかじめサーバに入っているソフトによってスグ使える機能とそうでないものはありますが・・・) 

まずはやはりApacheでしょう。 

「サーバ」メニューの「Apache Webserver」を押します。 
と、ここからの説明ははぶきます。かなりながくなりますし、参考資料も多いはずなので・・・ 
また機会があれば。 

6.各サーバの設定
で、首尾よくサーバの設定を済ませます。

【覚書】
MAILサーバ:postfix・・・
で、調べてゆくと、mynetworks にメールを送る作業をしているマシンのIPアドレスを指定しなくてはならないようなので、
mynetworks = 192.168.0.0/24, 127.0.0.0/8, xxx.yyy.zzz.aaa/8
というように追加すると、送信できるようになりました。
普通のメールサーバとして利用する時に非固定IPの場合ここを手動変更?(2004.10)

7.家庭内のPCからサーバの各機能を使ってみる
Apacheが無事動き始めたらブラウザで 
http://192.168.1.11    (これはサーバPCのIPアドレスです) 
とやるとテストページが出るはずです。 

さぁ!、あとは
miniDNSへ kame.dynsite.net というホスト名を登録して そのときのBBルータのIPを登録し、
ルータ設定でDHCPサービスを有効にして、その範囲内にサーバPCのIPを置き、サーバPCのIPアドレスをDHCPの固定アドレスにします。
さらにルータでポート80番を空ければ・・・・

って簡単にかいたけど・・じつは・・・今までと同じくらい面倒だったりして。


外向けのサーバ環境(主にルータ設定など)について

1.miniDNSへの登録
2.miniDNSの自動更新について(ルータの機能かスクリプトで)
3.ルータの固定DHCP設定
4.ルータのポートフォワーディング設定
5.補足、EveryDNSについて
6.補足、DiCEについて


1.miniDNSへの登録
まずminiDNSサイトへ自分のドメイン名を登録します。
今回はまったく何もないのでminiDNSさいとの無料ドメインサービスを利用します。この場合のドメイン名は
xxxx.dynsite.net
になります。
「無料申し込み」などからメールアドレスなどを記述し会員登録します。
すぐに返事のメールがとどきますので認証をすると使えるようになります。
サイトの中で「ログイン」して「追加」−「Hostレコード」と選び

 

ホスト名「kame」、ドメインリスト「dynsite.net」、提供するサービス「www」と「FTP」にチェックを入れて「送 信」を押します。

管理から登録したドメイン名の「アップデート」をクリックするとデータランのIP番号が最新のものになります。

この場合のデータ欄にあるIP番号は、自分のブロードバンドルータの番号です。
詳しく言うと、自分のブロードバンドルータに割り当てられているグローバルIPアドレスです。

※Y!BBの場合、このグローバルIPアドレスが固定ではありませんので、時々変わります。それでは変わるたびにこのページにきて 「アップデート」のボタ ンを押さないといけないので、ちょっとしたコツがあります。
※フレッツADSLやらほかのインターネット環境で「固定のグローバルIPアドレス」を持ってる人は、そんな姑息なことはしなくてもいいの でちょっと楽です。

えー、ここまでの設定で3日間くらいするとドメイン名が知れ渡るのでDNSの設定は完了です。
あかの他人さんがブラウザで
http://kame.dynsite.net/
なんてやると、自分の家のルータまではやってきます。
ところが、そのルータには“この家にはIP何番にサーバがありますよー”っていう記述がないので、そこでおわりです。
またその際にデータが通る“ポート”というのがあって“このポートのデータはIP何番にまわすよ”っていう記述も必要なんです。
さらにDHCPというIP振り分け機能を使う場合はその範囲にサーバ機のIPもないとだめなので話がややこしいですし、その場合のサーバ機のIPは固定 IPという設定をするので混乱してしまいます。

2.miniDNSの自動更新について(ルータの機能かスクリプトで)
●ルータに機能がある場合・・・
ルータに有ればルータの説明書どおりです。

BAR SDでは「詳細設定」−「ダイナミックDNS」というところにありました。
※ちなみにこのcorega BAR SDルータはバグがあるらしくファームウェアアップデートしたほうがいいです。そうしないとこの機能は作動しないって同社WEBサイトに書いてありまし た。

以上です。次のDHCP設定に飛んでください。

●ルータで設定しない(できない)場合・・・
 



ルータで設定しない場合は少々ややこしいですが、サーバに定期的にドメイン名を書き換えさせるスクリプトを書きます。
または後に紹介してあるDiCEというデーモンを使います。(2004.10)

具体的にはサーバの /etc/cron.daily ディレクトリに ipupdate.sh というスクリプトを書いて設置します。

まずはサーバへログイン
Windowsなどの「ファイル名を指定して実行」から
cmd

これでコンソールが出ますので
telnet 192.168.1.11   ・・・サーバへtelnetでログインします。(ここでこける可能 性が・・・ちょっとあり :-P)

これでログイン画面が出ますので
login:namae
pass:xxx

これでサーバに入れます。
ルートになってエディタを起動します。
su
cd /etc/cron.daily     ・・・etc/cron.dailyディレクトリへ移動
vi ipupdate.sh        ・・・viエディタでipupdate.shというファイルを作成

下記の内容を入力します。
ここでのusernameはさきほどminiDNSで申し込んだIDです。passwordはそのパスワードです。
(入力開始は「i」、終了は「ESC」キー、書き込み終了は「:wq」)

#!/bin/bash
wget 'http://www.minidns.net/areg.php?opcode=ADD&username=anatanotourokumei&
password=himituyonn&host=w3neo.dynsite.net&'
exit

大丈夫かなー、このへんは結構むずいかもねー。
まだupdate.shは動きません。
実行権を修正します。
chmod 755 ipupdate.sh

これで準備おっけー。
ちなみに
./ipupdate.sh
とやると動くでしょう。
※吐き出されたログファイルをcatで見てOkならOkです。
cd /
cat areg...(TAB補完で探しましょう)
host\=w3neo.dynsite.net\&.95
okay. W3NEO.DYNSITE.NET mapped to 218.120.236.60.

などと出てくればOkです。
さぁおわり、おわり
exit
exit

やっぱコンソールはキツイですねー。ルータに機能があるほうが楽ですね。さぁ、つぎはルータのDHCP設定です。

3.ルータの固定DHCP設定
ルータを設定する場合の基本注意ですが、キャッシュにご注意ください。
連続して設定する場合は出てくる画面は信用できません。新しくウィンドウを開いて再読み込みしてください。
わたしはこのキャッシュ君のせいで、とーってもとってーも苦労しました。
だって設定したのにできてない画面がでたり、読み込みなおしても古い画面をだしたりするんですよー。

例によって
192.168.1.1
にアクセスし、「基本設定」−「DHCPサーバ」を選びます

機能を有効にして開始を11番、終了を199番などとします。
※あまり深い意味はありません。今後の注意点としてはこのIP(11-199)の範囲にLANの機器のIPを置かないと外部からは見えない(たぶん)、と いうことです。

つづけて
192.168.1.11 がサーバPCのIPアドレスなのでこれを固定します。
右下の「DHCP固定」をクリック。

有効にして適用、再起動します。
ちなみにMACアドレスというのはまっきのっしゅのことではありません。LANの機材一つ一つにつけられた固有の番号です。どうやらルータはこの番号と固 定DHCPのIP番号を対応づけているみたいです。
たしかここは下のほうのリストから選べば簡単に入ります。
(ここんとこがわからんかったんよねー :-P)

まだ動きません。
IP変換はうまくいきますが、データがポートでブロックされてしまいます。
今はこのルータへは何のデータも進入しません。
あいてるデータの出入り口、つまりポートがないんです。
そこで・・・

4.ルータのポートフォワーディング設定

さぁここからはちょっぴりキケンな、しかしせねばならない設定です。
この設定を終えたら、ついにドンドンインターネットからあなたのサーバへデータが流れ込んできます。
まずはポート80番ぐらいにして様子をみましょう。

ルータの「フォワーディング」−「バーチャルサーバー」です。
ちなみにフォワーディングって前方通過程度の意味ですかね?!どの言葉もわかりづらいですなぁ。

ポート80番をサーバのIP11番へTCP接続で通過させます。

適用、再起動で ハイちゃんちゃん。
ちなみに他のポートは・・・
20 ftp (sftpを使うのであけない)
21 ftp (同上)
22 ssh
23 telnet (あけません)
25 mail
80 web
110 mail
これらはwellknownポート(よくしられてるポート)と呼ばれています。

ちなみに以下は今回関係のある特殊なポートです。(2004.10)
5801 VNC(リモート用)
5901 VNC(リモート用)
10000 webmin

5.補足、EveryDNSについて(2004.9)
独自ドメインcosmolinux.com のためにEveryDNSを利用してみました。英語ばかりで難しく、IP更新はPerl スクリプトか後述のDiCEを使うのが難点です。しかもLinux用DiCEはコマンドラインで利用し作者のサイトにも詳しい説明は無く自己責任とうたっ てありました。
miniDNSでも独自ドメインの利用は可能ですが、2つ登録はできないのでこちらも利用。

登録名 関連付け 備考
Aレコード cosmolinux.com -> 動的IP この動的IPをDiCEで定期的に更新する
CNAME www.cosmolinux.com -> cosmolinux.com エイリアスみたいなもの?wwwをつけたアクセスも転送す る
MX cosmolinux.com -> cosmolinux.com MailExchange。メールサーバのための記述

209.75.39.141
209.75.39.142
?


---情 報:EveryDNS紹介サイトからの抜粋---(私の方法とはちょっと違うようですが、参考までに)
■EveryDNS (無料ダイナミックDNS設定方法)
 1,設定簡単、無料です
 2,一つのアカウントで20のドメインと総トータルで200のサブドメインを登録できます
 3,A、CNAME、MXのレコード登録も可能です

    ※登録方法のご説明の前に以下の準備をお願いいたします。

        ・取得ドメインのレジストラのNSサーバーを「 ns3.everydns.net 」と、「 ns4.everydns.net 」に変更してくださ い。ns1とns2は不安定です・・・汗

    それでは登録方法です
    1, http://www.everydns.net/ へアクセス!
    2,まずはアカウント作成

        マル1の赤枠内に必要項目を入力して「 Signup 」を押す

        登録が完了したら左の「Username」と「Password」にマル1で登録したものを入力し「 Login 」を押す!

    3,取得したドメインを登録!

         マル2内へ以下内容を入力してください。

            A:hoge.com
            B:ダイナミックDNSを登録する場合は、チェックを入れてください
            C:こちらのボタンで登録されます

    4,サブドメインなどを登録します

        hoge.com をクリックすると以下の詳細ページが表示されます

        マル4に詳細を入力してレコードを増やします。

        まずは妥当な「 www 」を登録する場合です。

        「www.hoge.com にアクセスがあった場合、hoge.com を参照しなさい」ということを登録します。
         
    5,次はメールサーバー用のドメインを登録します

        簡単にそのままのドメイン( hoge.com )で登録することにします

        「Record Type」を「 MX 」にする必要があります。
        4番目の項目にはMXを選択した場合に入力する必要があります。何も考えずに「 10 」を入力してください。無事登録されると以下のように表示されます。

    これでeverydnsサービスへの登録は完了です

    6,それではドメインとサーバーのIPアドレスを紐付けしましょう
        この作業にはDiceというツールを使わせて頂きます。
        このDiceにeverydnsへ登録したドメインと構築したサーバーのIPアドレスを紐付けさせるために「イベント」をDiceに登録しなければなりま せん。
      そのイベントを一定期間で作動させることで動的IP内にあるサーバーへいつでもアクセスできるようにeverydnsを更新させるようにします。

6.補足、DiCEについて(2004.6-2004.9)
DiCEさいとのDiceデーモン(diced01911.tar.gz)をLinuxへ導入。
インストールディレクトリは /usr/local/bin/DiCE
diced setup でEveryDNSを適時追加。EveryDNSに入るときのIDとパスワードなんかがいります。
diced -忘れた 0 で登録0番を即実行。エラーがなければOk。
diced -d でデーモンモードで起動時実行をWEBMINから設定(initかなんかに追加するんだよね?!)

ご注意:
セキュリティについて・・・暗号化していない状態で10000などのポートは絶対に空けないでください。サーバがクラッキングされた場合自分だけでなくイ ンターネット全体へ被害が及ぶ恐れがあります。
同じ理由から構造上の欠陥のあるWindowsサーバの導入は大変キケンですので絶対にやめましょう。(もちろんサポート上の欠陥はいうま でもありません、みなさまよくご存知のとおりです。それは仕様だからしようがないんだぁ・・・と 「早く欠陥製品の新バージョン出して、古い製品のサポー ト打ち切ろう」キャンペーンです)

パケットフィルタリングもしましょう。

おわりなのねん。

おめでとーございます!


●関連知識

コンソール・・・bash(補完機能、ヒストリ)
 

■補完機能 ・・・文字列を補います
 TABキーを押します
■ヒストリ ・・・入力コマンドの履歴を表示します
 上下のキーを押します

エディタ・・・vi(インサート、Write、Quit)
 

■起動

vi ファイル名 ‥‥        編集対象のファイルを開く(複数のファイルも可)
vi +n ファイル名        n行目から表示する
vi + ファイル名            最後一画面を表示する
vi +/文字列 ファイル名        文字列が存在する行から表示する
vi -r ファイル名        壊れたファイルをリカバリ
 

■入力(コマンドモードでこのコマンドを打つと入力モードになります)

a    カーソルの右から入力開始
A    行末から入力開始
i    カーソルの左から入力開始
I    行頭から入力開始
o    現在行の下に1行挿入し、その行頭から入力開始
O    現在行の上に1行挿入し、その行頭から入力開始
 

■カーソル移動

h , BS        1文字左へ移動(←)
j , CTRL+N    1行下へ移動(↓)
k , CTRL+P    1行上へ移動(↑)
l , SPACE    1文字右に移動(→)
H        画面の最上行に移動
M        画面の中央行に移動
L        画面の最下行に移動
G        ファイルの最終行に移動
nG        ファイルのn行目に移動
 

■削除

x    カーソル上の1文字削除
X    カーソルの左の文字を1文字削除
dd    現在行を削除(バッファにコピーされる)
ndd    n行分削除
dw    カーソル上の一語を削除
df 字    カーソル位置から指定した字までを削除
d$    カーソル位置から行の最後までを削除
d^    カーソル位置から行の先頭までを削除
 

■置換

r    カーソル上の1文字を他の1文字に置換
R    カーソル上の文字からEscが押されるまでの文字列を置換
s    カーソルのある1文字を他の文字列で置換
S    現在行を他の文字列で置換
cw    カーソル位置からこの語の最後までを置換
cf 字    カーソル位置から指定した字までを置換
C    カーソル位置から行の最後までを置換
 

■カット&ペースト

yy    現在行をバッファにコピー
nyy    n行分をバッファにコピー
yw    単語をバッファにコピー
p    バッファ内のテキストを挿入(文字、単語はカーソルの右に、行は現在行の下に挿入される)
P    バッファ内のテキストを挿入(挿入位置はpを逆)
 

■ファイル操作

:w            現在のファイルに保存
:w ファイル名        指定ファイルに保存
:w! [ファイル名]    書き込みを強行
:行1, 行2 ファイル名    行1から行2のテキストをファイルに保存
:w >> ファイル名    現行ファイルの最後に書き加える
:r ファイル名        現在行の次の行にファイルを読み込み、挿入する
:r            現在行の次の行に現在のファイルを読み込み、挿入する
:n            複数個のファイル編集時、次のファイルを編集対象とする
:args            編集ファイルの一覧を表示する
:e ファイル名        指定ファイルを編集対象とする
:e#            一つ前の編集ファイルに戻る
 

■終了

ZZ    viを終了(内容が変更されている場合は保存)
:wq    ファイルに保存してvi終了
:q    viを終了(内容が変更されている場合は警告)
:q!    viの強制終了(内容が変更されていても保存されない)

管理者と一般ユーザ(アドミニストレータ、スーパーユーザとユーザ)・・・root, su

ファイルとディレクトリの属性・・・chmod 755 public
ファイルとディレクトリの所有者、グループ・・・chown public syoyuusya、chgrp public guruupu1
ユーザとグループの管理・・・adduser、addgroup?
インストール・・・RPM -Uvh xxx1.140.rpm, tar zxvf xxx1.120.tar.gz, make, make install, ./setup.sh
漢字コンソール・・・kon
テキストブラウザ・・・w3m-ja http://w3neo.dynsite.net:10000

・・・そしてwebmin

・・・さらにリモートxサーバ
vnc-server-3.3.3r2-26vl5.i386.rpm に似たバージョンをwebmin「ソフトウェアインストール」から入れました。

起動は
#vncserver

停止は
#vncserver -kill :1

●ちなみに・・・

このページはNetscapeComposerで作ってます。つまりフリーのhtmlエディタです。Netscape社は一番最初のブラウザ会社です。の ちにライセンス提供して?できたブラウザにIEがあります。
 

●困った点

「IPミステイク」
【困り度:120%】ルータのLAN側IPを(間違って何を思ったか)サーバのIPと同じにしてしまいルータにアクセスできなくなった!->しょう がないのでルータを工場出荷時にハードウェアリセットした(ボールペンでinitを5秒押す・・・)。

「DHCPの外?」
【困り度:99%】これは、最後にひっかかったところですがルータのDHCPの設定です。と言ってもアドレスの固定ではありません。 固定したいIPをDHCPで設定しているIP番号の範囲に入れておかないといけない、ということが最後までわかりませんでした。(いやどうやらそうでもな いらしい-2004.9)
DHCP外におくのかと思 い込んでいました。・・・解決の糸口はルータのDHCP設定の画面を見ていて「固定IPを自動的に読み出して選んで登録する」機能があるのですが、そのリ ストにクライアントの他のPCのNIC-NAT(LANカードのハードウェア番号)は出てきて選べるのに、サーバのそれがリストに出ていないことに気づい た、ことでした。
---追伸、これはどうやら固定IPだけの問題だったようです。それ自体はルータのバグでしょうけどルータを電源切り入りしたらできたのではないかと思い ます。で、サーバのIPや固定したいIPはルータのDHCPの範囲内にあろうがなかろうが関係ないようです。あるいは逆に、下手にルータのDHCP範囲内 におくとサーバが止まっているときにDHCPによってサーバと同じIPアドレスが他のPCに割り当てられてバッキングする恐れもあるのではなかろうか、と も思うようになりました。

「コレガのルータにきをつけろ!(熱暴走か?)」
【困り度88%】なにが気に入らないのかたまにルータがやるきを無くす。熱暴走か?ブラウザからの再起動ではダメで電源を抜差ししてやると直る。全てのラ ンプは動いているように明滅しているからタチがわるい。ルータの電源を落とすとサーバのLinkUPも切れるから主導で再起動しないといけなくなるのも muumuu。

「CNAMEなのか?」
【困り度80%】いまだになぞ。CNAMEにwww.cosmolinux.com->cosmolinux.comを追加したらNETSCAPE からアクセスできるようになった。ネスケの仕様が原因かも?

●いまだにナゾな点

サーバIPは200番でも大丈夫か。・・・他のIP番号よりサーバのIP番号が後ろだとどうなるか。
DNSの名前登録は48時間から数日かかるらしいが、どういう関係があるのか不明。
メールMXの関係



We love LINUX :-)
copyleft cosmolinux.com ;-P