インターネットへの接続(ppp)


参考文献
FreeBSDパーフェクトネットワーク(毎日コミュニケーションズ)
FreeBSDフルコース(技術評論社)
アナログモデムやTAで、インターネットにダイヤルアップ接続をする場合、pppを使用します。
設定が必要なファイルは以下の通りです。

/etc/host.conf(ホスト名の解決方法の設定)
/etc/resolv.conf(ネームサーバーの参照の設定)
/etc/ppp/ppp.conf(pppの設定)
/etc/ppp/ppp.linkup(pppの経路の設定)


/etc/hosts.confの設定
以下のようになっていればOKです。
hosts
bind


/etc/resolv.confの設定
ローカルでネームサーバーを立ち上げている方は、以下のように記述しますとインターネットに接続している状態でも、ローカルのWEBページ等を参照できます。
インターネットと接続をしていない場合は、ローカルを参照します。
ネームサーバーを立ち上げていない方は、ブロバイダーのネームサーバーを指定してください。
domain		foo.jp.		#ローカルサーバーのドメインの参照
nameserver	192.168.0.15	#ローカルのネームサーバーアドレス

/etc/ppp/ppp.confの設定
以下のような設定で接続しました。
自分のマシンの設定

default:
# ident user-ppp VERSION (built COMPILATIONDATE)
 # Ensure that "device" references the correct serial port
 # for your modem. (cuaa0 = COM1, cuaa1 = COM2)
 #
 set device /dev/cuaa0
 set log Phase Chat LCP IPCP CCP tun command	#ログをとる
 set speed 115200				#接続スピード、途中でとぎれる場合は57600等
 set timeout 900
 set openmode active
 set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \"\" ATE1Q0 OK-AT-OK \\dATDT\\T TIMEOUT 120 CONNECT"
#↑モデムの初期化です。パルス回線の人はdATDTをdATDPに変えましょう。
 set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0 0.0.0.0	#動的IP接続の場合これでよいと思うのですが。ハンドブック参照
# set ifaddr 0 0					

 #
 # edit the next three lines and replace the items in caps with
 # the values which have been assigned by your ISP.
 #
xxxxx:						#ラベルです、適当なブロバイダーの名前を書いてください。
 set phone 電話番号
 enable dns
 set authname ID
 set authkey パスワード
 dial
#dial


この設定で繋がると思いますが、繋がらない場合は、pap認証や、chap認証を前提とした設定方法があります。(大抵、自動的に接続時に切り替わると思いますが・・・。)

/etc/ppp/ppp.linkupの設定
以下のようになっていれば、問題無いと思います。
MYADDR:
delete ALL
add 0 0 HISADDR

尚、ログインできても、うまくルーティングが出来ない場合は add! 0 0 HISADDRに変えて、強制的にルーティングさせることもできます。

インターネットに接続
ではpppを起動してインターネットに接続してみましょう。
まず、pppと入力してpppを起動します。
そしてload ブロバイダー名(ppp.confの中で記載したブロバイダーのラベル)として、ブロバイダーの設定情報を読み込みます。
(ppp起動時、Warning等のエラーが出ている場合でも、致命的ではないので大丈夫でしょう(^^;;)

hoge# ppp
hoge# Using interface: tun0
hoge# ppp ON hoge>load xxx
hoge# ppp ON hoge>dial
hoge# PPP ON hoge>
pppがPPP全部大文字に変わればログイン完了です。
もし、PPPが全部大文字に変わっていない場合は、接続に失敗しています。 ppp.confでログの採取を許可している状態で、/var/log/ppp.logにログが入っていますので、チェックしてみてください。
Warning: Chat script failed
となっている場合はチャットスクリプトの記載にミスがあります。(経験者)
set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \"\" ATE1Q0 OK-AT-OK \\dATDT\\T TIMEOUT 120 CONNECT"
あたりを見直してみましょう。(自分の場合はT TIMEOUTをTTIMEOUTとしていたりしました。)

ログインが旨くいったら、ちゃんとルーティングできるか試してみましょう。
まず、Alt+F2キーを押して、コンソール画面を切れ変え、別ユーザーでログインするか、クライアント側のパソコンWindws等からTelnetでログインして、ping ブロバイダーのネームサーバー としてpingを打ってみてください。
No route to host等と表示される場合は、ルーティングが旨くいっていません。/etc/ppp/ppp.linkupをもう一度確かめてみてください。それとログを見ますと、原因が明確に記載されていますので、ログも見てみましょう。
Add route failed: default already exists
と記載されていたら、ルーティング出来ていないので、/etc/ppp/ppp.linkupの設定の中のadd 0 0 HISADDRをadd! 0 0 HISADDRとして、強制的にルーティングさせてみましょう。(^^;

成功したら、nslookup等でホスト名で通信出来るか試してみます。
ブロバイダーのメールアドレスのホスト名あたりを試してみましょう。
nslookup ブロバイダーメールホスト.(最後にピリオド)として打ち込んでみてください。
Server ブロバイダーホストドメイン
Adress ブロバイダーIP

Server ブロバイダーメールホストドメイン
Adress ブロバイダーメールIP
みたいな感じで、ネームサーバーが応答してくれたら、成功です。
旨くいかない場合は、/etc/resolv.confの設定を見直してみましょう。また、ログには明確に原因が記載されています。

自動ダイヤル
rc.confの中に以下の行を追加しますと、FreeBSD立ち上げ時に自動的にダイヤルします。接続が切断された場合にも自動的に接続に行きますので、常時回線等で接続されている方にはお勧めの設定方法です。
ppp_enable="YES"
ppp_mode="ddial"
ppp_nat="NO"
ppp_profile="ブロバイダー"

常時回線でない方は、ddialの部分をautoに変えてください。必要なときには自動的に接続され、一定時間(set timeoutで指定された秒数)になったら回線を切ってくれます。いわゆるオンデマンド接続です。

※ppp_nat="NO"は、NATDを使用する場合の設定です。pppのnatを使用する場合は、設定しないでください。

インターネットのWEBページを見るには?

インターネットのWEBページを見るには、NAT機能を有効にしなければなりません。
pppでNAT機能を有効にできますが、ここではNATDを使用してNATを有効にしているので、NATDを使用したppp接続を参考にしてください。

BACK