ネットワークサーバの構築のページに戻る

PPPサーバの構築

PPP(Point to Point Protocol)は2つのコンピュータをシリアル回線など で接続し、TCP/IP接続を行うことができるようにするためのプロトコルです。

ソースアーカイブ名 FreeBSD付属の user ppp
導入環境FeeBSD 3.3-RELEASE


インストール

FreeBSDには標準でついてきていますので、割愛します。

モデムの設定

/etc/ppp.confの設定

pppの設定ファイル/etc/ppp.confを以下のように設定します。
default:
 set speed 115200
  set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \"\" ATZ0 OK-ATZ0-OK ATH1
\\d
 ATDT\\T TIMEOUT 40 CONNECT"
 set timeout 60
 disable lqr
 deny lqr
 enable passwdauth
 enable proxy
 enable pap
 enable dns
 set dns 210.252.0.210 #DNS SERVER
	 
incoming:
 set ifaddr 210.252.0.210 210.252.0.217

ここでは、接続してきたサーバにdnsは210.252.0.210 を使うように 指定します。

またこのホストのアドレスは 210.252.0.210 でppp接続をする 相手のアドレスは 210.252.0.217 とすることを指定しています。

ppp接続用スクリプト ppplogin

/usr/local/bin/ppploginに以下のスクリプトを作ります。

#!/bin/sh
exec /usr/sbin/ppp -direct incoming

/etc/ttys, /etc/gettytab の設定

/dev/ttyd0の設定

デバイスファイルの設定
  1. stty -f /dev/ttyid0 crtscts 115200
  2. stty -f /dev/ttyld0 crtscts
上の /dev/ttyid0 への設定はデバイスをオープンしたときの初期状態がどのようになるかを 指定します。また下の /dev/ttyld0 はアプリケーションから変更できない設定を指定します。 これら設定は /etc/rc.serialでリブート時に実行されるようにしておきます。

私が陥った問題(みなさんの参考のために)

私は/etc/remoteに
porta:dv=/dev/cuaa0:br#57600:pa=none
と書いて
tip porta
とやって上の設定を行っていました。すると接続できませんでした。 電話回線からモデムにつなぐと文字化けするのです。 なぜかわからずかなり悩みました。

これが起こる理由はtipでモデムの設定をする時に、 端末からは57600で通信するので、atコマンドを受け取るさいに、 モデムがそれを検出して端末-モデム間の通信スピードを57600設定します。 そして、それ以降モデムは端末との通信スピードを57600 であると思って、この設定後もこのスピードで通信しようとします。

ところが、/etc/gettytabで

ppp.115200|PPP|PPP-115200-baud:\
        :hw:np:sp#115200:pp=/usr/local/bin/ppplogin
と書かれているので、gettyはモデムから送られてくるデータの スピードは115200として通信するのです。

ということで、 私は/etc/remoteに

porta:dv=/dev/cuaa0:br#115200:pa=none
と書き直して、tip portaとやってatコマンドを打って、 モデムにスピードを認識させたら、うまくいったのです。

端末モデム間の通信スピードは最初のATコマンドで自動設定する モデムがほとんどですので、この点にも気を付けましょう。


「サーバの構築」のページへ戻る ホームへ戻る