Server By FreeBSD

Dialup Server

普段外出先からは PHS を利用してダイアルアップ接続しているが、 PHS は都心部を離れると電波が届かない場合が多く、 また、aDSL が切断してしまった場合でもサーバにアクセスできるように ダイアルアップサーバ(PPPサーバ)として稼働させる。

pppd の設定

ISP への接続は ppp(8) を使用したが、 PPP サーバとしては pppd(8) を使用して設定を行う。
pppd がサーバとして動作する様に /etc/ppp/options に以下の記述を追加する。

/dev/デバイス                            # 通信に使用するデバイス名称
38400                                    # デバイスで使用するボーレート
crtscts                                  #フロー制御にハードウェアフロー制御を使用する
lock                                     # UUCP 形式の排他ロックファイルを使用する
passive                                  # LCP で相手からの応答を待つ
LOCALアドレス:REMOTEアドレス             # クライアントに付与するIPアドレスを指定する
domain ドメイン名                        # クライアントに設定するドメイン名を指定する
modem                                    # モデム制御線を使用する
ms-dns ネームサーバ                      # Micorosoft Windows クライアント用の設定
netmask マスク                           # インタフェースのネットマスクを指定
proxyarp                                 # PROXY ARP を使用する

次にクライアントから接続要求が有った場合に使用する認証情報を /etc/ppp/pap-secrets に記述する。

ユーザID        *             ""          *
このファイルは root 以外は読み込み不可に設定する必要がある

mgetty の設定

モデム経由でシリアルポートに着信した場合に実行されるプログラムの設定を行う。
まずは ports を利用して mgetty+sendfax をインストールし、 PPP による接続要求があった場合には自動的に PPP セッションを起動し、 そうでない場合は通常のシリアル接続によるログインが可能な様に、 /usr/local/etc/mgetty+sendfax/login.config に 以下の記述を追加する。

/AutoPPP/    -    a_ppp    /usr/sbin/pppd auth +pap +chap login

次にシリアルポートに接続したモデムのハードウェア制御を有効にするために、 /etc/rc.serial に以下の記述を追加する。

modem d a 1 2

最後はモデムを接続するシリアルポートを mgetty+sendfax が監視する様に、 /etc/ttys に以下の記述を追加する。

#デバイス    gettyプログラム                   端末タイプ 起動 rootログイン
デバイス     "/usr/local/sbin/mgetty std.9600" unknown    on   insecure
Last Update: 4 Feb. 2010