SIP-nat成功っぽい
backporsの2.6.18の中身を見ると、どうもnetfilterにSIPの
モジュールが存在するようです。
しかし、そのままインストールしようとすると、backportsのくせに
いろいろ依存関係のエラーが発生しました。
しかたないので、ヘッダーとソースをインストールして、
自分でコンパイルすることにしました。
まず、backportsをapt-lineに書き加えます。
deb http://backports.mithril-linux.org/ sarge-backports main contrib non-free deb-src http://backports.mithril-linux.org/ sarge-backports main contrib non-fre e
それから2.4.18のカーネルヘッダとカーネルソースをインストールします。
私の環境はamd64なのでそのカーネルヘッダになります。
apt-get update apt-get install linux-headers-2.6.18-3-amd64 apt-get install linux-source-2.6.18
そうすると、/usr/srcにlinux-source-2.6.18.tar.bz2ができるので
展開します。
cd /usr/src tar xjfv inux-source-2.6.18.tar.bz2
カーネルを構築します。kernel-packageが入っていない場合は入れておきます。
apt-get install kernel-package cd linux-source-2.6.18 cp ../linux-headers-2.6.18-3-amd64/.config .config make oldconfig make-kpkg kernel-image
これで/usr/srcにkernel-image-2.6.18_10.00.Custom_amd64.debが
できます。これをインストールします。
cd .. dpkg -i kernel-image-2.6.18_10.00.Custom_amd64.deb
これだけだとinitrdを作ってくれないようなので作成し、update-grubを実行します。
いつのまにmkinitrdからmkinitramfsに入れ替わったんだろ。。。?
mkinitramfs 2.6.18 -o /boot/initrd.img-2.6.18 update-grub
これでリブートし、インストールした2.6.18でブートします。
modprobe ip_conntrack_sip ip_nat_sip
ブート成功したら上のコマンドでSIP-natが使えるようになります。
ルールとしては内側から外側に行くパケットに関しては
sipのモジュールをmodprobeして組み込むだけでいけます。
外から内側に入れるパケットに関してはNATのルールの追加がルータマシンに必要です。
iptables -t nat -A PREROUTING -d 220.157.xxx.xxx -i ppp0 -p udp --dport 5060 -j DNAT --to 192.168.1.xxx
上はまだ実験最後まで成功していないのですが、いけるでしょう。^^;
UDPの5060だけでSIPの電話は出来るようです。