2007年01月21日

PPPoEサーバを立ててみる実験

eddypのblogから。検証系の仕事では便利そうなので試してみることにした。

  1. 同じネットワークセグメント上にサーバとクライアントそれぞれのマシンを用意する(仮想マシンでも可能。検証はqemuで行った)。
  2. サーバ側にppp、pppoeのパッケージをインストールする。
  3. サーバ側の/etc/ppp/optionsを次のようにしておく。
    mru 1492
    mtu 1492
    noreplacedefaultroute
    proxyarp
    ms-dns DNSのIPアドレス
    
  4. サーバ側に/etc/ppp/pppoe-server-optionsというファイルを作り、次のようにしておく。
    require-pap
    login
    lcp-echo-interval 10
    lcp-echo-failure 2
    
  5. サーバ側の/etc/ppp/pap-secretsに次のような行を加える。サーバ側の認証はPAM(/etc/pam.d/ppp)で行われる。
    * * "" *
    
  6. サーバ側でPPPoEサーバを起動する(eth0でつながっているものとする)。
    pppoe-server -T 60 -I eth0
    
    manによればeth0でIPアドレスを持っててはいけないとあるが、実際には問題ないように見える。PPP接続において、サーバ側のIPアドレスは10.0.0.1がデフォルト(-Lで変更可能)。リモート側のIPアドレスは10.67.15.1〜(-Rで変更可能)。最大64セッションが許可される(-Nで変更可能)。
  7. クライアント側はpppoe、pppoeconfのパッケージをインストールする。
  8. クライアント側でpppoeconfを実行し、PPPoEを探索させる。認証ユーザ名/パスワードは、サーバ側の一般ユーザのユーザ名とパスワードを指定する。
  9. クライアント側でpon dsl-providerを実行すると、サーバに接続し、PPPのセッションが張られる。

ここでは一般ユーザのアカウントで認証を行ったが、サーバ側の/etc/pam/pppの認証機構を適当に変えてやれば別の認証方法を使える。検証ではなく、実際にこれで運用するとなると、サーバ側で適宜NATを行ったりする必要があるだろう。

ピタパンのハンバーガー

合挽ハンバーグ、セロリ、トマト、レタス、玉葱、オリーブをピタに詰め、唐辛子マヨネーズで。