FreeBSD による PPP 接続方法

本稿では、FreeBSD と PPP に関する簡単な基礎知識と、 FreeBSD による姫路工大アクセスサーバへの PPP 接続に関する設定方法等について紹介する。
【4. FreeBSD での PPP 〜設定応用編〜】

前章の基本設定だけで、姫路工大アクセスサーバへのPPP接続は ``取り敢えず''出来るが、 本章では応用的な使用方法と設定方法を簡単に紹介する。


4.1 ログインスクリプト

他のPPPサーバでは、電話回線接続後にlogin手順が 必要とされる場合がある。この際、

login scriptの例

などと、set login によりログインの手順を指定するスクリプトを 設定し、自動loginすることが出来る。 書式は基本的に、「受信すべき文字列」と それを受信した際に返答する「送信文字列」を空白で区切り、交互に記述する。 前述のダイヤルスクリプト同様、 ``\r'' (Ctl-Rを表現) 等の特殊シーケンスが使用出来る。


4.2 動的発呼

起動時に -auto を指定することにより、 「パケットの流れに応じ、必要になれば自動的にダイヤルして接続する」 という ``自動動的発呼モード'' で起動することも可能である。 但し、ダイヤリング動作のトリガパケットを指定しておく (4.3参照)・ set ifaddr による接続先のアドレスの指定…などの 準備・設定が必要である。 詳しい設定方法については、 iij-pppのドキュメントを参照して欲しい [3]。


4.3 パケットのフィルタリング

PPPで継っている間、外界とIP reachableになっている訳であるから、 逆に外のマシンからtelnetやftp等される可能性もあり、 セキュリティ面で不安 である。 これに対し、iij-pppではパケットのフィルタリングが指定出来、 通過パケットを制限することが可能である。

フィルタリングの例

具体的な設定の例はリスト4-1に示す。

フィルタの設定例のリスト
[リスト4-1] フィルタの設定例

これは、 という設定である。 telnet/ftpアクセスに関する estab 指定は、 自分側からの接続要求に関しては受信される様にするものである。 なおこれらのフィルタの設定状態は、 PPPプロンプト (PPP ON MyHost>)から、 show filter名 で確認出来る。


《用語説明》
セキュリティ面で不安
UNIX や Internet のセキュリティ面での問題と対策については、 Simson Garfinkel & Gene Spafford ``Practical UNIX and Internet Security (2ndEd)'' (O'Reilly&Associates, Inc., Apr.1996. 初版``Practical UNIX Security''はASCIIから訳書あり)が詳しい。 ネットワーク管理者必読の書である。
ICMP
Internet Control Message Protocol, 参照: RFC972。
UDP
User Datagram Protocol。トランスポート層のプロトコル。 TCPと異なりend-to-endの信頼性のチェックがない。
TCP
Transmission Control Protocol。トランスポート層のプロトコル。 データが正確に適切な順序で配送されたかを PAR (Positive Acknowledgment with Retransmission: 再送式肯定確認応答) で検証する。
PORT
port番号については、RFC1060を参照のこと。
113
authdのポート番号。 これがないとユーザ認証にauthdによる確認を行なうftpサーバ等への アクセス時に時間がかかる為。
学内ネットワークとの通信を許可する
現在、姫路工大のアクセスサーバ側で、 直接には姫路工大内 (150.12.*.*) との通信しか出来ないように設定されているので、 この設定をしなくとも制限されている。

4.4 ログファイル

ログは設定する際の指針になるものである。 通常の設定では、iij-ppp のログは /var/log/ppp.log に出力される。 このログの記録レベルは、 set debug コマンドで指定出来る (表4-1参照。同時に複数指定も可能)。

[表4-1] ログレベル
指定 ログレベル 指定 ログレベル
phase フェーズの遷移状態 tcp/ip IPパケットの状態
chat モデムとのチャット状態 hdlc HDLCレベルのパケット全内容
lcp LCP/IPCP/CHAP の動作状態 lqm LQMの状態
async モデムとの間のパケット全内容

図4aは phase レベル指定時のログ出力の例である。

ログ出力の例
[図4a] ログ出力の例 (phaseレベル)
このログには、
  1. interface tun0を使用してPPP開始し、ネゴシエーション完了 (3.3の手順5に相当)
  2. 認証のフェーズで、相手側は c023 (=PAP)、 自分側は 0 (=全ての提案を無条件受理)を提案
  3. PAP の authname/authkey を送信…これらがACK (ACKnowledge, 肯定応答)された
  4. ネットワークのフェーズへ移行。 IPCP により IP アドレスを決定 (自分側=150.12.xxx.bbbに)
  5. OsLinkupが表示された時点で、PPP接続手順が完了 (プロンプトが大文字(3.3の手順6)に)
ということが示されている。

これらのログ出力により、 うまく接続出来ない場合の問題解決に役立つであろう。 例えば 図4bであるが、 この例では authkey を ``FailPassword'' と誤って設定していたために、 PAP 認証時に NAK (Negative AcKnowledge) が返され、 認証失敗として PPP が強制終了している。

ログ出力の例 (接続失敗例)
[図4b] ログ出力の例 (接続失敗例。phaseレベル)

なお、authname / authkey の設定は、show auth で表示される。

尚、正常にPPP接続手順が終了していても、telnetなどがうまく出来ない場合には、 ルーティング、ネットマスクやフィルタリングの設定に問題がある可能性が高い。 ping/tracerouteだけでなく、netstat/ifconfigなどの ネットワークインターフェース の状態をチェックするコマンドで調べてみるとよい。


《用語説明》
c023 (=PAP)
参照: RFC1340,1661。ちなみにc021 =LCP、c025 =LQR、c223 =CHAPを表す。
ログ出力
但し、hdlcasync などのローレベルなログ出力は、 ログファイルが大きくなるので注意すること。
ネットワークインターフェースの状態をチ ェックするコマンド
これらのコマンドの詳細はmanコマンドで参照のこと。
ping(8), traceroute(8), netstat(1), ifconfig(8).

4.5 iij-pppのその他の設定・利用方法


《用語説明》
パリティ
データ送受信時のエラー検出に用いられるパリティチェック (奇偶検査) のこと。

4.6 reachable環境での設定・利用方法

PPP 接続で IP reachable になることにより、telnet/ftp や WWW の利用以外にも 種々の設定・利用が可能である。


《用語説明》
BIND
Berkeley Internet Name Domain。 DNSの仕様を実装したものの中で最も広く使用されているソフトウェア。
専門書
Paul Albitz & Cricket Liu ``DNS and BIND'' (O'Reilly&Associates, Inc., Oct.1992. ASCIIから訳書あり) 等が詳しい。
Netscape
一般に『ネットスケープ』と呼ばれているが、附属のREADME.txtに 「And remember, it's spelled N-e-t-s-c-a-p-e, but it's pronounced "Mozilla."」と書かれている通りに、 正しくは ``Mozilla''(モジラ) と発音すべきである:-)
出来るだけ近く
ネットワーク的に、である。 そのマシンまでのホップ数 (メトリック。経路となるゲートウェイ数) は、 traceroute コマンドで調べることが出来る。 詳しくはシステムの管理者に相談されたい。
DNS サーバのIPアドレス
学内では、castor.himeji-tech.ac.jp [150.12.32.100] や honkan.cnth.himeji-tech.ac.jp [150.12.128.2] など。姫路工大アク セスサーバのPPP接続利用時にはこれらを指定する。 他のプロバイダなどへのPPP接続の際にも、それぞれ指定の DNS サーバが 用意されている筈である。
DNSを参照
これらはプログラム中のgethostbyname()関数やgethostbyaddr()関数などを 通じて参照される。このDNSへ問い合わせるシステムを含めて ``resolver''(レゾルバ) と呼ぶ。
sendmail自体の設定が複雑
接続したことをトリガとしてメールをやりとりするシステムを構築・ 接続するまでメールを貯めておく設定が必要 等々。
簡単に説明
POPについての詳細は、RFCもしくは 山口 英「UNIX Communication Notes 80 POP前編」「同 81 POP後編」 (UNIX Magazine, ASCII, 1995年2月号,3月号) 等を参照のこと。
ポート 109/udp を使用
ちなみにsendmailによる通常のメール送信は、 ポート25/tcpを利用してSMTP (Simple Mail Transfer Protocol) により 行なわれる。詳しい解説や設定方法については、RFC821,822,1123 等や Bryan Costales, Eric Allman & Neil Rickert ``sendmail'' (O'Reilly&Associates, Inc., Nov.1993. トムソン・パブリッシング・ジャパンから訳書あり) 参照のこと。
MH
Mail (または Message) Handler。 元はRAND社の製品であったが、現在はパブリックドメインソフトウェアである。 現在、 カリフォルニアアーバイン大の Marshall T.Rose氏を中心として開発され続けている。
この日本語化などに関しては、 筆者のWWW を参照されたい。
解説書
NTPだけの専門書は少ない。雑誌への解説文書としては、 山口 英「UNIX Communication Notes 44 NTP」 (UNIX Magazine, ASCII, 1992年2月号)等が詳しい。
協定世界時UTC
時刻系に関しては、長沢 工「天体の位置計算(増補版)」 (地人書館, 1985)が 詳しい。
NTPサーバ
木構造の更に上位のNTPサーバを参照する。 最上位がUTCに同期したstratum 1のサーバである。
150.12.xxx.xxxは参照するNTPサーバ
学内には castor.himeji-tech.ac.jp [150.12.32.100] などがある。
これをPPP接続時に実行
同じポートを使用するので、ntpデーモンが起動時には実行できない。 また時計修正にはrootの権限が必要である。
時刻を正しく合わせることが可能
もちろん、真に正確に同期させるためには、 ntpdateコマンドを何度も継続的に行なうか、 ntpクライアントの設定にする必要があるが、 ntpdateコマンド1回で合わせるだけでも取り敢えずは充分である。

4.7 PPP 接続へのまとめ

今回紹介したこれらの設定は、姫路工大アクセスサーバへPPP接続 する場合のものを中心として説明した。 組織外からのIP利用に際しては、ファイアウォールが 設置してあれば、設定なども異なったものになるが、 PPP接続の設定方法は他のプロバイダ等の場合でも基本的には類似であるので、 ログ出力等も参照にして色々と設定に挑戦して貰いたい。


《用語説明》
ファイアウォール
「防火壁」。セキュリティ向上のために 組織の入口でパケットをフィルタリングするシステム。 解説・構築方法などについては D.Brent Chapman & Elizabeth D.Zwicky ``Building Internet FIREWALLS'' (O'Reilly&Associates, Inc., Sep.1995. オライリージャパンから訳書あり)が詳しい。

目次へ / 第1章へ / 第2章へ / 第3章へ / 第5章へ

→ フレーム機能対応版 → Internet関連業績(笑)


by はやし はるひさ hayashi あっとまーく laic.u-hyogo.学術.日本