Vyatta で UPnP

こんにちは
前回の記事でサーバを変えたことは書きましたが、どうせ仮想化するならルータに Vyatta を使いたいと思い、いろいろ試行錯誤しています。 Vyatta はパソコンに入れればそれがルータとして使えるみたいな、そういうものです。と、うまく説明できないので、そこらへんはググってもらえるとうれしいのですが、その Vyatta は標準では UPnP に対応していません。オンラインゲームなどでは UPnP を用いていわゆるポートの解放を行ったりするものもあるので、 UPnP を有効にしたいというわけです。

www.vyatta.com |

今回は有志の方が公開されているものを使います。

kiall/vyatta-upnp – GitHub

とりあえず下のページが最もわかりやすいです。言葉はわかりませんが、コマンドはわかりました(笑)。

Vyatta 6.1 UPNP

しかし、 vyatta-upnp_0.2_all.deb が見つからないので、先ほど書いた GitHub のページのソースを落として deb を自分で作ることにしました。 Vyatta 自体で deb を作るのは結構面倒そうだったので、メインマシンに仮想マシンとして Ubuntu を入れて作成しました。

さらに、仕様が変更されたのか、作った deb をインストールしても正常に使用できない事態になったので適当にソースコードを書き換える必要がありました。たぶんインストールした後に書き換えても OK でしょう。

vyatta-upnp_0.2_all.deb を作る手順

sudo apt-get install dpkg-dev dh-make fakeroot autoconf libtool
wget https://github.com/kiall/vyatta-upnp/tarball/master
tar zxvf master
cd kiall-vyatta-upnp-0c1931b/
dpkg-buildpackage
  1. とりあえず、必要になりそうなものを入れておきます。
  2. vyatta-upnp のソースコードを取得します。
  3. 取得したソースコードを展開します。
  4. 展開したディレクトリへ移動します。
  5. deb を作成します。一つ上のディレクトリに deb が完成!

こんな感じだと思います。私がやったときはいろいろパッケージが不足していて試行錯誤を繰り返していたので、もしかしたらうまくいかないかもです。

また、ソースコードの書き換えですが、 展開(手順3)した後、 deb 作成(手順5)前に行う必要があります。書き換えるファイルは kiall-vyatta-upnp-0c1931b/templates/service/upnp/listen-on/node.def です。1行目の multi:tag: に書き換えます。なお、 Vyatta にインストール後の場合は /opt/vyatta/share/vyatta-cfg/templates/service/upnp/listen-on/node.def に存在するので、それを書き換えればよいと思います。

そして、作成した vyatta-upnp_0.2_all.deb を Vyatta に持っていき、あとは続きをやれば完了です。 set service upnp listen-on eth1 outbound-interface pppoe0 とコマンドを実行すれば UPnP が使えるようになりました。

とりあえず、 Vyatta ルータ構築に当たり、一番情報が少なかったのが UPnP 対応だった気がしたので、書くことにしました。 firewall とか nat とか pppoe とかは結構情報がありましたので、ググれば一発でしょう。

ではでは!


コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です