Linux ルータで、UPnP

久しぶりに、Linux ルータで、upnpが出来ないかgoogleで、検索してみました。
Google:linux upnp iptables

あります、あります。出来るようになっているようですね。

LinuxルーターでUPnP に、行き当たりました。

apt-cache で、確認しましたが、パッケージ化されていなさそうなので、ソースをダウンロードして構築しました。

必要なファイルを取って来て、
$ wget http://twtelecom.dl.sourceforge.net/sourceforge/upnp/upnpsdk-1.0.4.tar.gz
$ wget http://umn.dl.sourceforge.net/sourceforge/linux-igd/gateway-0.91.tgz 2003/02/14 変更
$ wget http://umn.dl.sourceforge.net/sourceforge/linux-igd/linuxigd-0.92.tgz

$ mkdir src
$ cd src
$ tar zxvf ../upnpsdk-1.0.4.tar.gz
$ tar zxvf ../gateway-0.91.tgz
$ tar zxvf ../linuxigd-0.92.tgz

$ cd upnpsdk-1.0.4
ルータとして、使用する為に
$ vi src/ssdp/ssdplib.c

406行目を

SelfAddr.sin_addr.s_addr = inet_addr(SSDP_IP);
↓
SelfAddr.sin_addr.s_addr = htonl(INADDR_ANY);

に変更

# make DEBUG=1 WEB=1
エラーになってしまいました。
uuid/uuid.hが無いと怒られたので、
http://www.jp.debian.org/distrib/packages で、パッケージ内容を検索としてみると devel/uuid-dev にあることが解かり、dpkg -l uuid-dev してみると、インストールされていませんでした。apt-get install uuid-dev で、インストール後に再度 make

# make install

gatewaylinuxigdの中で、iptables をフルパスで、呼んでいるので

# ln -s /sbin/iptables /usr/sbin/iptables
# cd ~/src/gateway-0.91

# cd ~/src/linux-igd

# make

# make install

# vi /etc/network/interfaces

にマルチキャストルーティングを追加
/sbin/route add -net 239.0.0.0 netmask 255.0.0.0 eth0

pppoeで、つながった時に、upnpを有効にしたいので、

# vi /etc/ppp/ip-up.d/01upnp

#!/bin/sh
if [ $PPP_IPPARAM == "ZOOT" ]; then
  /usr/bin/upnpd $PPP_IFACE eth0
fi

を作成

コメントをどうぞ!


トップ   編集 凍結解除 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2007-10-05 (金) 04:21:19 (858d)