しいしせねっとわーく
[技術資料室] [ネットワーク編] [Linuxメモ]

Linuxメモ VineLinuxでPPPoE編

PPPoE for VineLinux でLinuxをADSLルータにするLast update 2004.5.25

ADSL試験サービスからフレッツADSLに移行しました。そこで、PPPoEが必要になったので格闘してみました。
ルータとサーバ、ばらばらに設定すると、アドレスの管理などが面倒になります。また、DNSに対応していないルータなどでIPマスカレードを使いサーバを立てようなどとすると、設定が非常に複雑になります。ということで、Linuxマシンをサーバ兼ルータとして設定してしまいます。これで、ルータ代1万円程お得になり、あとからの設定も楽々です。

ルータ内蔵ADSLモデムなどがある場合には、ここでの設定はほとんど不要かもしれません・・・。細かな設定はできないかもしれませんが。
(Yahoo BBなど)

2002年10月からフレッツADSLが2セッション対応になりました。はてさて、Linuxでは対応できるのでしょうか?

必要な環境

VineLinux 2.1.5には、PPPoEがありませんでした。 2.5 には入っているようですね。
NTTから送られてくるCD-ROMにPPPoEが入っているというので期待してみたのですが、これもいまひとつ使い方がわからず、あきらめてしまいました。
Ethernetカードは、ADSLモデムと接続するだけなので、10BASE-Tで充分です。余っている物があればそれを再利用してみましょう。
イントラネット(家庭内LANともいう)を構築している場合は、Ethernetカードがもう一枚必要です。こちらは100BASE-Tでよいのかもしれません。
100BASE-TのEthernetカードは、クロスケーブルでの接続を想定していないので、対応スイッチングHUBなども用意しておく方がいいようです。このため、ADSLモデム側に接続するEthernetカードは10BASE-Tのカードをおすすめしています。フレッツADSLモデムは、ストレートで接続できてしまいますね?

いろいろ検索した結果、解説があったので導入には成功しました。

  1. PPPとPPPoEが必要です。(VinePlusで入手できるようです)

PPPoEのインストール

PPxPは、先にアンインストールしてしまってもいいかもしれません。
VinePlusから入手可能なrp-pppoeとpppをインストールします。
(私は、オリジナルのrp-pppoeとRedHat6用のpppを使ってしまいました)
rpm -ivh ~ppp~.rpm として2つのパッケージをインストールします。

Vine 2.5の場合は入っているかもしれません。

Ethernetカードの設定

PPPoEで使用するEthernetカードは、動作しない設定にしておいてください。
X Windowの設定画面で、停止中になっていればいいかもです。(曖昧な説明だ・・・)
デフォルトゲートウェイも、0.0.0.0などにしておくのがいいかもしれません。
必要に応じてLAN内のゲートウェイは設定してください。

/etc/modules.conf にドライバを指定する必要があります。

蟹さんなら alias eth1 8139too とか。

PPPoEの設定(難関)

/etc/ppp/pppoe.conf を編集します。(しなくていいのかな・・・)
/usr/sbin/adsl-setup を実行します。
いろんなことが聞かれるので、設定します。普通に接続することだけ考えて設定しましょう。(IPマスカレードはしないなどなど)

Vine 2.6の場合

/etc/ppp/pppoe.conf
/etc/ppp/chap-secrets
/etc/ppp/pap-secrets

を編集します

接続開始

/usr/sbin/adsl-start を実行して接続できれば成功です。
失敗しても、何度か繰り返してみると成功するようです。

Vine 2.6の場合

service adsl start です。

rp-pppoeでできることとできないこと?

できないことがいくつかありそうなのですがわかる人がいたら教えてください。
参考

 Roaring Penguin Software (PPPoE)

IPマスカレードの設定(VineLinux2.1.5編)

Last update 2001.8.18

簡単でした。
echo 1 > /proc/sys/net/ipv4/ip_forward
と、あとはipchainsの設定を適度にするだけです。

上でも書いたように、デフォルトゲートウェイの設定は、外しておきましょう。

IPマスカレードとの格闘

last update 2001.2.4

渋谷に引っ越し、ADSL対象地域だったので専用線引っ張ってみました。
NTT-MEのBA512というルータも買ったのですが、こいつのIP マスカレード機能ではDNSの公開に問題があったのか、それともただ単にLinuxの設定が悪かったのか、DNSがいつまでたっても外から参照できないので、LinuxサーバをIPマスカレードルータとして機能するようにしてしまいました。

最初に試してみたのは、linuxconf という設定コマンドでの設定でした。
・・・。

Vine Linuxでは、カーネルにIPマスカレードの機能があります。カーネルをリメイクすることで組み込むことができるのですが、そのなかで引っかかったものにファイアウォールの設定があります。
IPマスカレードを使うには、外からのアクセスを制限するファイアウォール機能もカーネルに組み込まないといけないのです。
IPマスカレードは使えるようになりましたが、サーバのアクセス制限はどこから外せばいいのか全くわかりません。
linuxconf を隅から隅まで眺めてみますが、ファイアウォールの設定にDNSのポート番号も書かれておらず、途方に暮れるばかり。

あちこち探し回って、ポート番号ごとにアクセス制限をかけているのはファイアウォール機能であるというのは正解で、コマンドでも設定できることが判明しました。
そのコマンドは、ipchainsです。

Vine Linux でIPマスカレードを使いサーバ運用をするときに必要な基本知識

  1. IPchains の設定
  2. カーネルリメイク?
  3. IPマスカレードの設定


参考文献
> JF IPマスカレードのドキュメント
> JF ファイアウォール(ipchains)のドキュメント


[しいしせねっと]