< Windows Mobile でコマンドプロンプト | メイン | 二条城はどこにあったのか (5) >
2007年02月19日
なんだか「玄箱 linuxigd」とか「debian linuxigd」で検索してここへ飛んでくる人が多いみたいなので、
過去ログを発掘して再構成してみる。
「Linux ルータ (玄箱、OpenBlockS) で UPnP を使う方法」。
1. パッケージの入手
DETROIT.DDO.JP さんが linuxigd の自作 .deb パッケージを作られているので、i386 なマシンならそのまま使わせてもらえばOK。
玄箱や OpenBlockS など、PowerPC のバイナリが必要ならば、 私の作ったバイナリ (PowerPC でビルドしなおしただけ) を置いておくので、これを使ってください。 apt-get 経由でウチのサーバからインストールするには、 以下の記述を /etc/apt/sources.list に追加すれば可能。
deb http://gema.luna2.org/mt/dist/debian ./ deb-src http://gema.luna2.org/mt/dist/debian ./
一応同一ディレクトリに
hppa32 バイナリ
も置いておきます (使う人なんているのかな…)。
HP B180L Workstation で動作確認済み。
2. 参考までに、バイナリパッケージのビルドメモ。
i. 玄箱上で、パッケージ作成に必要な基本パッケージをインストール。
kuro$ sudo apt-get install gcc dpkg-dev debhelper dpatch
ii. さらに、linuxigd のビルドに必要なパッケージをインストールする。
kuro$ sudo apt-get install libupnp-dev iptables-dev
iii. DETROIT.DDO.JP さんを sources.list に追加してソースパッケージをいただいてくる。
kuro$ sudo vi /etc/apt/sources.list deb http://detroit.ddo.jp/debian/sarge ./ deb-src http://detroit.ddo.jp/debian/sarge ./ kuro$ sudo apt-get update kuro$ apt-get source linuxigd
iv. ビルド
kuro$ cd linuxigd-0.99.cvs20041113 kuro$ fakeroot dpkg-buildpackage -uc -us -B
v. うちの場合は、出来上がったパッケージを OpenBlockS に移してインストール。
obs266# apt-get install libupnp0 obs266# dpkg -i linuxigd_0.99.cvs20041113-4_powerpc.deb
3. 使ってみる
とりあえずこれで MSN Messenger 7.5 はうまく動いてくれているみたい。 しかし、入力インターフェイスの定義がない iptables ルールが動的に生成されるため、 dst port とフォワード先のポートが万が一同じだと、ループが発生する。
動的に生成された iptables ルールの例: -A PREROUTING -p tcp -m tcp --dport 2096 -j DNAT --to-destination 10.1.1.5:2096
こんな感じなので、クライアントから Internet 方向へ 2096 番で投げたら自分へ戻ってきてしまう。 MSN Messenger ではフォワードポートが同じになることは (ほぼ) 無いので良いのだけれども。
トラックバック
このエントリーのトラックバックURL:
https://gema.luna2.org/cgi-bin/mt/mt-tb.cgi/81