特集2
[TOPページへ]

フレッツ・ISDNでルーンジェイド!

(DCをLANに接続 拡張版)
ハンドレッドソード(未検証)、ゴルフしようよ2、セガテトリスにも対応しています。
Oct. 9, 2000
Last Update May. 6, 2001
1.はじめに
2.背景
3.Linuxからインターネット
4.DCからLinuxへ接続
5.DCからインターネット
6.DCへポート転送
追記.未解決の問題点

1.はじめに

このページは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は今回がはじめてですので、説明しようにも知識が無いものですから。

2.背景

従来は次のような環境でした。

図1.以前の環境
図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
図2

うちには幸い余っているPCが1台ありましたので、これにTurboLinux Workstation6.0(FTP版)を入れました。
TurboLinux Workstation6.0(FTP版)は本屋で解説本のおまけCDでゲットできるのでこれが手っ取り早いでしょう。カーネルのバージョンが違うとコマンド自体が変わる事があるのでご注意を。
(TurboLinux Workstation6.0のkernelは2.2.13です。2.2.xのカーネルなら他のディストリビューションでも設定に大差ないと思います。)

3.Linuxからインターネット

先ずは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)

これでネスケでもたちあげれば、ネットサーフィンができるようになりました。

4.DCからLinuxへ接続

次は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 で始まる行があったらコメントアウトしておく
192.168.1.1はサーバー側のIPアドレスになります。
192.168.1.101は本来クライアント側のIPアドレスになりますが、以下の/etc/ppp/pap-secretsに書くIPのほうが優先されるようです。

/etc/inittab
次の行を追加
s2:2345:respawn:/sbin/mgetty ttyS0

/etc/rc.d/rc.local
次の行を追加
modprobe ppp
Linuxを再起動すれば、mgettyが起動されるようになります。

/etc/ppp/pap-secrets
次の行を追加
ユーザID * パスワード プロバイダから割り当てられたIPアドレス
たとえば
ユーザー名がhogehoge
パスワードがhebohebo
プロバイダから割り当てられたIPアドレスが1.2.3.4なら
hogehoge * hebohebo 1.2.3.4
となります。
この、1.2.3.4がDCに割り当てられます。

DC側も今の内に設定しておきましょう。
電話番号: Linux側のモデムの内線番号(うちの場合は#*2#)
ユーザー: 上で設定したユーザー
パスワード: 上で設定したパスワード
プライマリDNS: 192.168.0.1

これで、着信は可能になりました。DCから接続してみます。接続だけならできますね。
でもまだインターネット上のページを閲覧する事はできません。せいぜいLinuxで立ちあげたWebサーバー上のコンテンツが見れるくらいです。

5.DCからインターネット

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):
という具合に表示される事が確認できればIPマスカレードは動作しています。
もういちどDCから接続し、インターネット上の適当なページが表示されれば成功です。

6.DCへポート転送

でもこれだけではまだルンジェはまともに遊べません。
こちらがクライアントとして接続するのは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-ISDN1.4
DC-Linux-NWG4-TA-ISDN1.4
DC-電話回線2.9
PC-NWG4-TA-ISDN6.8
PC-Linux-NWG4-TA-ISDN3.6

1番目、2番目の計測がほぼ同じ値を示しました。
DP3での画像の表示は遅いという噂があったので、もしかしたらこれくらいが普通なのかもと思ったりもしましたが、3番目のようにプロバイダに直接繋いだときは(それでも遅いですが)1.4以上はでてます。
また、4番目を見ていただくと解りますが、NWG4-TA-プロバイダ間は正常(の許容範囲内)だということが解ります。
となると、RASサーバー側のモデムが悪いのか?と思うわけですが、PC-Linux経由で接続すると(5番目)、期待値の半分程とはいえ1.4の2倍以上の値が出てます。
Linux側のモデムは外付けと内蔵両方試しましたが結果は同じでした。

今のところ、DCのモデムとRASサーバーのモデムの相性の問題としか言いようが無く困ってます。
現在引き続き調査中。皆様からの情報もお待ちしております。