トップ     差分 バックアップ   リロード     一覧 単語検索 最終更新
  • Profile
  • Java
    • Java Tips
    • Eclipse, XML
  • Softwares
  • サーバ関係
    • PukiWiki
  • Links

最新の20件
2022-09-03
  • AutoTicketLinkName
2014-10-31
  • PukiWiki/1.4
  • PukiWiki/1.4/Manual
  • Help
  • FormattingRules
  • server/サーバの仕様
2009-02-27
  • FrontPage
2008-09-16
  • links/よく使うツール
  • Profile
2008-08-07
  • gentoo/lvm2+raid1
2006-12-16
  • gentoo/linux-igd
2006-11-23
  • gentoo/PPPoEの設定
  • gentoo
2005-09-14
  • InterWikiName
  • SandBox
2005-04-15
  • MenuBar
2005-04-08
  • links/巡回先
2005-04-07
  • Java/XML/rngomでXMLSchemaのDatatypeLibraryを使う
2005-04-06
  • Java/Tips/Javaで,子プロセスを使うときの注意点
2005-03-26
  • Java/Eclipse/Lomboz J2EE Plugin から,Tomcat 5.0を起動する

(edit)

gentoo

Gentoo Linuxで作ったIPマスカレード・ルータに,UPnP機能を追加してVoIPアダプタをつなげたときのメモです.

必要なもの(使ったもの)†

  • UPnP SDK 1.3.1 (http://upnp.sourceforge.net/)
  • linux-igd 0.95 (http://sourceforge.net/projects/linux-igd/)

linux-igdの以前のバージョンでは,iptablesのパスが,ハードコーディングされていたのですが,今は,設定ファイル(/etc/upnpd.conf)で設定できます.
同様に,追加先のnetfilterのチェインも,設定ファイルで変更することが出来ます.

↑

UPnP SDKとlinux-igdのインストール†

まず,UPnP SDK 1.3.1 はGentooのパッケージに含まれていますので,単にemergeします.

emerge upnp

linux-igd は,0.92までしか含まれていない上に,0.92もMaskedなので,ソースからコンパイルしてインストールします.
http://sourceforge.net/projects/linux-igd/ から0.95をダウンロードします.

アーカイブを展開して,

# cd linuxigd-0.95
# make
# make install

でインストールできます.

# make HAVE_LIBIPTC=1

で,iptablesコマンドではなく,libiptc を使うようになるようですが,どうもそれをやると,upnpd のプロセスが増殖してしまうようなので,やめました.

↑

linux-igdの設定†

設定は,/etc/upnpd.conf で行います.

まず,iptablesコマンドの場所が違うので,設定します

iptables_location = "/sbin/iptables"

filterテーブルのFORWARDチェインのPOLICYがDROPになっているなど,ルールが無いとDROPされてしまう場合は,insert_forward_rulesをyesにします.(デフォルトでyesになってます)

insert_forward_rules = yes

linux-igdは,デフォルトで,natテーブルのPREROUTINGと,filterテーブルのFORWARDチェインにルールを追加するようになっています.
他にいろいろとnetfilterにルールを設定して,upnpdが自動で追加削除するルールは切り離したかったので,別のユーザ定義チェインにルールを設定するようにしました. 手動操作と,自動操作がぶつかったらまずいですから.

forward_chain_name = upnp_fw

prerouting_chain_name = upnp_prerouting

あとは,FOWARDチェインと,PREROUTINGチェインから,このユーザ定義へ飛ぶようにしておきます.

VoIPアダプタなどが,IGD(Internet Gateway Device)にDNATの設定を要求してきたとき,そのルールの持続時間を特に指定していなかった場合,適応する持続時間です.
とりあえず,1時間を設定しておきました.
ちなみに,デフォルトでは0秒で,設定する必要はないのかもしれませんが,念のため設定してあります.

duration = 01:00

ここで,気を付けないといけないのは,

duration = 1:00

とすると,1秒になってしまうということです.
私が使っているVoIPアダプタはNTTのレンタルのものです. これは,持続時間を指定してきません.
最初,duration = 3:00 としていたので,3秒でDNATのルールが消滅し,ちゃんと動きませんでした.

なお,VoIPアダプタは30分間隔でルールの再生をするので,それより長ければ問題ないはずです.

設定は以上です.他の設定はそのままでも問題ないはずです.

↑

起動†

/usr/sbin/upnpd ppp0 eth0 

で,動きだします.

起動スクリプトを書くなら,こんな感じです. pppに依存しているので,need net.ppp0 とします. NICの名前は,固定ですがまあいいですよね.

/etc/init.d/upnpd

depend() {
        need net.ppp0
}

start() {
        ebegin "Starting upnpd"
        start-stop-daemon --start --quiet --exec /usr/sbin/upnpd  -- ppp0 eth0
        eend $? "Failed to start upnpd"
}

stop() {
        ebegin "Stopping upnpd"
        start-stop-daemon --stop --quiet --exec /usr/sbin/upnpd
        eend $?
}
トップ   編集 差分 バックアップ リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2006-12-16 (土) 02:35:34
Link: gentoo
Site admin: shingo

PukiWiki 1.5.4 © 2001-2022 PukiWiki Development Team. Powered by PHP 8.1.20. HTML convert time: 0.012 sec.