bluetooth PAN サーバの設定(debian)
ママが、新しい小型 USB ドングルを購入したので、古いドングルが余った。
そこで、サーバに常時刺しておき、
bluetooth 経由での PAN(ネットワーク)接続を試す。
これができれば、ママパソの PCMCIA スロットから大きくはみ出る
Wi-Fi を使わなくて済む。
# ほれ、動いたぞ! > ママつかえ!!
# でも通信速度が 3Mbps しか出ない!? 古いのか??
リンク先の資料をもとに bluetooth のサーバ側の設定を記録。
PANのサーバ側の設定
≪ 必要な bluetooth パッケージのインストール ≫
# aptitude install bluetooth bluez-utils
≪ /etc/bluetooth/hcid.conf ≫
#### master を追加
# lm accept;
lm accept,master;
≪ /etc/default/bluetooth ≫
#### pand を起動する設定
# PAND_ENABLED=0
PAND_ENABLED=1
#### NAPにて起動,接続したら dev-up スクリプトを起動
# PAND_OPTIONS="--listen --role NAP --master --autozap"
PAND_OPTIONS="--listen --role NAP --master --autozap --devup /etc/bluetooth/pan/dev-up"
≪ /etc/bluetooth/pan/dev-up ≫
#!/bin/sh
echo 1 > /proc/sys/net/ipv4/ip_forward
#### bnep0インタフェースの初期化
/sbin/ifup bnep0
sleep 2
#### DHCPサーバを再起動
/etc/init.d/dhcp restart
≪ /etc/bluetooth/pan/dev-up を実行可能にする ≫
# chmod +x /etc/bluetooth/pan/dev-up
≪ /etc/network/interfaces ≫
#### bnep0 のインタフェースの設定
iface bnep0 inet static
address 192.168.3.1
netmask 255.255.255.0
#### ファイアウォール(iptables)の設定は、ferm.conf に書き込む
#post-up /sbin/iptables -t nat -A POSTROUTING -s 192.168.3.0/24 -j MASQUERADE
#post-up /sbin/iptables -A FORWARD -i bnep0 -o eth0 -j ACCEPT
#post-up /sbin/iptables -A FORWARD -o bnep0 -i eth0 -j ACCEPT
#### bnep0 の DHCP を止める?
post-down /etc/init.d/dhcp restart
≪ /etc/dhcpd.conf ≫
#### bnep0 に DHCP で貸し出すアドレスの設定
#### 基本的な DHCP の設定は、別途記述済み
subnet 192.168.3.0 netmask 255.255.255.0 {
range 192.168.3.30 192.168.3.60; ### 貸与するアドレス範囲
option routers 192.168.3.1; ### 自分のアドレスをルータとして公開
}
以上の設定で、Windows XP 環境にて、アドレスが貸与され、
貸与されたアドレスへの "ping 192.168.3.30" は動く。
しかし、PANDサーバ側への "ping 192.168.3.1" が動かない。
動かないので色々試したが、
Firewall を一時的に "/etc/init.d/ferm stop" で止めたら、
ネットワークが使えるようになる。
ということで、参考資料では "ifup bnep0"の "post-up" に、iptables の設定を
書き加えているけど、他の設定との整合性を考え、"/etc/ferm/ferm.conf" に、
Firewall の設定をまとめる。
PANのクライアント側の設定
Linux 端末で PAN クライアントで接続するためには、
下記のような interfaces を書いてみた。
≪ /etc/network/interfaces ≫
#### --connect XX... の部分には、サーバ側の bdaddr を書き込む
iface bnep0 inet dhcp
pre-up /usr/bin/pand --connect XX:XX:XX:XX:XX:XX --service NAP --autozap
≪ 接続時の操作 ≫
$ sudo ifup bnep0