スポンサーリンク

PPPCTL(8) FreeBSD システム管理者マニュアル PPPCTL(8)

名称

pppctl − PPP 制御プログラム

書式

pppctl [−v] [−t n] [−p passwd]

                                      [                                         host:]Port | LocalSocket [                                                                     command[            ;command]...]

解説

このユーティリティは ppp(8) デーモンのコマンドラインからの制御手段を提供 します。基本的な使い方は、実行中のデーモンを制御する単純なスクリプトを簡 単に書けるようにすることです。

pppctl ユーティリティは、 ppp デーモンが listen しているソケットをあらわ す少なくともひとつの引数を必要とします。詳細については、 ppp コマンドの ‘set server’ を参照して下さい。ソケットが先頭に ’/’ を含んでいると、 AF_LOCAL ソケットとして扱われます。コロンを含んでいると host:port の組と して扱われ、それ以外は単にローカルマシン (127.0.0.1) の TCP ポートを指定 したものとみなされます。 DNS 検索を避けたい場合や、 /etc/services 内に指 定されたポートのエントリがない場合には、 hostport を数字で指定するこ とができます。

残りの引数はすべて、 ppp デーモンに送られる (複数の) コマンドを形成するた めに連結されます。セミコロン文字は コマンドデリミタとして扱われ、ひとつの ‘セッション’ で複数の コマンドを指定することが可能です。例えば:

      pppctl 3000 set timeout 300\; show timeout

ほとんどのシェルでは ’;’ は特殊文字として扱われるので、エスケープかクォー トすることを忘れないようにしてください。

もし、 コマンド引数が与えられなかった場合、 pppctl はインタラクティブモー ドになります。ここで、コマンドは標準入力から読み込まれます。コマンドを読 んでいる時に、 editline(3) が使われていれば、 (editrc(5) で指定した振る舞 いで) 行編集が可能になります。履歴の大きさはデフォルトでは 20 行です。

以下のコマンドラインオプションが利用可能です:

       −v

ppp デーモンに送られたデータ、 ppp デーモンから受け取ったデータを すべて表示します。 pppctl は通常、受け取った非プロンプト行のみ表 示します。このオプションはインタラクティブモードでは無視されま す。

−t n
接続時のデフォルトの 2 秒の代わりに n をタイムアウトの値として用 います。これは (ダイヤルアップも含む) 遅いリンク上でデーモンを制 御しようとする場合に必要かもしれません。

−p passwd
ppp
デーモンが必要とするパスワードを指定します。このスイッチが指 定されないと、 pppctlppp への接続が成功した時にパスワードの入 力を促します。

使用例

ppp−auto モードで実行する場合、 pppctl は多くの仕事を自動化するのに利 用できます (もちろん、実際に ppp をインタラクティブモードを除くどんなモー ドでも制御することができます)。 ps(1) によりあなたの秘密がもれてしまう可 能性のために、 −p オプションは (たとえスクリプトが他の人に読めないように なっていたとしても) お勧めできません。

pppctl への簡単で安全なアクセスを提供するもっとも良い方法は、 /etc/ppp/ppp.conf (の正しいセクション) に以下のようにローカルサーバソケッ トを作成することです:

      set server /var/run/internet "" 0177

これは、 ppp を実行したユーザだけにアクセスできるように、パスワード無しで パーミッションが srw------- のローカルドメインソケットを作成するように ppp に指示します。より詳しい解説はマニュアルページ ppp(8) を参照してくだ さい。

このようにするといくつかのお気楽スクリプトが作成可能になります。インター ネットに接続するには:

      #! /bin/sh
      test $# -eq 0 && time=300 || time=$1
      exec pppctl /var/run/internet set timeout $time\; dial

切断するには:

      #! /bin/sh
      exec pppctl /var/run/internet set timeout 300\; close

接続されているかどうか確かめるには:

      #! /bin/sh
      pppctl -p ’’ -v /var/run/internet quit | grep ^PPP >/dev/null
      if [ $? -eq 0 ]; then
        echo Link is up
      else
        echo Link is down
      fi

このような汎用スクリプトも作成可能です:

      #! /bin/sh
      exec pppctl /var/run/internet "$@"

ダイヤルオンデマンドも pppctl を使って制御可能です。 ppp をずっと動作させ ながらも、毎日 8pm から 8am まではダイヤルアウトを防ぎたいとします。ま た、8pm にアクティブな接続は、閉じられるか自然にタイムアウトするまでは保 持したいとします。

cron(8) エントリとして 8pm に

      pppctl /var/run/internet set filter dial 0 deny 0 0

を実行すると、これ以降のダイヤル要求をすべて防ぎ、8am のエントリ

      pppctl /var/run/internet set filter dial -1

は、再度ダイヤル要求を許可します。

環境変数

以下の環境変数が、インタラクティブモード中の pppctl によって理解されます:

       EL_SIZE

履歴行の数です。デフォルトでは 20 です。

EL_EDITOR
編集モードです。 "emacs" もしくは "vi" だけが受け付けられま す。他の値は無視します。この環境変数は ~/.editrcbind -vbind -e で上書きされます。

関連項目

ps(1), editline(3), editrc(5), services(5), ppp(8)

歴史

pppctl ユーティリティは FreeBSD 2.2.5 で最初に登場しました。

FreeBSD 10.0 June 26, 1997 FreeBSD 10.0

スポンサーリンク