August 05, 2005

MacOSXでPPPoEマルチセッション (ルータ不要)

MacOSXで光ファイバーやADSLでプロードバンドルータなどをかまさずに直接インターネットに接続されている方はどれくらいいるのでしょうか?僕もその一人です。

今回はそのMacOSXから複数のISP(インターネットプロバイダ)に同時にリンクを張る、いわゆるPPPoEマルチセッションの方法を試してみました。
実はMacOSXからGUIの操作をしているだけではマルチセッションにはならないため、プロバイダが異なる場合(例えばISPとフレッツ・スクウェアの組み合わせなど)はいちいちFinderから『場所』をかえて再接続するという手続きが必要でした。これは面倒だと思いませんか?
加えて、Windowsでは多くの場合マルチセッション対応の接続ツールが提供されているため、こんな不便な思いはすることはないでしょう。これは差別だっ、ということでチャレンジしてみました。

結果からいうとできました。MacOSX自体、FreeBSDなところが結構あるので、その方法に従ってやっていけばうまくいきます。今回は例としてISPとフレッツ・スクウェアの例で試してみたいと思います。
方針としては

  1. ISPに接続した状態でpppdを使ってフレッツ・スクウェアに接続できることを確認する
  2. フレッツ・スクウェア側に流れて欲しいパケットが正しく流れるようrouteコマンドを使ってルーティングテーブルを設定する
  3. namedを用いてフレッツ・スクウェア側の名前解決を行えるようにする(DNSを自分で立てず、/etc/hostsを編集することによっても解決可能だが自分で立てたほうが楽)
このような順で薦めたいと思います。

方法(自己責任でお願いします)は続きをどうぞ。

1.ISPに接続した状態でpppdを使ってフレッツ・スクウェアに接続できることを確認する
まず、/etc/ppp/peer/flets-squareというファイルを作成し、フレッツ・スクウェアの設定を追加する。追加する設定の例は

noipdefault
nodefaultroute # DefaultRouteはISP側
#replacedefaultroute # 書き換えないのでコメントアウト
hide-password # パスワードは保護する
noauth
persist
#usepeerdns # DNSは自分でなんとかするのでコメントアウト
user guest@flets # フレッツ・スクエアのユーザ名
noproxyarp

パスワードの設定を/etc/ppp/pap-secretsに追加する。
guest@flets * guest

この設定を元にしてpppdを起動する。
sudo pppd plugin PPPoE.ppp call flets-square

ちなみに切断は
sudo kill `cat /var/run/ppp1.pid`

2.ルーティングテーブルの設定
routeコマンドでフレッツ側にパケットがながれるよう、ルーティングテーブルを設定。

sudo route add 220.210.194.0/25 (ifconfigで調べたppp1のGWアドレス)

3.名前解決
まだDNSが起動していないなら起動する。MacOSXだとBINDが標準でついてくるので、それを有効にすればOK。有効にするには/etc/hostconfigをDNSSERVER=-YES-にすればOK。
/etc/named.confに以下の設定をたす。

zone "flets" {
    type forward;
    forward only;
    forwarders {
        220.210.194.67; // ns1.flets
        220.210.194.68; // ns2.flets
    };
};
zone "194.210.220.in-addr.arpa" {
    type forward;
    forward only;
    forwarders {
        220.210.194.67;
        220.210.194.68;
    };
};

最後にDNSをISPではなくlocalhostをひきにいくようにする。

僕はこれでできましたが、環境によって違うのでいろいろ試行錯誤してみてください。

23:59 fenrir が投稿 : 固定リンク | | このエントリーを含むはてなブックマーク | この記事をdel.icio.usでブックマーク | トラックバック
このエントリーのトラックバックURL: http://fenrir.naruoka.org/mt/mt-tb.cgi/381
コメント
コメントする









名前、アドレスを登録しますか?
(次回以降コメント入力が楽になります)
  • 匿名でのコメントは受け付けておりません。
  • 名前(ハンドル名可)とメールアドレスは必ず入力してください。
  • メールアドレスを表示されたくないときはURLも必ず記入してください。
  • コメント欄でHTMLタグは使用できません。
  • コメント本文に日本語(全角文字)がある程度多く含まれている必要があります。
  • コメント欄内のURLと思われる文字列は自動的にリンクに変換されます。