« WebDAV  |   index   |  プログラミング言語の種類 »

2005年06月25日

自宅サーバを公開

ADSLモデムには「ルータタイプ」と「ブリッジタイプ」がある
これらは、ISDNルータとTA(ターミナルアダプタ)の関係と似た関係にある
ISDNによるインターネット接続では、TCP/IPをPPP(Point to Point Protocol)というプロトコルでくるんで送受信する
ISDNルータはPPPを処理する機能を持つので、ISDNポートにはTCP/IPをくるんだPPPが、LANポートにはPPP部分を取り除いたTCP/IPが流れる
これに対してTAは、PPPを処理しないのでISDNポート、シリアルポート(あるいはUSBポート)のどちらにもPPPが流れる
PPPを処理してTCP/IPに変換するのはPCの役目だ

「Yahoo!BB」を除くADSLサービスでは、PPPoE(PPPoverEthe,net)やPPPoA(PPP over ATM)というプロトコルでTCP/IPを運ぶ
これらは、その名のとおりイーサネットプロトコルやATMでPPPをカプセル化するものだ
PPP部分にはさらにTCP/IPがカプセル化されているという、およそ美しくないプロトコルなのだが、イーサネットプロトコルやATMでPPPの持つユーザー認証機能を利用するために考案された


■ルータタイプのモデム
ルータタイプのADSLモデムは、PPPoEやPPPoAを処理する機能を持ち、LANポートにはTCP/IPが流れる
ISDNルータと同じように、IPマスカレード機能により複数のPCをインターネットに同時接続させることも可能だ
Webブラウジングなど、インターネット上のサーバに接続する場合は、PCの設定が簡単なルータタイプのモデムが手軽でよいのだが、IPマスカレード機能を有効にしたままでサーバを公開するには、ポートフォワードという仕組みを利用しなければならない


■ブリッジタイプのモデム
ブリッジタイプのADSLモデムは、LANポートにPPPoEが流れる
そのため、LinuxマシンでPPPoEを扱えるようにする必要がある
ただし、ADSL回線業者とプロバイダの両方を1社で行う「Yahoo!BB」は、ユーザー認証の必要がないため、PPPoEではなくTCP/IPが直接流れる
「Yahoo!BB」を利用するときは、モデムとPCをイーサネットでつなぎ、TCP/IPの設定を行うだけで利用可能だ
IPアドレスなどのネットワーク情報は、DHCPによって取得する
PPPoEで接続する場合は、LinuxマシンにPPPoE接続ソフトウェアをインストールする
IPアドレスなどの情報はPPPの機能で取得するので、DHCPクライアントを動かす必要はない

今回は、Roaring Penguin'sSoftwareInc.のRP-PPPOEを紹介しよう
なお、モデムとLinuxマシンの間にPPPoE対応ブロードバンドル一夕をつなぎ、PPPoEの面倒をルータにみさせることも可能だが、サーバを公開するにはルータタイプのモデムを使うときと同様にポートフォワードの設定が必須となる

#--------------------------
# PPPoE接続ツールRP-PPPoE
#--------------------------

RP-PPPoEを利用するためには、バージョン2.3.7以上のPPPデーモン(pppd)がインストールされている必要がある
カーネル2.4を採用しているディストリビューションではPPPパッケージ(ppp)も2.4以上になっているが、
古い場合はPPPパッケージのサイト(http://www.samba.org/ppp/)などから最新版を人手しよう
また、モデムとの接続に使うイーサネットインターフェイスにはIPアドレスを設定しないこと


■ファイルの入手とインストール
同社のWebページ(http://www.roaringpenguin.com/pppoe/)には、Red Hat Linux6.2用のバイナリRPM、そのほかのRPM系ディストリビューション向けのソースRPMファイルが用意されている
また、ソースのtar.gzファイルもあるので、非RPM系ディストリビューションのユーザーはこれを使うとよいだろう
ソースRPMを使う場合は、ファイル取得後、rootユーザーになって次のようにする


# rpm --rebuild rp-pppoe-3.3-1.src.rpm


すると、コンパイル作業が行われ、/usr/src/redhat/RPMS/i386/に、
rp-pppoe-3.3-1.i386.rpm
rp-pppoe-gui-3.3-l.i386.rpm
というファイルができるので、これらをインストールしよう
ソースのtar.gzからインストールする手順は次のようになる


# tar xvfz rp-pppoe-3.3.tar.gz
# cd rp-pppoe-3.3
# ./go


コンパイル、インストールが自動的に行われ、続いて接続設定を行うadsl-setupコマンドが起動される
RPMからインストールした場合、adsl-setupコマンドは自動実行されないので、rootユーザーになって/usr/sbin/adsl-setupを実行する


■adsl-setupによるPPPoEの設定
adsl-setupは対話的にRP-PPPoEの接続設定を行うコマンドだ
プロバイダから提供されている接続情報を用意して、それに従って作業を進めよう

 ・USER NAME
 プロバイダに指定されたPPPoE接続ユーザー名
 例:edams@sieg.xeong.com

 ・lNTERFACE
 PPPoE接続に利用するイーサネットインターフェイス
 例:eth0

続いて、オンデマンド接続の設定
 「Enter the demand value(defaultno):」に対し、データが流れなくなってから回線を切断するまでの時間を秒単位で人力
 デフォルトは“no”で、これは回線をつなぎっぱなしにする設定

 ・DNS
 DNSサーバのIPアドレス設定

プロバイダに指定されたDNSサーバがあれば、そのIPアドレスをプライマリ、セカンダリの順で設定する
IPアドレスの代わりに“server”と人力すると、接続時にプロバイダからDNSサーバのIPアドレスを取得する

 ・PASSWORD
 プロバイダに指定されたPPPoE接続パスワード

確認のために2回人力する。なお、画面にエコーバックされないので慎重に

 ・FIREWALLING
 ipchainsによるパケットフィルタの簡易設定
 今回は“O"を入力し、簡易設定を利用しない

設定すべき項目は以上だ。指定した内容が表示されるので正しければ"y”を人力して設定が終了する
adsl-setupによって設定した内容は、/etc/ppp/pppoe.confに書き込まれる
また、ユーザー名とパスワードは、同じディレクトリにあるchap-secretsとpap-secretsに書かれる


■PPPoEでの接続
設定が済んだら/usr/sbin/adsl_startを実行して接続しよう
/var/log/messagesにログが出力されるので、うまくいかないときは参考にしてほしい
Linuxの起動とともに接続したいなら、rootユーザーになって次のようにする

# chkconfig --level 35 adslon

--levelに続けてランレベルを指定する
この例では、Linuxがランレベル3と5で起動する場合にPPPoE接続をする
また、Linuxをシャットダウンする際には接続を切ってくれる

更に詳しい情報 : RP-PPPoEのGUI編


投稿者 edams : 2005年06月25日 03:49

トラックバック

このエントリーのトラックバックURL: http://sieg.xeong.com/mt-tb.cgi/13
このエントリーを含むはてなブックマークこのエントリーを含むはてなブックマーク


コメント

サイン・インを確認しました、 さん。コメントしてください。 (サイン・アウト)

(いままで、ここでコメントしたとがないときは、コメントを表示する前にこのウェブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)


情報を登録する?