|
次のページ
前のページ
目次へ
29. PPP サーバの設定既に述べてきたように、PPP サーバを設定する方法はいくつもあります。ここ で紹介するのは(Cyclades のマルチポートシリアルカードを使って)私が使っ ている方法で、電話回線は一つの番号に複数の回線が接続するロータリーダイ アル式になっています。 ここで紹介した方法がお気に召さなければ、ぜひ自分流の方法でやってみてく ださい。この HOWTO の将来のバージョンではいろいろな設定方法を紹介しよ うと思っているので、コメントや試した方法について教えてください。 ここで説明するのは Linux を PPP サーバとして設定する話のみで、特別なター ミナルサーバについての説明などは(一切)するつもりはありません。 また、私は shadow password を試したことがありません(いつかやってみたい のですが)。ですから、以下に説明する話は shadow password 環境については 一切あてはまりません。 29.1 カーネルのコンパイル今までに述べてきたカーネルのコンパイルやカーネルのバージョンと pppd の バージョンの問題全てがあてはまります。この章では今までに述べてきたこと 全てに目を通されたものとして話を進めます。 PPP サーバ用にはカーネルに IP forward機能を組みこむことが必須です。必要ならばその他の機能(例えば IP ファイアウォールや IP アカ ウンティングなど)も組みこんでください。 マルチポートシリアルカードを使う場合、必要なドライバを組みこむのを忘れ ないように。 29.2 サーバシステムの概要電話回線を経由して PPP(と SLIP)で接続してくるユーザ用にユーザアカウン トとシェルアカウントをユーザ名/パスワードのペアを使って提供します。こ うしておけば(我々にとって有利なことに)ユーザが必要になるのは一つのアカ ウントのみで、そのアカウントで全ての接続を行うことになります。 私たちは教育機関の人間で、スタッフや学生のアクセスに課金しません。です から、接続時間の管理や接続料の請求には煩わされないことにします。 インターネットと私たちのサイトの間にはファイアウォールを設け、ファイア ウォール内部へ電話回線経由でアクセスしてくるユーザが外部へアクセスする のを制限します(実際には内部にもいくつかファイアウォールがあるのですが、 それらについては必要ないので触れません) ユーザが PPP で接続してくる手順としては(もちろん有効なアカウントを持っ たユーザです):
サーバはそれぞれの ユーザが接続を切った場合、pppd が接続断を認識してモデムに回線を切るよ うに命じ、同時に PPP 接続も終了するようにします。 29.3 ソフトウェアを集める以下のようなソフトウェアが必要です。
29.4 標準的な(シェル経由の)接続。PPP サーバを設定する前に Linux が正しく電話を受けられることを確認して おいてください。 この HOWTO ではその部分は扱いません。選んだ getty のドキュメントや serial HOWTO を御覧ください。 29.5 PPP のオプションファイルの設定
asyncmap 0 netmask 255.255.254.0 proxyarp lock crtscts modem 注意 - 私たちは(明示的に)経路を指定していません - 加えてデフォルトルート オプションも指定していません。なぜなら、(PPP サーバにとって)必要な機能 は ppp クライアントからのパケットを LAN/Internet へ送りだし、 LAN/Internet からのパケットをクライアントへ送りだすことだけだか らです。 このために必要なのはクラアントマシンへのホストとしての経路とpppd に与 える 'proxyarp' オプションだけです。 proxyarp オプションを指定すると(驚くべきことに) PPP サーバの arp テー ブルに「PPP クライアント宛てのパケットは全て私に送って」という意味にな るエントリが作成されます。これが一台の PPP クライアントへの経路を作る もっとも簡単な方法です。しかしながら、この方法では 2 つの LAN を結びつ けることはできません。そのためには proxy arp ではなく正しくネットワー クルートを定義してやる必要があります。 電話回線経由で接続してくるユーザに動的に IP アドレスを割りあてるために
は、ポートごとに IP 番号を割りあてておきます。そのためには
このファイルにはローカル(サーバ側)の IP 番号とそのポートに割りあてる IP 番号を記述しておきます。例えば:
kepler:slip01 このファイルには有効なホスト名を指定できることに注意してください(私の 憶えている IP 番号は本当に核となるマシンとネットワークデバイスのみでし た。ホスト名は数字よりも意味があるので記憶しやすいでしょう)。 29.6 pppd をユーザが(うまく)動かせるように設定するppp 接続を開始する際にはカーネルのデバイス(ネットワークインターフェイ ス)を設定し、カーネルのルーティングテーブルを操作しなければいけません ので、ルート権限が必要になります。 幸いなことに、pppd は uid を root にしても「安全」なようにデザインされ ているので、
chmod u+s /usr/sbin/pppd しておきます。 このファイルを ls -l すると次のように表示されます。
-rwsr-xr-x 1 root root 74224 Apr 28 07:17 /usr/sbin/pppd こうなっていないとユーザが ppp 接続を開始することができません。 29.7 pppd 用のエイリアスの設定接続してくるユーザに分りやすいように、 私たちはこういうエイリアスを作っています。
alias ppp="exec /usr/sbin/pppd -detach" このエイリアスの意味は
6:24pm up 3 days, 7:00, 4 users, load average: 0.05, 0.03, 0.00 User tty login@ idle JCPU PCPU what hartr ttyC0 3:05am 9:14 - これでお終い。初めに言った通り、単純で基本的な PPP サーバシステムが出 来上がりました。 次のページ 前のページ 目次へ |
[ |