公衆無線インターネットプロジェクト「みあこネット」に無線LANで接続し、MPPE(MicrosoftのPoint-To-Point
Encryption)でVPN接続する方法です。
管理人は、kyoto-Inetのプロバイダーに入っているので、「みあこネット」のレギュラーアカウントが無料で
もらえます。(但し実験期限が確かあったはずです。)
いつもは、Windows XPで利用しています。今回Linux Red Hat 9で接続できたので、その方法を公開します。
1.ノートPCとLinux OS
1-1) OS :Red Hat Linux 9 (Linux version 2.4.20-8)
1-2) ノートPC :SONY VAIO XR9S
1-3) 無線LANカード:Melco/Buffalo Networks WLI-PCM-L11またはWLI-PCM-L11G
※OSは、Red Hat Linux 9を使いました。version 2.4系の最終です。
Red Hat Linux 8,7.2でも動作すると思います。
2.無線LANの設定
Red Hat Linux 9をPCMCIAドライバー込みでインストールすれば、ほぼ問題なく無線LANカードを認識します。
・まず無線LANカードが認識されているかチェックしてみましょう。
#iwconfigで現在の無線LAN設定を確認する。
----------------------------------------------------------------------------
eth0 IEEE 802.11-DS ESSID:"" Nickname:"HERMES I"
Mode:Managed Frequency:2.437GHz Access Point: 44:44:44:44:44:44
Bit Rate:2Mb/s Tx-Power=15 dBm Sensitivity:1/3
Retry limit:4 RTS thr:off Fragment thr:off
Encryption key:off7
Power Management:off
Link Quality:41/92 Signal level:-56 dBm Noise level:-97 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:4
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
----------------------------------------------------------------------------
eth0が表示されれば、後は設定だけですぐに無線LANが使えます。
ここで設定しなければいけないのは、ESSIDとWEPです。WEPを使っていなければ
WEP設定は必要ありません。
・/etc/sysconfig/networkに以下の2行を追記します。
MODE=Managed
ESSID=MIAKO
※WEP暗号を使っている場合は、KEY=s:xxxxx の一行を更に追加して下さい。
xxxxxがキーです。キーの前にs:をつけます。
みやこネットでは必要ありません。すぐに接続できます。ただしみやこネットの
場合は、VPN関連パケット,pptpサーバ向け関連パケットしかこの段階では通りま
せん。下記のVPN接続をして初めて、すべてのパケットがとおるようになります。
これで、おもむろに無線LANカードを抜き差ししましょう。
再認識されて「みあこネット」からDHCPでIPアドレスが付加されます。
#iwconfigで現在の無線LAN設定を確認する。
----------------------------------------------------------------------------
eth0 IEEE 802.11-DS ESSID:"MIAKO" Nickname:"xxx"
Mode:Managed Frequency:2.412GHz Access Point: xx:xx:xx:xx:xx:xx
Bit Rate:11Mb/s Tx-Power=15 dBm Sensitivity:1/3
Retry limit:4 RTS thr:off Fragment thr:off
Encryption key:off
Power Management:off
Link Quality:45/92 Signal level:-51 dBm Noise level:-96 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:104
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
----------------------------------------------------------------------------
#ifconfigでDHCPでIPアドレスが割り振られているのを確認する。
----------------------------------------------------------------------------
eth0 Link encap:Ethernet HWaddr xx:xx:xx:xx:xx:xx
inet addr:43.245.xxx.xxx Bcast:43.245.xxx.xxx Mask:255.255.255.224
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:53258 errors:0 dropped:0 overruns:0 frame:0
TX packets:1354 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:3848861 (3.6 Mb) TX bytes:218350 (213.2 Kb)
Interrupt:3 Base address:0x100
----------------------------------------------------------------------------
これで無線LANの設定は終わりです。次にVPN設定を行います。
3.VPN(MPPE)設定
VPN設定する前にVPN Clientモジュールをインストールする必要があります。
必要モジュール一覧:(ダウンロード先:http://pptpclient.sourceforge.net/howto-redhat-90.phtml)
1.kernel-mppe-2.4.20-8.i686.rpm
2.pptp-linux-1.3.1-1.i386.rpm
3.ppp-2.4.2_cvs_20030610-1.i386.rpm
4.pptp-php-gtk-20030505-rc1.i386.rpm (コマンドライン版pptp-commandを使用する場合はいらない)
3-1) MPPEのインストール
#rpm --upgrade ppp-2.4.2_cvs_20030610-1.i386.rpm
・Red Hatのカーネルバージョンにより2.4.20-xxが違いますので注意のこと。
(uname -aかdmesgでカーネルバージョンを確認し自分の必要なバージョンモジュールを
インストールして下さい。)
#rpm --install kernel-mppe-2.4.20-8.i686.rpm
・モジュールリストの再読み込み
#depmod -a
unresolved symbols等のエラー、warningがないこと。
・MMPEのサポートテスト & load
#modprobe ppp-compress-18
...
...
Module ppp_mppe loaded, with warnings
warningsがでますが無視して構いません。
3-2) PPTPクライアントのインストール
#rpm --install pptp-linux-1.3.1-1.i386.rpm
・GUI形式のpptp設定プログラム
(なんとphpで書かれています。phpスクリプトです)
(コマンドライン版pptp-commandを使用する場合はいらないですがとりあえずインストール)
#rpm --install pptp-php-gtk-20030505-rc1.i386.rpm
これで、モジュールは全てインストールできました。後は設定だけです。
3-3) 設定
※GUIツールpptpconfigで設定しても構いませんが、pptp-commandとは微妙に違います。
また、pptpconfigは、Xウインドウを起動していないと使用できません。
尚、管理人は、pptpconfigで設定しても動作することを確認していますが、今回は
コマンドラインから起動できるpptp-commandを使用することにします。
#pptp-commandを起動する。
3.) setupを選択する。
4.) Add a NEW PPTP Tunnelを選択する。
1.) Otherを選択する。
Tunnel Name: miako(適当な好きな識別文字列)
Server IP:接続先のPPTPサーバのIPアドレスまたはホスト名
route: add -host 接続先のPPTPサーバのIPアドレス/32 gw DEF_GW dev eth0
route: add default gw みやこネットから割り当てられる固定IPアドレス
route:
Local Name:アカウント名
Remote Name [PPTP]:miako
7.) Select a default tunnelを選択
終了.
・/etc/ppp/peers/miakoが生成されますので、下記2行を追加します。
usepeerdns
require-mppe
・/etc/ppp/options.pptpに、下記3行を追加します。
lcp-echo-failure 10
lcp-echo-interval 10
mtu 1460
・/usr/sbin/pptp-commandを修正します。
1行目の#/usr/bin/perl -wTを#/usr/bin/perl -wにする(Tを取る)
また、resolv.confがうまく切り替わりませんが、差し支えありません。
気になる方は、68行目の以下のように修正します。
------------------------------------------
#my $resolv_pptp = "$resolv.pptp";
my $resolv_pptp = "/etc/ppp/resolv.conf";
------------------------------------------
・/etc/ppp/chap-secretsにアカウント名,*,パスワード,* の順に記述します。
m00xxx@xxxxx * xxxxxxx *
4.VPN接続
# pptp-command start してみましょう。
/etc/ppp/chap-secretsファイルと/etc/ppp/peers/miako内容に
問題なければ接続できるはずです。
Using interface ppp0
Connect: ppp0 <--> /dev/pts/1
CHAP authentication succeeded
MPPE 128-bit stateless compression enabled
local IP address xx.xxx.x.xx
remote IP address xx.xxx.xx.x
primary DNS address xxx.xxx.xxx.x
secondary DNS address xxx.xxx.xxx.x
pptp-command: added route add -host xxx.xxx.xx.xxx/32 gw DEF_GW dev eth0
pptp-command: added route add default gw zzz.zzz.z.zz
Tunnel miako is active on ppp0. Local IP Address: zzz.zzz.z.zz
Installed /etc/ppp/resolv.conf as /etc/resolv.conf
以上で接続完了です、ルーティングに問題なければ、インターネットでの操作が可能です。
#ifconfigを参考に見てみましょう。ppp0が出来ているはずです。
----------------------------------------------------------------------------
eth0 Link encap:Ethernet HWaddr xx:xx:xx:xx:xx:xx
inet addr:43.245.xxx.xxx Bcast:43.245.xxx.xxx Mask:255.255.255.224
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:53258 errors:0 dropped:0 overruns:0 frame:0
TX packets:1354 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:3848861 (3.6 Mb) TX bytes:218350 (213.2 Kb)
Interrupt:3 Base address:0x100
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:8 errors:0 dropped:0 overruns:0 frame:0
TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:700 (700.0 b) TX bytes:700 (700.0 b)
ppp0 Link encap:Point-to-Point Protocol
inet addr:43.245.x.xx P-t-P:43.245.xx.x Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1456 Metric:1
RX packets:1197 errors:0 dropped:0 overruns:0 frame:0
TX packets:862 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:58238 (56.8 Kb) TX bytes:59740 (58.3 Kb)
----------------------------------------------------------------------------
その他:
接続できているにもかかわらずインターネットアクセスできていない場合は、ルーティングの設定が
おかしい。
/etc/ppp/peers/miakoの
# Route: add -host xxxxxxx/32 gw eth0のデフォルトゲートウエイIPアドレス dev eth0
# Route: add default gw xx.xx.x.xx
が正しいか確認して下さい。この行はコメントアウトされていますが、pptp-commandは、Route:文字を
検索してその行をrouteコマンドに引き渡します。
従って、Route:をoute:にしてrouteコマンドに引き渡さず。VPN接続だけして、ルーティングを手動で
追加してみてよければその内容を/etc/ppp/peers/miakoに記述します。
ルーティングは、下記の内容が設定されて正しく設定されていればOKです。
route add -host [PPTPサーバのIPアドレス/32] gw [eth0のデフォルトゲートウエイIPアドレス] dev eth0
route add default gw [みやこネットから割り当てられる固定IPアドレス]
[ルーティング情報]
接続先のPPTPサーバのIPアドレスはnslookup等で調べて下さい。
みやこネットでは、通常pptp?.miako.netをいうホスト名になっています。
さて、LinuxでPPTP clientで接続して何をするの?
まあ、メールとか、WEBアクセスできますが、せっかく固定IPがもらえるので
とりあえず試験的にWEBサーバを起動させています。現在、人知れず動作しています。
※本内容は、みやこネットさんではサポートされておりませんので、みやこネットさんへのお問い合わせは
ご遠慮下さい。