特集2
[TOPページへ]
このページはTAの内線通話を利用してドリームキャストをLANにつなぐというのを拡張し、
ルーンジェイドでもフレッツ・ISDN(西日本はこちら)を利用できるようになった成功例の紹介です。
TAの内線を利用してDCをLANに接続する方法をすでに知っているものとして話を進めますので、ここまでで、何言ってんのかさっぱりわからないという方にはちょっと敷居が高いと思います。
まずは基本となる DCのLAN接続を充分理解してからもう一度お越しいただけますようお願いします。m(。。)m
DCをLANに接続する方法については次のページが参考になります。
| Dreamcastでできること (Garberaさん) | すべてはここから始まった? Netgenesis4を使った方法が紹介されています。 |
|---|---|
|
はむはむページ (JJ9さん) |
Windows2000 Proを利用する方法の設定例が紹介されています。DCネットゲーの情報収集に意欲的に取り組んでおられるようです。 |
|
智ねっと (智猫さん) |
ドリームキャストでできること"で公開されている方法の補足情報です。画像を使って説明しているので初心者にはとっつきやすいと思います。 |
|
永遠のDCさんのページ |
このページで扱っているIPマスカレードの二重化を、一台のLinux機で実現するためのPPxP用パッチを公開されています。 |
また、これはあくまで成功例の紹介であり必ず動作する事を保証するものではありません。すべては自己責任の上でお願いします。
さらに、Linux、Netgenesisの各機能については詳しく説明するつもりはありません。詳細は解説系のウェブサイト等を参照してください。私自身Linuxは今回がはじめてですので、説明しようにも知識が無いものですから。
従来は次のような環境でした。
図1.以前の環境

DCからアナログBポートに内線電話をかけると、NWG4を通じてインターネットへ出て行くしくみになってます。
この方法で
・ぐるぐる温泉
・トレジャーストライク
・チューチューロケット(要IPマスカレード or NAT)
は問題なく動作していました。
ところがルンジェでは問題が発生してしまいました。2番目に入らないと駄目なんです。どういうことかというと、、、
自分がオーナーになると、後から入った人は必ず落とされます。
自分が最後に入ると、自分からはオーナーしか見えません。オーナーからも自分が見れますが、他のプレーヤーからは自分が見えません。
3番目だとさらにややこしくて、
自分とオーナーは互いに見える。
自分と2番目は互いに見えない。
自分と4番目は、自分からは見えて、4番目からは見えない
と、なってしまいます。
自分が2番目に入った場合のみ、正常にプレイできるのです。
この現象は100%再現し、試しにNATにしても状況は改善されませんでした。
そういうわけでそのままでは事情を知っている友人としか遊ぶことができず、こちらが集めたミッションも人に上げる事ができないという状況に陥ってしまいます。
NATでもだめ・・・ということはDCに割り当てられたIPアドレスを直接データとして渡してしまっているのではないかと推測できますね。相手はそのIPに対し情報を送信するわけですが、肝心のそのIPアドレスはLANの内部・・・これではうまく動作しないのも当然です。
それならば、DCのIPアドレスとプロバイダから割り当てられたIPアドレスが同一であればいいんじゃない?と思うわけですが
でもNWG4のRASの設定でDCにグローバルアドレスと同じの付けたって、ルーターが混乱するだけで解決にはなりません。
そこで思い立ったのが、今回のNetgenesis4(以下NWG4)とLinuxを組み合わせてネットワークを二重化してしまう方法です。冒頭でも書きましたが、あくまで成功した一つの例ですので、これとまったく同じにする必要はありません。他にもやり方はいろいろあると思います。(実際お金に余裕があるなら私も別の方法を試していました。)
最終的には(図1)を拡張して次のような構成にします。
図2

うちには幸い余っているPCが1台ありましたので、これにTurboLinux Workstation6.0(FTP版)を入れました。
TurboLinux Workstation6.0(FTP版)は本屋で解説本のおまけCDでゲットできるのでこれが手っ取り早いでしょう。カーネルのバージョンが違うとコマンド自体が変わる事があるのでご注意を。
(TurboLinux Workstation6.0のkernelは2.2.13です。2.2.xのカーネルなら他のディストリビューションでも設定に大差ないと思います。)
先ずはLANカードの認識から
このマシンのLANカードはプラネックスのENW-8300-Tなんですが、インストール時には自動で認識されなかったので手動で設定する必要がありました。ENW-8300-TをTurboLinuxで認識させる方法は、メーカーのサポートページに載っていましたのでそちらを参照してください。NE2000という規格の互換カードであれば、ほとんど同じ方法でできると思います。
認識がうまくいったら実際にインターネットに接続できるよう設定してみます。
NWG4の設定
| LANポートの動作設定 | NWG4のIPアドレス: | 192.168.0.1 |
|---|---|---|
| サブネットマスク: | 255.255.255.0 | |
| Serialポートの動作設定 | DNSサーバー: | プロバイダから教えてもらったDNSのアドレス |
| IPマスカレードの 詳細設定: | TCP/UDPとも1024以降のポートを192.168.0.102 (とりあえず今の内にやっとく) |
Linux ネットワークの設定
| LANカードのIPアドレス: | 192.168.0.102 |
|---|---|
| サブネットマスク: | 255.255.255.0 |
| DNSサーバー: | 192.168.0.1 (NWG4のIP) |
| ゲートウェイ: | 192.168.0.1 (NWG4のIP) |
これでネスケでもたちあげれば、ネットサーフィンができるようになりました。
次はDCからLinuxに接続できるようにします。
モデムはNetgenesis4に付けてた奴をシリアルポートCOM1(/dev/ttyS0)に繋げて使うことにします。
(その後RATOCのREX-PCI56という内蔵モデムでも動作確認し、現在はこっちを使ってます。)
ちょっとモデムが使えるかどうかATコマンドでテストしてみましょう。
ktermで cu -l /dev/ttyS0 を実行。
AT と入力し OK と返ってくれば正常です。
cu終了は ~. となります。
では、モデムから着信できるようPPPサーバーを構築します。これにはmgettyというのを使います。
mgettyはTurboLinux6.0にはデフォルトで組み込まれている模様ですので、設定ファイルのみいじります。
/etc/ppp/options
|
以下のように修正 asyncmap 0 netmask 255.255.255.0 proxyarp lock crtscts modem |
/etc/mgetty+sendfax/login.config
|
以下の行を追加 /AutoPPP/ - a_ppp /usr/sbin/pppd -detach auth -chap +pap login 192.168.1.1:192.168.1.101 他に /AutoPPP/ - a_ppp で始まる行があったらコメントアウトしておく |
/etc/inittab
|
次の行を追加 s2:2345:respawn:/sbin/mgetty ttyS0 |
/etc/rc.d/rc.local
|
次の行を追加 modprobe ppp |
/etc/ppp/pap-secrets
|
次の行を追加 ユーザID * パスワード プロバイダから割り当てられたIPアドレス たとえば ユーザー名がhogehoge パスワードがhebohebo プロバイダから割り当てられたIPアドレスが1.2.3.4なら hogehoge * hebohebo 1.2.3.4 となります。 |
DC側も今の内に設定しておきましょう。
|
電話番号: Linux側のモデムの内線番号(うちの場合は#*2#) ユーザー: 上で設定したユーザー パスワード: 上で設定したパスワード プライマリDNS: 192.168.0.1 |
これで、着信は可能になりました。DCから接続してみます。接続だけならできますね。
でもまだインターネット上のページを閲覧する事はできません。せいぜいLinuxで立ちあげたWebサーバー上のコンテンツが見れるくらいです。
DCからのWebブラウジングを可能にするにはIPマスカレードを使います。
ここではipchainsというコマンドを使って設定します。
TurboLinux6.0を通常にインストールすれば、この機能は実装されているはずです。
まずは設定ファイルの修正をします。
/etc/ipchains.rules
|
# -A forwords -s... の部分を -A forward -s DCに割り当てたIPアドレス/255.255.255.255 -d 0.0.0.0/0.0.0.0 -j MASQ とする。他の部分はいじらなくてOK |
設定がおわったらパケットフィルタを起動します。
以下のコマンドでパケットフィルタの起動ができます。
|
/etc/rc.d/init.d/packetfilter start |
/sbin/ipchains -L を実行し
Chain input (policy ACCEPT): Chain forward (policy DENY): target prot opt source destination ports MASQ all ------ DCに割り当てたIP anywhere n/a Chain output (policy ACCEPT): |
でもこれだけではまだルンジェはまともに遊べません。
こちらがクライアントとして接続するのはOkですが、外部からの接続はできないからです。
そこでIP Port Forwardingという機能を利用するのですが、それにはipmasqadmというツールが必要となります。ipmasqadmはここからゲットできます。
rpm形式だとインストールに楽なので、特に問題なければこれを持ってくるといいでしょう。
ipmasqadmのインストールが済んだら以下のコマンドを実行します。
|
/usr/sbin/ipmasqadm autofw -A -r udp 1024 65536 -h DCに割り当てたIPアドレス /usr/sbin/ipmasqadm autofw -A -r tcp 1024 65536 -h DCに割り当てたIPアドレス |
ここでもとりあえず1024以降をすべてフォワードしておきます。
ルーンジェイドのポートがわかれば、それだけでもOKでしょう。
以上ですべての設定は完了です。実際にルーンジェイドでネットワークプレイができれば大成功です。
ちなみにこの方法で、ちゃぶとーくにもログインできるようになりました。いままでずっと「混雑しています」で蹴られていたけど、ちゃぶもルンジェと同じ方式だったようですね(笑
10/11追加
Ch@bTalkへのログインを確認したのは、TCP and UDPを全ポート転送していた時の話でした。
智猫さん情報によると、Ch@bTalkはTCP及びUDPポートの443を開ける必要がありそうなので、1024〜65535では駄目な可能性大です。
これはLinux経由だけの話でなく、NWG4経由の時も実はそうだったことが解ったのですが、DC←→RASサーバー間が秒間1.4KB程度しか出ていないようなのです。
(計測は http://catv.lib.net/speed/ で行いました。)
で、どこが悪いのかを突き止める為にいろいろなケースで計測した結果が以下のとおりです。
| 経路 | 速度(KBytes/Sec) |
|---|---|
| DC-NWG4-TA-ISDN | 1.4 |
| DC-Linux-NWG4-TA-ISDN | 1.4 |
| DC-電話回線 | 2.9 |
| PC-NWG4-TA-ISDN | 6.8 |
| PC-Linux-NWG4-TA-ISDN | 3.6 |
今のところ、DCのモデムとRASサーバーのモデムの相性の問題としか言いようが無く困ってます。
現在引き続き調査中。皆様からの情報もお待ちしております。