sleepingbird.net Home since May.11 2003
Copyright sleepingbird, 1993- All rights reserved.
Linux Server

TOP > Linux Server > ネットに接続

B flets : PPPoE

Vine Linux 4.0
Jan. 28 2007

 主なサーバーの設定が出来たら、Internet に接続する。ネットに接続しなければサーバーじゃない。

 Bフレッツは PPPoE(Point to Point Protocol Over Ethernet)接続のサービスで、ethernet 上で ppp を実現している。従ってダイヤルアップと同じ感覚で接続する。このためのツールが rp-pppoe で Vine-Linux のパッケージに含まれている。

 コマンドは /usr/sbin/ にインストールされている。主なものは以下のとおり。

  • pppoe-setup (設定)
  • pppoe-start (接続-常駐)
  • pppoe-connect (接続)
  • pppoe-stop (切断)
  • pppoe-status (状況照会)
 設定は /etc/ppp/ に置かれるpppoe.confでも可能。
 コンソールから pppoe-setup コマンドを発行して初期設定を行う。入力部分は次のとおり。
# adsl-setup

>>> Enter your PPPoE user name (default ): プロバイダから発給されたユーザー名を入力

>>> Enter the Ethernet interface connected to the ADSL modem
(default eth1): eth0(設定に応じて)

>>> Enter the demand value (default no): defaultのまま(no は回線が切断しても再接続してくれる)

>>> Enter the DNS information here: プロバイダから通知された DNS アドレス(自動取得なら server とする)

>>> Please enter your PPPoE password: プロバイダ接続のパスワード

>>> Please re-enter your PPPoE password: 確認のため再入力

>>> Choose a type of firewall (0-2): 0を入力

>>> Accept these settings and adjust configuration files (y/n)? 当然 yes
 次に pppoe-start コマンドを発行すると接続する。
# pppoe-start
...Connected!
 なお、ifconfig コマンドで確認すると ethernet デバイスではなく、ppp0 が通信しているように表示される。
# ifconfig

eth0 リンク方法:イーサーネット ハードウェアアドレス **:**:**:**:**:**
UP BROADCAST RUNNING MTU:1500 Metric:1
RX packets:254169 errors:2 dropped:0 overruns:0 frame:0
TX packets:177084 errors:0 dropped:0 overruns:0 carrier:0
衝突(Collisions):0 TXキュー長:100
RX bytes:290062657 (276.6 Mb) TX bytes:36903158 (35.1 Mb)
割り込み:10 ベースアドレス:0xc000
eth0 には inet アドレスの項がない

eth1 リンク方法:イーサーネット ハードウェアアドレス **:**:**:**:**:**
inetアドレス:***.***.***.*** ブロードキャスト:***.***.255.255 マスク:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:185245 errors:0 dropped:0 overruns:0 frame:0
TX packets:261073 errors:0 dropped:0 overruns:0 carrier:0
衝突(Collisions):0 TXキュー長:100
RX bytes:37702486 (35.9 Mb) TX bytes:288902157 (275.5 Mb)
割り込み:11 ベースアドレス:0x1000

lo リンク方法:ローカルループバック
inetアドレス:127.0.0.1マスク:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:91 errors:0 dropped:0 overruns:0 frame:0
TX packets:91 errors:0 dropped:0 overruns:0 carrier:0
衝突(Collisions):0 TXキュー長:0
RX bytes:6106 (5.9 Kb) TX bytes:6106 (5.9 Kb)

ppp0 リンク方法:Point-to-Pointプロトコル
inetアドレス:***.***.***.*** P-t-P:***.***.***.*** マスク:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1454 Metric:1
RX packets:251173 errors:0 dropped:0 overruns:0 frame:0
TX packets:174085 errors:0 dropped:0 overruns:0 carrier:0
衝突(Collisions):0 TXキュー長:3
RX bytes:284357015 (271.1 Mb) TX bytes:32891163 (31.3 Mb)
ppp0 が出現し、inet アドレスがふられている。P-t-P は相手側アドレス。
 再起動時、 ethernet デバイス の Lan 側は起動時スクリプトで ip-address、netmask 等を設定しアクティブ状態になる。それに対し Wan 側は DHCP でネットワークから各パラメータを取得して設定しなければならないが、PPPoE 接続のためシステムが完全に起動してからでないと接続シーケンスに移れない。従って、Wan 側の起動時設定を単に DHCP、起動時アクティブとすると、起動シーケンス中に DHCP でのパラメータ取得でタイムアウトするまで停止してしまう。これを回避するために、ネットワーク初期化スクリプトの Wan 側を次のように書き換えておく。(eth0 が Wan 側)
# less /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
 システム起動時に自動でネットに接続したい場合には、chkconfig で設定する。
# chkconfig pppoe on
 システムシャットダウン時、自動で回線切断しないので、手動で切断する必要がある。切断処理を行わずにシステムを落とした場合、次回再起同時の接続に失敗する可能性がある。
 これは、局舎側が回線切断を認識するまでのタイムアウトが長いため。
# pppoe-stop

FLET'S SQUARE : PPPoE Multi Session

 B フレッツ契約は、同時接続が2セッションまで可能となっている。せっかくだから、使わないのも勿体ない。しかし、別のプロバイダと契約してもあまり意味がない。NTTでは FLET'S 契約者向けにフレッツスクウェアという NTT 網の中に構築されたサイトがあるので、こちらにシームレスに接続する環境を整備してみた。
 PPPoE に使用した rp-pppoe は簡単な手続きでマルチセッション接続が可能となっている。
 ひな型として、通常ネットに接続する /etc/ppp/pppoe.conf をコピー編集して利用する。

# cd /etc/ppp
# cp pppoe.conf pppoe.flets
 変更は、接続ユーザー名と DEFAULT-ROUTE の設定の二か所。
USER='guest@flets'
DEFAULTROUTE=no
 接続用パスワードファイル chap-secrets と pap-secrets にそれぞれパスワードを書き加える。
"guest@flets"   *       "guest"
 FLET'S SQUARE に接続してみる。adsl-start の引数として flet's の設定ファイルを指定する。
# adsl-start pppoe.flets
..Connected!
 ifconfig すると ppp0 に続いて ppp1 が出現する。



 フレッツ用のルーティング情報を手動で書き加える。
 なお、最新の情報はここで公開されている。
route add -net 220.210.194.0 netmask 255.255.255.128 dev ppp1
route add -net 220.210.195.0 netmask 255.255.255.192 dev ppp1
route add -net 220.210.195.64 netmask 255.255.255.192 dev ppp1
route add -net 220.210.197.0 netmask 255.255.255.224 dev ppp1
route add -net 220.210.199.0 netmask 255.255.255.224 dev ppp1
route add -net 220.210.199.128 netmask 255.255.255.240 dev ppp1
route add -net 220.210.199.176 netmask 255.255.255.240 dev ppp1
route add -net 220.210.199.32 netmask 255.255.255.224 dev ppp1
route add -net 220.210.199.200 netmask 255.255.255.248 dev ppp1
route add -net 220.210.199.64 netmask 255.255.255.240 dev ppp1
route add -net 220.210.203.0 netmask 255.255.255.224 dev ppp1
route add -net 220.210.199.208 netmask 255.255.255.248 dev ppp1
 つぎに、/etc/named.conf の末尾に次の行を追加し、フレッツ スクウェア専用の DNS 引きができるようにする。最新の DNS 情報はここ

zone "flets" IN {
		type forward;
		forward only;
		forwarders {
			220.210.194.67;
			220.210.194.68;
		};
};

zone "220.210.in-addr.arpa" IN {
		type forward;
		forward only;
		forwarders {
			220.210.194.67;
			220.210.194.68;
		};
};

 named を再起動。
# /etc/rc.d/init.d/named restart
 最後に、iptables を適切に設定して ppp1 の経路を確保する。このサイトの設定ファイルはこちら