入口
benchmarks
  bonnie
    results
  bytebench
comms
  mgetty
    /etc/mail/aliases
  mgetty+sendfax
    pppd サーバを作る mgetty
    設定の概要
    /etc/tty00 --モデム
    /etc/ttys
    mgetty.config, login.config
    まずは login して見る
    /etc/ppp/options
    /etc/ppp/pap-secrets
    確認方法
cross
  i386-mingw32
  ming-w64
    二つの不思議
databases
  mysql-server
    mysql_install_db
    rc.d/mysqld
    mysql_secure_installation
    20050605
      pkg_add
      (err)
      grant
    help
    error
      mysqlcheck
      reset password
      backup
    reset password
    create db
    create user
    grant
    ProFTPD+mysql
    操作
  postgres
  rrdtool
devel
  cvsync
    cvsync.conf
    ソースの取出
    問題
      desired version
  distcc
    url
    distcc って何
    用意するもの
    distccmon-text
    pkg_add
  doxygen
    Doxyfile
    出力を利用する
    1.4.5
    2007/04
  doxygen/gcc
    doxy 1.4.5
  mercurial
  git
font
  設定方法
    mkfontdir
    fontpath
  確認方法
    fontpath
    全ての書体
  intlfonts
    fontpath
  ipa
graphics
  graphviz
  magicpoint
  tgif
    print error
    work around
ham
  hamlog
inputmethod
  anthy
    kinput2
mail
  cyrus-imapd
    url
    説明
    pkg_info -D
    bin/master
    /etc/rc.d/
    認証
    cyrus-saslauthd
    メール box の管理
    着信(MTA)
    問題
    古い cyrus
    sieve
      設定
      .sieve
      操作
      検査
      有効にするには
      問題
        saslauthd
        passwd is asked
  fml
  sendmail
  milter-regex
  smtpfeed
    smtpfeed.mc
    ./Build
    test
    起動準備
  spamassassin
    pkg_add
    sa-learn
    local.cf
  spamass-milter
    メール見出
    設定
    問題
    tuning
  squirrelmail
    url
    設置と設定
    pkg_info -D
    apache
    開始画面例
    文字符号
    課題
    問題
  ja-squirrelmail
    url
    設置と設定
    pkg_info -D
    開始画面例
    文字符号
    課題
    問題
  ctorrent
  urjtag
misc
  ttyrec
multimedia
  mplayer
  gmplayer
  libdvdcss
  xine-ui
net
  bind9
    設定確認
    起動
    必要な機能の分類
    chroot 環境
  TCP/IP と AppleTalk
  netatalk
    AppleTalk と TCP/IP
    版と構成部品
    pkg_info -D
    afpd
    一時的に起動
    認証
    動作確認
    誤り
  mrtg
  net-snmp
    設定
    起動
    log
    mrtg
    snmpget
    snmpwalk
    man pages
    参考
  rsync
  samba
    版
    設定
      smb.conf
      /etc/rc.d
    起動
    add user
    debug
    problem
news
  inn
pkgtools
  pkg_chk
print
  mf
    pktogf + gftodvi
  bibtex
    ごみ
  xpdf
  ja-ptex-bin
    jpbibtex
  ja-ptex
    dvipdfmx
    その他
  pdvipdfmx
personal
  fml
    設定作業の流れ
    pkg_info -D
    fml-system
    ml を作る
      newml
    /etc/mail/aliases
    Generic From
    sendmail.cf
    最初の会員
    自動で送られるメール
    MHonArc
    majordomo
    覚え
      password の設定
      members-admin
      log
      cf を変更した時には
      自動登録
      メールで管理するには
      admin add で welcome
      asymmetric mode って
      debug
      問題
      package 問題
  id-utils
security
  cyrus-sasl
  cy2-crammd5
  openssh
sysutils
  dd_rescue
  mklivecd
      config
  memtester
textproc
  hyperestraier
    更新
    異常停止
wip
  emacs-current
    X11
wip-jp
wm
  fvwm2
www
  apache
    rc.d
    httpd.conf
    start
    mkcert
    startssl
  ap2-auth-pgsql
  cvsweb
    pkgsrc
  firefox
    Fonts
    言語毎設定
    Firmacs
  php4
    mb_string
      Wordpress
    php.ini
  w3m
X11
  qt2
wip
  u-boot

Software 入口 | Hardware | NetBSD 解説 | packages | macppc | TsubaiBSD 絹/software/全文検索

This is under: http://www.ki.nu/software/pkgsrc/

NetBSD/pkgsrc

Last Update: "2005/04/27 09:04:29 makoto"

mgetty+sendfax

pppd サーバを作る mgetty

電話回線を使って外出先などから、自分の機械に接続出来るようにしておくと何かと便利な ことがあります。/usr/pkgsrc/comms/mgetty-sendfax/ を使うと、そういう機能を追加出来ま す。

ここで使う mgetty は、とても面白いソフトウェアで、modem への着信をずうっと監視して いて、通常の Login:, ppp 接続, fax などを判別して着信を切換えてくれます。このうち ppp で使う時には -DAUTO_PPP の設定で組立てられていることが必要ですが、pkgsrc で make すると、それは既に組込済となっています。まず、/usr/pkgsrc/comms/mgetty-sendfax/ で make と make install をしておきます。

設定の概要

設定に関係するものは次の四点です。
  1.  /dev/tty00 または /dev/tty01              モデムの接続を確認します。
  2.  /etc/ttys                                 上記 tty00 等を mgetty に監視させます
  3.  /usr/pkg/etc/mgetty+sendfax/mgetty.config mgetty の速度など
      /usr/pkg/etc/mgetty+sendfax/login.config  mgetty 切換の設定
  4.  /etc/ppp/options                          pppd の設定
      /etc/ppp/pap-secrets                      pppd のパスワード
これらについて順を追って説明します。以下で cu という字が出て来ますが、他の機械 を呼ぶための道具で cu(1) に説明があります。Call Up の略です。

/etc/tty00 --モデム

1. /etc/tty00 または /etc/tty01 -- モデムについて

モデム口 (電話の印の書いてある口)、または内蔵モデム は /dev/tty00 で見えます。またプリ ンタ口につないだ場合は /dev/tty01 で見えます。tty00 の場合、所有者が root.wheel になっ ているので cu した時に Permission Denied になってしまいます。その時は (root で)

chown uucp.wheel /dev/tty00
としておきます。そうして同じく root になって、
cu -l /dev/tty00 -s 115200
のようにしてから at と入力すると OK が表示されてその口とモデムがつながっているかが確 認出来ます。( ~. で抜けて下さい)
利用する口tty 名
内蔵モデム/etc/tty00使うにはカーネルの変更(入替)が必要
モデム口 /etc/tty00
プリンタ口/etc/tty01
内蔵モデムを使うには kernel の変更が必要ですので【内蔵モデムについて】の節を参照し て下さい。

/etc/ttys

  mgetty に モデムのつながった口を監視させるために /etc/ttys を変更します。上記の表
のうち、自分の使おうとしている口に対応して tty00 または tty01 の行を次のように変更し
ます。
   tty00   "/usr/libexec/getty std.38400"  vt100   off secure
           ↓
   tty00   "/usr/pkg/sbin/mgetty"          unknown on 

あるいは debug が必要な時は、例えば
   tty00   "/usr/pkg/sbin/mgetty -x 4"     unknown on 
などのように debug 水準を設定しておきます。

/etc/ttys を変更した時には init に、それをもう一度読むように kill -1 1 をして signal 
を送ります。-x 4 を追加した時などには更に mgetty の方を kill します。

mgetty.config, login.config

これらは /etc の下ではなく /usr/pkg/etc/mgetty+sendfax/ の下のものを設定します。 mgetty.config はそのままでもいいはずですが、速度だけは変更しておきます。一例としては 次のようにします。
   +--------  /usr/pkg/etc/mgetty+sendfax/mgetty.config --------
   |  speed 38400
   |        ↓
   |  speed 115200
   +------------------------------------------------------------
login.config は ppp に使うだけなら、次のように実質一行だけを加えておきます。
   +--------  /usr/pkg/etc/mgetty+sendfax/login.config ----------------
   | # Automatic PPP startup on receipt of LCP configure request (AutoPPP).
   | /AutoPPP/ -     a_ppp   /usr/sbin/pppd
   +-------------------------------------------------------------------
これを少し説明しますと、
/AutoPPP/ の文字列自体は一種のおまじないです。「ppp で接続要求があった時には」の意味です。
-         には通常は userid を指定しますが、ppp の時は不要ですので - と書いておきます。
a_ppp     は utmp_entry と言って who や last で見た時に表示される名前で、何でもいいので
          すが、こう書いておきます。そうして最後に
/usr/sbin/pppd を起動する、と指定します。
実際には、この後に pppd に渡す引数も書くことが出来るのですが、/etc/ppp/options にも同じ 内容が指定出来るので、ここの例では空にしています。

まずは login して見る

ppp の設定をする前に別の機械から電話をかけて見て、login: が表示されるか確認します。 どのような方法でもいいのですが、もし他の Unix 機からだったら、
# cu -l /dev/tty00 -s 115200 at ... OK と出る atdt123-4567 ... 数字は電話番号です。御自分のものを使って下さい。
などのようにして見ます。ここで login: のような表示が出れば、ここまではうまく行ってい ることになります。もし着信側で /var/log/mgetty.tty00 (等)を見張っていると、
    08:49:32 y00  mgetty: experimental test release 1.1.26-Apr16
    08:49:32 y00  check for lockfiles
    08:49:32 y00  locking the line
    08:49:32 y00  WARNING: DSR is off - modem turned off or bad cable?
    08:49:32 y00  lowering DTR to reset Modem
    08:49:33 y00  clean_line: only 500 of 907 bytes logged
    08:49:33 y00  send: \dATQ0V1H0[0d]
    08:49:33 y00  waiting for ``OK'' ** found **
    08:49:33 y00  send: ATS0=0Q0&D3&C1[0d]
    08:49:33 y00  waiting for ``OK'' ** found **
    08:49:33 y00  mdm_send: 'ATI'
    08:49:33 y00  Generic Rockwell modem (56000)
    08:49:33 y00  mdm_send: 'ATI3'
    08:49:34 y00  mdm_send: 'ATI4'
    08:49:34 y00  additional info: 'Apple Internal Modem'
    08:49:34 y00  modem quirks: 0004
    08:49:34 y00  mdm_send: 'AT+FCLASS=2' -> OK
    08:49:34 y00  mdm_send: 'AT+FCLASS=0' -> OK
    08:49:34 y00  mdm_send: 'AT+FAA=1;+FCR=1' -> OK
    08:49:34 y00  mdm_send: 'AT+FBOR=0' -> OK
    08:49:34 y00  mdm_send: 'AT+FLID="49 115 xxxxxxxx"' -> OK
    08:49:34 y00  mdm_send: 'AT+FDCC=1,5,0,2,0,0,0,0' -> OK
    08:49:34 y00  waiting...
のような表示から
    11:55:15 y00  wfr: waiting for ``RING''
    11:55:15 y00  send: ATA[0d]
    11:55:15 y00  waiting for ``CONNECT'' ** found **
    11:55:35 y00  send: 
    11:55:35 y00  waiting for ``_'' ** found **
    11:55:47 ##### data dev=tty00, pid=436, caller='none', 
             conn='115200', name='', cmd='/usr/bin/login', user='hogehoge'
のようになって接続元に foo!login: が表示されるはずです。この login: は mgetty 途中で 横取りした上で、表示しているのですが、普通に login 出来ます。では更に ppp 着信の設定 をします。

/etc/ppp/options

ここで使っている pppd というソフトウェアは発信にも着信にも使えて、殆んど対称的に動 作します。そのため、前に【ppp 接続について -- 手動】という節で、発信の方法で説明した ppp の項も参考になります。以前の説明で、発信の時には、(相手の電話番号を指定して掛け たのですから)そのつないだ相手が本物かは認証しないで信用する(noauth) としました。しか し、今回のように、着信して来た場合には auth で「相手を認証する必要がある」という違い はあります。例えば次のように指定します。/etc/ppp は初めは無いはずですので
    mkdir /etc/ppp 
しておきます。その上で、次のような内容を用意します。
   +---------/etc/ppp/options --------------------
   | +pap
   | auth
   | debug
   | proxyarp
   +----------------------------------------------
proxyarp は、「代理 ARP をする」という意味で 「Address Resolution Protocol が来た時
には代理で行なう。そうすると、Ethernet 側につながっているのと同じように見える」とい
う設定です。これは必要に応じて有無があります。
  IPv6 対応には ipv6cp-use-persistent というのが使えませんでしたので次のようにすれば
いいかなと思いますが、あまりうまく行っていません。
   +---------/etc/ppp/options --------------------
   | +ipv6
   | ipv6cp-use-ipaddr
   | +pap
   | auth
   | debug
   | proxyarp
   +----------------------------------------------

/etc/ppp/pap-secrets

ppp 認証用の user_name, server_name, password または crypt() で暗号化したもの、ip address の順に指定します。
   +---------/etc/ppp/pap-secrets ----------------
   |  my_login  *      oYdufIp0r1Kd6    *
   +----------------------------------------------
crypt() を使った暗号化については【ppp 接続について -- 手動】の節から始まる 【/etc/ppp/pap-secrets】認証の項目を参照して下さい。

確認方法

着信側で
tail -f /var/log/mgetty.tty00
のようにして見張っています。その中で、次のような文字があれば、pppd を起動する ところまでは行っています。
##### data dev=tty00, pid=434, caller='none', conn='115200', name='', 
  cmd='/usr/sbin/pppd', user='/AutoPPP/'
cmd=' の後が /usr/bin/login では pppd に渡っていません。その時はまず、上に書いた /usr/pkg/etc/mgetty+sendfax/login.config の設定を確認します。 僕の場合は
+-------
| *       -       -       /usr/bin/login @
| /AutoPPP/ -     a_ppp   /usr/sbin/pppd
+-------
と書いてあって、/AutoPPP/ の前に * に一致しているのに気付くのに時間がかかったこと があります。(表示の字が小さくて * を # と見ていました。それを /usr/pkg/etc/mgetty+sendfax/mgetty.config の中で、
debug 8
として、やっと見付けたという経験をしてしまいました。)
+-------
| /AutoPPP/ -     a_ppp   /usr/sbin/pppd
| *       -       -       /usr/bin/login @
+-------
NetBSD解説/pkgsrc
Last Update: Tue, 09 Feb 2016 07:22:20 GMT 1.66 2008/03/08