従来は利用したい/接続したいと考えても限られた人/機関しか
利用できませんでした。しかし、今日ではIIJ等に代表されるインター
ネットプロパダイバが登場し、個人でも接続できるようになりました。
これはこれで喜ばしい事ではあるのですが、接続するための敷居と言う物は
NIFTYなどに代表されるパソコン通信と違ってなかなか高いようです。しかし、
それは
「接続するためのノウハウが入手しづらい」
「近くに接続経験を持った人がいない」
と言う事が原因のようなきがします。たしかにパソコン通信に比べると、 多少多くの知識を要求されるかも知れません。しかし、一つ一つの事は決して 難しい事ではありません。一つ一つこなしてゆけばいいのです。その先には きっと明るいインターネットへの道が開けているでしょう!
で、FreeBSD 2.0以降でPPPを使用する場合、
pseudo-device tun 2
これで、準備はできました。後は実際に接続するだけです。
どうです?揃っていますか?揃っていない場合、 前の章に戻って揃えて下さい。 つぎに、IIJ-PPPのコンフィグレーションファイルを用意します。 内容は以下のようになるでしょう。
# # Default setting # default: set device /dev/cuaa2 set speed 38400 set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \"\" ATZ2 OK AT%K1 OK ATD\\T TIMEOUT 40 CONNECT" set timeout 180 set login "TIMEOUT 5 login:-\\r-login: \\U word: \\P" disable lqr deny lqr # # For RIM-NET # <貴方の接続先の名前>: set phone <接続先の電話番号> set authname <あなたのユーザ名> set authkey <あなたのパスワード> set openmode active set login "" disable pred1
スクリプトの「"ogin:"」「"asswd:"」の部分は接続先のシステムによって
違いがあるかも知れませんので、自分で書き換えて下さい。
また、正常に接続できた場合、IIJ-PPPは/etc/ppp/ppp.linkupと言うファイル
を呼び出しますので、それを用意します。内容は以下の物程度でよいでしょう。
MYADDR: add 0 0 HISADDR
用意できたら、コマンドラインから以下のように入れます。
% ppp <貴方の接続先の名前>
入力すると、IIJ-PPPのプロンプトが以下のように出て来るはずです。
ppp>
ここで、
ppp> dial
と入力して下さい。すると、
ppp> dial ppp> Packet mode ppp> PPP>と出力されるかも知れません。これが正常な動作です。 接続されているかどうか、確認するにはnetstatコマンドを 使用してみるのも良いです。ルーティング情報を確認して、 外への経路が存在する事を確認して下さい。
% ping YY.YY.YY.YY
これは、接続先のホストにICMP ECHOを送ってみて、相手のホストから
応答があるかどうかで接続が確立されているか確認する方法です。
正常に、接続できていますか?出来たらこれで終りです。とくに何も
する必要はありません。本来ならルーティングについて設定する所ですが、
/etc/ppp/ppp.linkupがデフォルト経路を設定してくれているので、必要
ありません。
それでは、設定しましょう。まず、/etc/resolv.confという
ファイルが存在しているかチェックして下さい。ありましたか?
あった場合、貴方のマシンは既にresolverを使用している
可能性があります。nslookupと言うコマンドを起動してみて
下さい。プロンプトが帰って来ましたか?帰って来なかった
場合は設定ファイルを破棄して構わないでしょう。無かった
場合と同様の事を行って下さい。
無かった場合、resolv.confを作成します。内容は以下の
ようになります。
domain some.domain.name nameserver XX.XX.XX.XX内容は貴方の接続先似合わせて書き換えて下さい。私の場合、 以下のようなものを使用しています。
domain greg.rim.or.jp nameserver 171.32.1.1ここまでで来たら、nslookupコマンドで動作を確認して 下さい。とりあえず、以下のようにすれば良いでしょう。
% nslookup Default Server: foo.bar.some.domain Address: XX.XX.XX.XX > ftp.iij.ad.jpどうです。IPアドレスが表示されましたか?表示された場合、 DNSを使って外部のホストのIPアドレスを引く事が出来るよう になりました。
directory /usr/Server/named cache . root.cache ; Zone secondary . 192.244.176.54 backup/root secondary jp 192.244.176.54 backup/jp secondary ad.jp 192.244.176.54 backup/ad.jp secondary ac.jp 192.244.176.54 backup/ac.jp secondary co.jp 192.244.176.54 backup/co.jp secondary go.jp 192.244.176.54 backup/go.jp secondary or.jp 192.244.176.54 backup/or.jp secondary rim.or.jp 202.255.181.2 backup/rim.or.jp primary greg.rim.or.jp greg.rim.or.jp.zone ; Reverse secondary ARPA 192.244.176.54 backup/ARPA secondary 181.255.202.IN-ADDR.ARPA 202.255.181.2 backup/181.255.202.IN-ADDR.ARPA primary 172.IN-ADDR.ARPA 172.IN-ADDR.ARPA.rev primary 31.172.IN-ADDR.ARPA 31.172.IN-ADDR.ARPA.rev primary 1.31.172.IN-ADDR.ARPA 1.31.172.IN-ADDR.ARPA.rev primary 0.0.127.IN-ADDR.ARPA localhost.rev本来、無闇やたらとセカンダリーサーバになるべき物 ではないのですが、ダイアルアップPPPで間欠的に接続 している関係上、無闇やたらとUnauthrized secondary にならなければなりません。理由はnslookupをデバッグ モードで立ち上げて、ローカルホストのIPアドレスを獲得 しようとしてみれば分かります。
まず、fooというホスト名をネームサーバを用いて検索 して見ましょう。
> foobar ;; res_mkquery(0, foo.bar.or.jp, 1, 1) ------------ Got answer: HEADER: opcode = QUERY, id = 14, rcode = NOERROR header flags: response, auth. answer, want recursion, recursion avail. questions = 1, answers = 1, authority records = 0, additional = 0 QUESTIONS: foo.bar.or.jp, type = A, class = IN ANSWERS: -> foo.bar.or.jp internet address = 172.31.1.1 ttl = 3600 (1 hour) ------------となります。これはこれで正しい動作です。しかし、 本来あるべき名前は
foo.bar.or.jp
なので、この名前で問い合わせて見るとホスト名は
foo.bar.or.jp.bar.or.jp
になります。このようなホスト名は存在しないので
# 問い合わせ文字列 問い合わせ先サーバ foo.bar.or.jp.rim.or.jp -> rim.or.jp foo.bar.or.jp.or.jp -> or.jp foo.bar.or.jp.jp -> jp foo.bar.or.jp -> bar.or.jpのように、より上位のネームサーバに問い合わせを 行おうとします。この状態になった場合、タイムアウト を待たされます。また場合によっては挙げ句の果てに
host lookup fail
になります。
次に、PPPでリンクが確立されている事を確認した後、BINDを 立ち上げます。この時、起動に時間がかかるかも知れません が、気にしないで下さい。なお、私の設定の場合、BINDの プロセスサイズは1.4MB程度になりました。BINDが応答できる ようになったらnslookupコマンドできちんと動作しているか 確認して下さい。これで、BINDの立ち上げは終了です。
telnet remote.host.some.domain
と言うように使用します。第二引数は指定しなくても
構いません。
ftp remote.host.some.domain
と言うように使用します。
本来、ftpはリモートサイト上にアカウントがある事が前提 となるのですが、アカウントを必要としないで利用できる ケースも存在します。これを「匿名ftp(anonmouse-ftp)」 と言います。これはユーザ名に「ftp」パスワードに貴方の メールアカウント指定した物です。