外出先から社内のネットワークに接続する必要ができて、 定額プランのある「WILLCOM AX530IN」(データ通信カード) を試してみることになりました。
AX530IN は dmesg で下記のように認識されますので、 /dev/cuad4 でモデムとしてアクセスできます。
io4:at port 0x2f8-0x2ff irq 11 function 0 config 17 on pccard0 sio4: type 16550A
ここまでわかれば ppp(1) を使って簡単に接続できて、 設定ファイル(/etc/ppp/ppp.conf)の内容は次ぎのようになります。
--- /etc/ppp/ppp.conf --- ################################################################# # PPP Sample Configuration File # Originally written by Toshiharu OHNO # Simplified 5/14/1999 by wself@cdrom.com # # See /usr/share/examples/ppp/ for some examples # # $FreeBSD: src/etc/ppp/ppp.conf,v 1.10 2004/11/19 17:12:56 obrien Exp $ ################################################################# default: set log Phase Chat LCP IPCP CCP tun command ident user-ppp VERSION (built COMPILATIONDATE) # Ensure that "device" references the correct serial port # for your modem. (cuad0 = COM1, cuad1 = COM2) # # set device /dev/cuad1 set device /dev/cuad4 set speed 115200 # set speed 921600 set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \ \"\" AT OK-AT-OK ATE1Q0 OK \\dATDT\\T TIMEOUT 40 CONNECT" set timeout 180 # 3 minute idle timer (the default) enable dns # request DNS info (for resolv.conf) papchap: # # edit the next three lines and replace the items in caps with # the values which have been assigned by your ISP. # set phone PHONE_NUM set authname USERNAME set authkey PASSWORD set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0 0.0.0.0 add default HISADDR # Add a (sticky) default route willcom: set phone "0570570711##64" add default HISADDR set authname prin set authkey prin nat enable yes set timeout 180 enable dns ---
この設定で接続と切断操作をマニュアルで行うときは、例えば、次ぎのようにします。
# ppp willcom Working in interactive mode Using interface: tun0 ppp ON localhost> dial ppp ON localhost> Ppp ON localhost> PPp ON localhost> PPP ON localhost> close PPp ON localhost> ppp ON localhost> ppp ON localhost> quit #
これで、インタネットに接続できましたが、 この後、会社の LAN に接続しようとして問題が出ました。 手軽に使える PPTP (/usr/ports/pptpclient) 接続ができないのです。
WILLCOM に照会したら「フィルタは何もありません」と言われましたが、 会社のルータから見ると、 WILLCOM の PRIN が「PPTP pass through」になっていないように思えます。
そこで、他のプロバイダを考えることにして、 職場と自宅で使っている「OCN」を調べたら、 新しい契約なしで即座に使えることがわかり、 /etc/ppp/ppp.conf に下記を追加して OCN に接続したところ、 無事 PPTP 接続できるようになりました。
ocn: set phone "0570570724##64" add default HISADDR set authname アカウント名 set authkey パスワード nat enable yes set timeout 180 enable dns mycompany: set authname アカウント名 set authkey パスワード set timeout 60 set ifaddr 0 0 alias enable yes「mycompany」の部分は PPTP 接続に使うもので、 OCN への接続を確立した後、 次ぎのように使いますが、 PPTP 接続を確立した後、社内 LAN へのルーティングを忘れないでください。
# /usr/local/sbin/pptp 会社のルータのIPアドレス &
なお、いずれの場合も、 「enable dns」で書き換えられる /etc/resolv.conf を元に戻すように、 /etc/ppp/ppp.linkdown に「resolv restore」を入れておくのがよいと思います。 例えば、上記の OCN 経由の PPTP 接続なら、 下記のようになります。
# cat /ppp/ppp.linkdown ocn: delete ALL resolv restore ! sh -c killall pptp
これで、無事仕事ができるようになりましたが、 Windows マシンがないと自番号もわかりません。 そこで、とりあえず、Undocumented AT command を調べて、 電波状況や自番号を表示させるプログラムを作りました。
なお、FreeBSD-7.0の場合は、
set device /dev/cuad4を
set device /dev/cuau0FreeBSD-8.0の場合は、
set device /dev/cuau2と書き換えてください。
なお、標準では root でないと ppp を起動できませんが、 下記のようにすれば一般ユーザでも使えるようになります。
平林 浩一, 2008-02-04, 2008-04-03