ADSL試験サービスからフレッツADSLに移行しました。そこで、PPPoEが必要になったので格闘してみました。
ルータとサーバ、ばらばらに設定すると、アドレスの管理などが面倒になります。また、DNSに対応していないルータなどでIPマスカレードを使いサーバを立てようなどとすると、設定が非常に複雑になります。ということで、Linuxマシンをサーバ兼ルータとして設定してしまいます。これで、ルータ代1万円程お得になり、あとからの設定も楽々です。
ルータ内蔵ADSLモデムなどがある場合には、ここでの設定はほとんど不要かもしれません・・・。細かな設定はできないかもしれませんが。
(Yahoo BBなど)
2002年10月からフレッツADSLが2セッション対応になりました。はてさて、Linuxでは対応できるのでしょうか?
いろいろ検索した結果、解説があったので導入には成功しました。
PPxPは、先にアンインストールしてしまってもいいかもしれません。
VinePlusから入手可能なrp-pppoeとpppをインストールします。
(私は、オリジナルのrp-pppoeとRedHat6用のpppを使ってしまいました)
rpm -ivh ~ppp~.rpm として2つのパッケージをインストールします。Vine 2.5の場合は入っているかもしれません。
PPPoEで使用するEthernetカードは、動作しない設定にしておいてください。
X Windowの設定画面で、停止中になっていればいいかもです。(曖昧な説明だ・・・)
デフォルトゲートウェイも、0.0.0.0などにしておくのがいいかもしれません。
必要に応じてLAN内のゲートウェイは設定してください。/etc/modules.conf にドライバを指定する必要があります。
蟹さんなら alias eth1 8139too とか。
/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 です。
できないことがいくつかありそうなのですがわかる人がいたら教えてください。参考
- 複数アドレス割り当て
企業向けの複数固定IPアドレス割り当てができるものがいくつかありますが、これへの自動対応ってできるのかな?
DHCP機能とかも関係してきそう・・・。
ISDNルータやADSLルータは、これに対応しているものがあります。- IPv6対応
プロトコル上はできそうなんですが、rp-pppoeやLinux自体が対応してるのかどうかあやしい。- 複数アクセスポイント同時接続(Bフレッツ ベーシック)
1台で1アクセスポイントに接続できればいいのかもしれませんが、1台で2アクセスポイントは? pppoeを2つ起動すればOKとかかな?
2台pppoe対応マシンを使えばいいだけか・・・普通そうだろな・・・。
Roaring Penguin Software (PPPoE)
簡単でした。
echo 1 > /proc/sys/net/ipv4/ip_forward
と、あとはipchainsの設定を適度にするだけです。
上でも書いたように、デフォルトゲートウェイの設定は、外しておきましょう。
渋谷に引っ越し、ADSL対象地域だったので専用線引っ張ってみました。
NTT-MEのBA512というルータも買ったのですが、こいつのIP マスカレード機能ではDNSの公開に問題があったのか、それともただ単にLinuxの設定が悪かったのか、DNSがいつまでたっても外から参照できないので、LinuxサーバをIPマスカレードルータとして機能するようにしてしまいました。
最初に試してみたのは、linuxconf という設定コマンドでの設定でした。
・・・。
Vine Linuxでは、カーネルにIPマスカレードの機能があります。カーネルをリメイクすることで組み込むことができるのですが、そのなかで引っかかったものにファイアウォールの設定があります。
IPマスカレードを使うには、外からのアクセスを制限するファイアウォール機能もカーネルに組み込まないといけないのです。
IPマスカレードは使えるようになりましたが、サーバのアクセス制限はどこから外せばいいのか全くわかりません。
linuxconf を隅から隅まで眺めてみますが、ファイアウォールの設定にDNSのポート番号も書かれておらず、途方に暮れるばかり。
あちこち探し回って、ポート番号ごとにアクセス制限をかけているのはファイアウォール機能であるというのは正解で、コマンドでも設定できることが判明しました。
そのコマンドは、ipchainsです。
Vine Linux でIPマスカレードを使いサーバ運用をするときに必要な基本知識
参考文献
> JF IPマスカレードのドキュメント
> JF ファイアウォール(ipchains)のドキュメント