PPxPの設定により、LinuxからISP(Internet Service Provider)に接続できるようになった。
となるとLinuxマシンをダイアルアップルータに設定して、クライアントからLinuxに接続されている
モデムを共有してインターネットをやりたくなるのは当然である。
準備としては、Linuxをサーバ、WindowsマシンやMacをクライアントとしてLANを構築して、
それぞれに適当なIPアドレスを割り振っておく。
IPマスカレードを行うために、IPフォワード機能をオンにする。まずは確認。
| # cat /proc/cat /proc/sys/net/ipv4/ip_forward |
| 1または0 |
1の場合は既にオンになっているが、0の場合はオフになっているため、 設定を行う。
| # vi /etc/sysconfig/network | |
| NETWORKING=yes | |
| FORWARD_IPV4=false | falseをyesに変えて保存 |
| HOSTNAME="rina.localdomain" | |
| GATEWAY= |
networkファイルを書き換えたら、
| # /etc/rc.d/init.d/network restart |
と入力して、ネットワークを再起動する。
オン・デマインド・ダイアルアップをさせるために、モデム設定ファイルを作成しなおす。
| # ppxp |
| PPxP version 0.99120923 |
| interface: u10 |
| ppxp> qdial |
QUICK DIALUP画面を表示し、それぞれの設定を行う。
| 設定項目 | 意味 | 設定内容 | 補足 |
|---|---|---|---|
| Device Name | デバイス名 | /dev/modem | |
| Dial Type | ダイアル方式 | Pulse | 左右のカーソルキーで切り替わる トーン(プッシュホン)回線ならTone、パルス(ダイアル)回線なら Pulseを指定 |
| Phone Number(s) | 電話番号(複数指定可) | xxxxxxxxx | ISP(ダイアルアップ接続先)の電話番号を入力 |
| Login Name | ログインユーザ名 | username | ISPに与えられたユーザ名を入力 |
| Login Password Password(again) | ログインパスワード パスワード(確認) | ****** ****** | パスワードを入力 入力文字は表示されない |
| More... | 詳細設定 | Enterキーを押す | 詳細設定を行う |
| Save... | 保存 | Enterキーを押す | 設定を保存する 保存画面で任意のファイル名を入力し、スクリプトとして保存する |
詳細画面は次のとおり。
| 設定項目 | 意味 | 設定内容 | 補足 |
|---|---|---|---|
| Authentication Protocol | 認証プロトコル | PAP CHAP/MD5 CHAP/MS | 通常はデフォルトのままでよい |
| PPP Mode | PPPモード | active | 通常はactiveのままでよい |
| Modem Type | モデムの種類 | /generic | 使用するモデムの種類を選択する 通常のアナログモデムならgenericでいい(※) |
| Idle time | アイドル時間 | 180 ←これを追加 | オンデマインド接続をする場合、TCP/IPのパケットが流れなくなってから
自動切断するまでの時間(分)を指定 0で自動切断しない設定となる |
| IP Masquerade | IPマスカレード | 192.168.1.0/24 ←これを追加 | IPマスカレードをする場合の範囲を入力 |
| VJ compression | VJ圧縮 | ||
| Create resolv.conf | resolv.confの作成 | ||
| DNS Servers | DNSサーバ | xxx.xxx.xxx.xxx | ISPのDNSサーバのIPアドレスを入力 |
詳細画面の設定も終わったらBackボタンで前の画面に戻り、設定を保存する。
保存後、viで設定ファイルを開き、次の行を追加する。
| source qdial | |
| set MODE active | |
| set AUTH.PASSWD dialtest | |
| set LOG.FILE dialtest.log | |
| set LINE /dev/modem | |
| set SERIAL.MODEM /me1414b2 | |
| set DIAL.LIST 307 | |
| set DIAL.TYPE Pulse | |
| set AUTH.PROTO PAP CHAP/MD5 CHAP/MS | |
| set IDLE.INIT 180 | |
| set IP.VJ no | |
| set IP.RESOLV yes | |
| filter ip +mO -S 192.168.1.0/24 | |
| set IP.DNS xxx.xxx.xxx.xxx | ISPのIPアドレス |
| source filter01 | ←追加 |
| auto on | ←追加 |
下の2行を追加したらファイルを保存する。
次に、IPマスカレードの設定を行う。viで/etc/rc.d/rc.localファイルを開き、 最後の行に以下を追加する。
| #PPxP initialize |
| /sbin/modprobe userlink |
| /usr/local/bin/ppxp dialtest -C bye |
| #IP Masquerade initialize |
| /sbin/ipfwadm -F -a m -S 192.168.1.0/24 -D 0.0.0.0/0 |
| /sbin/ipfwadm -F -p deny |
| modprobe ip_masq_ftp |
| modprobe ip_masq_irc |
| modprobe ip_masq_raudio |
| modprobe ip_masq_cuseeme |
| modprobe ip_masq_vdolive |
設定を保存し、Linuxマシンを再起動する。
これにより、クライアントからインターネットへの接続要求があった場合にLinuxマシンが 自動的にダイアルアップを開始し、ISPとの接続を確立する。
Linuxサーバの設定が終わったら、次はクライアントの設定を行う。
Windowsクライアントの設定は次のとおり。
ネットワークコンピュータのプロパティを開き、ネットワークカードのTCP/IPの設定を 行う。
| IPアドレス | 任意のIPアドレスを指定(例、192.168.1.2) |
| サブネットマスク | 255.255.255.0 |
| ゲートウェイ | LinuxサーバのIPアドレスを指定(例、192.168.1.1) |
| DNS設定 | ホスト名:任意の名前 ドメイン:ISPに指定されているもの DNSサーバ:ISPに指定されているもの |
設定を保存し、再起動を行う。
IEのオプションの指定で接続の設定を行う。
| ダイアルアップの指定 | ダイアルしないを選択 |
| LANの設定 | LANの設定ボタンをクリックし、プロキシサーバを使用するにチェックがついている 場合は外す |
この状態でIEを開くとLinuxマシンのモデムが動き出し、接続が完了したらブラウザにHPが表示される はずである。
なお、私の場合はモデムは動くがWindowsクライアントがちゃんとHPを表示してくれなかった。
いろいろ悩んだが、IEの設定で「接続」の中に「設定」というボタンがあり、それをクリックしたら
LANの設定のような画面が出てくるが、ここにも「プロキシサーバを使用する」という
項目がある。この設定はダイアルアップをするときしか使わないと思っていたのであえて無視していた
のだが、このチェックを外したら無事にHPが表示された。
なんだか気に入らないのだが・・・
私の環境では、WindowsクライアントからtelnetでLinuxマシンに接続しようとすると
何故かモデムが動いてしまう。そのあとちゃんと繋がってはくれるのだが・・・
IPフィルタリングとかいう機能を使って、例えばLAN内部にあるWindowsマシンからの
NetBIOSプロトコルが発せられた場合に自動的に接続動作に入ってしまうのを防いだり、
外部からの特定のサービス要求を拒否したりできるらしい。
そのうちやってみよう。