Fletsを使っていると、プロバイダとfletsのマルチセッションのpppoeを張りたくなる。
しかし、FreeBSDの/etc/rc.d/ppp スクリプトはマルチセッションには対応していないので、以下の方法を使うとマルチセッションにできる。(と思う、けど、なんと言ってもうちはOSの起動時にネットワーク系の初期化がうまくいかないので・・・。たぶん、jailに合わせてListenアドレスを限定しているせいだと思うんだけど)
前提条件は、以下。
/etc/rc.subrのおかげで便利になってるんだろうけど、使い方がわかってないと恩恵にあずかれないね。本当はもっとスマートにできるのかも知れない。
しかし、FreeBSDの/etc/rc.d/ppp スクリプトはマルチセッションには対応していないので、以下の方法を使うとマルチセッションにできる。(と思う、けど、なんと言ってもうちはOSの起動時にネットワーク系の初期化がうまくいかないので・・・。たぶん、jailに合わせてListenアドレスを限定しているせいだと思うんだけど)
前提条件は、以下。
- プロバイダにtun0、fletsにtun1で繋ぐ。
- ppp.confでのプロバイダのラベルはinternet、fletsはfletsとする。
- プロバイダに繋ぐときのコントロールソケットは /var/tmp/internet
- fletsに繋ぐときのコントロールソケットは /var/tmp/flets
- /etc/rc.d/ppp スクリプトの変更(プロバイダ用)
*** /usr/src/etc/rc.d/ppp Sat Nov 4 04:28:02 2006 --- ppp Fri Feb 16 17:07:48 2007 *************** *** 14,19 **** --- 14,20 ---- command="/usr/sbin/${name}" start_precmd="ppp_precmd" start_postcmd="ppp_postcmd" + pidfile=/var/run/tun0.pid ppp_precmd() { *************** *** 36,41 **** --- 37,43 ---- esac rc_flags="$rc_flags ${ppp_profile}" + rm -f /var/tmp/internet } ppp_postcmd()
- /etc/rc.d/ppp-flets スクリプトの作成
/etc/rc.d/ppp を /etc/rc.d/ppp-flets としてコピーし、以下を変更する。
*** ppp Fri Feb 16 17:07:48 2007 --- ppp-flets Fri Feb 16 17:10:43 2007 *************** *** 9,20 **** . /etc/rc.subr ! name="ppp" rcvar=`set_rcvar` ! command="/usr/sbin/${name}" start_precmd="ppp_precmd" start_postcmd="ppp_postcmd" ! pidfile=/var/run/tun0.pid ppp_precmd() { --- 9,20 ---- . /etc/rc.subr ! name="ppp_flets" rcvar=`set_rcvar` ! command="/usr/sbin/ppp" start_precmd="ppp_precmd" start_postcmd="ppp_postcmd" ! pidfile=/var/run/tun1.pid ppp_precmd() { *************** *** 36,43 **** ;; esac ! rc_flags="$rc_flags ${ppp_profile}" ! rm -f /var/tmp/internet } ppp_postcmd() --- 36,43 ---- ;; esac ! rc_flags="$rc_flags ${ppp_profile_flets}" ! rm -f /var/tmp/flets } ppp_postcmd()
- /etc/rc.confにflets用の記述を追加(下2行)
ppp_mode="ddial" ppp_nat="NO" ppp_enable="YES" ppp_profile="-unit0 internet" ppp_flets_enable="YES" ppp_profile_flets="-unit1 flets"
- デフォルトでは、commandのプロセスが起動しているかどうかを判定するので、代わりにpidファイルでチェックするように変更。
- たまにpppの死に方によってコントロールソケットが残るので、rmするように変更。(本当は、rc.confの変数にする方がスマートだけど、スクリプトに直書き)
/etc/rc.subrのおかげで便利になってるんだろうけど、使い方がわかってないと恩恵にあずかれないね。本当はもっとスマートにできるのかも知れない。
カテゴリ
FreeBSDトラックバック(0)
このブログ記事を参照しているブログ一覧: ppp multi session
このブログ記事に対するトラックバックURL: https://www.wizard-limit.net/cgi-bin/mt/mt-tb.cgi/1147
コメントする