Vine Linux バグトラッキングシステム - Vine Linux
課題の詳細を表示
0000560Vine Linux1 バグ公開2007-11-15 23:592009-04-22 12:12
miyabi 
daisuke 
不明 
完了不明 
 
 
なし
0000560: /etc/ppp/ip-upの内容について
下記スクリプトに誤りがあると思われます。

/etc/ppp/ip-up

誤(6行目から)
LOGDEVICE=$6
REALDEVICE=$1

export PATH=/sbin:/usr/sbin:/bin:/usr/bin

[ -f /etc/sysconfig/network-scripts/ifcfg-${LOGDEVICE} ] && /etc/sysconfig/network-scripts/ifup-post ifcfg-${LOGDEVICE}

正(6行目から)
LOGDEVICE=$6
REALDEVICE=$1

export PATH=/sbin:/usr/sbin:/bin:/usr/bin

[ -f /etc/sysconfig/network-scripts/ifcfg-${REALDEVICE} ] && /etc/sysconfig/network-scripts/ifup-post ifcfg-${REALDEVICE}

http://www.linux.or.jp/JF/JFdocs/PPP-HOWTO-23.html [^] より
# $1 pppd が使うインターフェイス名(例:ppp3)
# $2 tty デバイス名
# $3 tty デバイス速度
# $4 インターフェイスのローカル IP アドレス
# $5 リモートの IP アドレス
# $6 pppd の ipparam オプションで指定するパラメータ

ということなので$REALDEVICEが正しいと思います。
もしくは
LOGDEVICE=$1
と思います。
設定されていません。
patch initscripts.patch (1,630) 2007-11-16 08:23
http://mantis.vinelinux.org/file_download.php?file_id=141&type=bug
課題の履歴
2007-11-15 23:59miyabi新規課題
2007-11-16 08:23daisukeバージョン4.1 => 4.1,VineSeed
2007-11-16 08:23daisuke担当者 => daisuke
2007-11-16 08:23daisuke添付ファイル追加: initscripts.patch
2007-11-16 08:23daisuke状態新規 => テスト待ち
2007-11-16 08:23daisukeコメント追加: 0002695
2007-11-16 23:16miyabiコメント追加: 0002696
2007-11-17 20:35daisukeコメント追加: 0002697
2007-11-18 23:42miyabiコメント追加: 0002698
2007-12-11 14:06miyabiコメント追加: 0002699
2007-12-16 21:46daisuke状態テスト待ち => 担当者決定
2007-12-16 21:46daisukeコメント追加: 0002700
2008-02-12 14:29miyabiコメント追加: 0002701
2009-04-22 12:12iwamotoバージョン4.1,VineSeed => VineSeed,4.1
2009-04-22 12:12iwamoto状態担当者決定 => 完了
2009-04-22 12:12iwamotoコメント追加: 0002702

コメント
(0002695)
daisuke   
2007-11-16 08:23   
> 下記スクリプトに誤りがあると思われます。
>
> /etc/ppp/ip-up
>
> 誤(6行目から)
> LOGDEVICE=$6
> REALDEVICE=$1
>
> export PATH=/sbin:/usr/sbin:/bin:/usr/bin
>
> [ -f /etc/sysconfig/network-scripts/ifcfg-${LOGDEVICE} ] &&
> /etc/sysconfig/network-scripts/ifup-post ifcfg-${LOGDEVICE}
>
> 正(6行目から)
> LOGDEVICE=$6
> REALDEVICE=$1
>
> export PATH=/sbin:/usr/sbin:/bin:/usr/bin
>
> [ -f /etc/sysconfig/network-scripts/ifcfg-${REALDEVICE} ] &&
> /etc/sysconfig/network-scripts/ifup-post ifcfg-${REALDEVICE}

ip-up で ifup-post に ${LOGDEVICE} (pppd で ipparam を指定して ifcfg-xxx の
xxx 部分を渡しています) ifcfg-${LOGDEVICE} を渡しているのは正しいと思います。
(ifcfg-XXX の XXX は real device name とは限りませんので)
問題は、ifup-post から呼ばれている ifup-routes へ REALDEVICE が渡っていない
ことのようです。

initscripts-8 を参考に ip-up と ifup-post を修正して正しく REALDEVICE が
ifup-routes へ渡るように修正しました。ご確認ください。

Vine 4.x: initscripts-7.2.10-0vl0.1
VineSeed: initscripts-7.2.10-0vl1
でそれぞれ適用される予定です。
(0002696)
miyabi   
2007-11-16 23:16   
> > 下記スクリプトに誤りがあると思われます。
> >
> > /etc/ppp/ip-up
> >
> > 誤(6行目から)
> > LOGDEVICE=$6
> > REALDEVICE=$1
> >
> > export PATH=/sbin:/usr/sbin:/bin:/usr/bin
> >
> > [ -f /etc/sysconfig/network-scripts/ifcfg-${LOGDEVICE} ] &&
> > /etc/sysconfig/network-scripts/ifup-post ifcfg-${LOGDEVICE}
> >
> > 正(6行目から)
> > LOGDEVICE=$6
> > REALDEVICE=$1
> >
> > export PATH=/sbin:/usr/sbin:/bin:/usr/bin
> >
> > [ -f /etc/sysconfig/network-scripts/ifcfg-${REALDEVICE} ] &&
> > /etc/sysconfig/network-scripts/ifup-post ifcfg-${REALDEVICE}
>
> ip-up で ifup-post に ${LOGDEVICE} (pppd で ipparam を指定して ifcfg-xxx
> の
> xxx 部分を渡しています) ifcfg-${LOGDEVICE} を渡しているのは正しいと思いま
> す。
> (ifcfg-XXX の XXX は real device name とは限りませんので)
> 問題は、ifup-post から呼ばれている ifup-routes へ REALDEVICE が渡っていな
> い
> ことのようです。
>
> initscripts-8 を参考に ip-up と ifup-post を修正して正しく REALDEVICE が
>
> ifup-routes へ渡るように修正しました。ご確認ください。
>
> Vine 4.x: initscripts-7.2.10-0vl0.1
> VineSeed: initscripts-7.2.10-0vl1
> でそれぞれ適用される予定です。

試してみました。
[ -f /etc/sysconfig/network-scripts/ifcfg-${LOGDEVICE} ]
で${LOGDEVICE}が空になっているのでifup-postを動かしていないようです。
pppdも入れ替えないとだめなんでしょうか?
(0002697)
daisuke   
2007-11-17 20:35   
> > initscripts-8 を参考に ip-up と ifup-post を修正して正しく REALDEVICE が
> >
> > ifup-routes へ渡るように修正しました。ご確認ください。
> >
> > Vine 4.x: initscripts-7.2.10-0vl0.1
> > VineSeed: initscripts-7.2.10-0vl1
> > でそれぞれ適用される予定です。
>
> 試してみました。
> [ -f /etc/sysconfig/network-scripts/ifcfg-${LOGDEVICE} ]
> で${LOGDEVICE}が空になっているのでifup-postを動かしていないようです。
> pppdも入れ替えないとだめなんでしょうか?

お使いになっているのは pppoe でしょうか?
素の ppp を ifcfg-ppp0 などとしてつかっている場合は問題な
さそうですが、pppoe の場合は rp-pppoe 側のスクリプトと整合
性がとれていなくて空で渡ってしまっているようです。
rp-pppoe の pppoe-connect を修正して ipparam で引数を渡す
ように修正しました。同じく beta repository に置いておきます。
rp-pppoe-3.8-0vl3.1 です。

#/etc/sysconfig/network-scripts/ifcfg-ppp0 に pppoe.conf
#相当の設定を書くことで ifup/ifdown でもいけるようになって
#いるとおもいますが、こちらはまだ暫定的な対応です。ifcfg-*
#がなければ /etc/ppp/pppoe.conf が使われます。
#pppoe-setup なども修正して正しく動くようにすべきですが、
0000004.2では仕様が変わりすぎるのでVineSeed側だけにしておきます。

--
beta repository の apt-line:
rpm http://beta.vinelinux.org/testing [^] 4.2/$(ARCH) test
(0002698)
miyabi   
2007-11-18 23:42   
> お使いになっているのは pppoe でしょうか?

はい。pppoeを使用してマルチセッションで接続しています。
(ppp0は@nifty ppp1はフレッツスクエア向け)

> 素の ppp を ifcfg-ppp0 などとしてつかっている場合は問題な
> さそうですが、pppoe の場合は rp-pppoe 側のスクリプトと整合
> 性がとれていなくて空で渡ってしまっているようです。
> rp-pppoe の pppoe-connect を修正して ipparam で引数を渡す
> ように修正しました。同じく beta repository に置いておきます。
> rp-pppoe-3.8-0vl3.1 です。

現状、ifcfg-ppp0とifcfg-ppp1を作ってBOOT時にupするようにしています。
新しいのを試してみましたがupしなくなってしまいました。
service pppoe start
では問題なくupします。

素直にip-up.localを作ってそっちでifup-routesを呼び出したほうが
よかったんでしょうか?

# 勉強不足で申し訳ございません。
(0002699)
miyabi   
2007-12-11 14:06   
確認遅くなり申し訳ございませんでした。

> 現状、ifcfg-ppp0とifcfg-ppp1を作ってBOOT時にupするようにしています。
> 新しいのを試してみましたがupしなくなってしまいました。
> service pppoe start
> では問題なくupします。

やっと時間が取れたので詳しく検証してみました。
ifup-pppの時点ではDEVNAMEがセットされています。
ifup-pppからpppoe-startを呼び出していますが、pppoe-startではDEVNAMEがセットされていない状態になっています。

なので今回追加された
IPPARAM="ipparam ${DEVNAME}"
には空の文字が渡って pppd で unrecognized option が出ているのだと思います。
DEVNAMEを使うのであれば network-functions の source_config を pppoe-connect で呼び出す必要があるのではないでしょうか?
もしくは ifcfg-ppp0 に DEVNAME=ppp0 とかするのが正解でしょうか?

# デバッグすることは可能ですがLinuxの流儀(?)はいまだよくわかっていませんので
# 頓珍漢なことをいっているかもしれません
(0002700)
daisuke   
2007-12-16 21:46   
> やっと時間が取れたので詳しく検証してみました。
> ifup-pppの時点ではDEVNAMEがセットされています。
> ifup-pppからpppoe-startを呼び出していますが、pppoe-startではDEVNAMEがセッ
> トされていない状態になっています。
>
> なので今回追加された
> IPPARAM="ipparam ${DEVNAME}"
> には空の文字が渡って pppd で unrecognized option が出ているのだと思いま
> す。
> DEVNAMEを使うのであれば network-functions の source_config を pppoe-
> connect で呼び出す必要があるのではないでしょうか?
> もしくは ifcfg-ppp0 に DEVNAME=ppp0 とかするのが正解でしょうか?

たしかに DEVNAME を pppoe-connect (の上の方)で設定するように
しないといけないです。修正したつもりが漏れていたようです。
これからあらためて修正してみます。

# 割り当て済みに戻しておきます。
(0002701)
miyabi   
2008-02-12 14:29   
> たしかに DEVNAME を pppoe-connect (の上の方)で設定するように
> しないといけないです。修正したつもりが漏れていたようです。
> これからあらためて修正してみます。

申し訳ございません。
修正されたことに気づいていませんでした。
4.2のクリーンインストールをして始めて気づきました(汗

問題なく動いています。
(0002702)
iwamoto   
2009-04-22 12:12   
> 4.2のクリーンインストールをして始めて気づきました(汗
>
> 問題なく動いています。

完了とします。