ザウルスのネットワーク関係の設定
pandの自動実行
pandの実行は/etc/rc.d/init.d/bluetoothで行うことにした。
これで様子を見てみる。
start()
{
echo -n $"Starting $prog... "
:
touch /var/lock/subsys/bluetooth
+ echo "Run Pand"
+ /usr/bin/pand -s -r NAP -E -S -P /var/run/pand_usb.pid
echo "Done."
}
stop()
{
echo -n $"Shutting down $prog... "
+ killall pand
/usr/bin/rfcomm release all
:
}
KWINSでip-downが実行されないわけ
ip-upでairkeeperを実行して、ip-downでairkeeperを終了させるようにしている。
しかし、KWINSでネットに接続して、切断すると、airkeeperは実行されたままになってしまう。
これは、ip-upやip-downがQt_tunnel_ttyで実行されるため、ip-upで-STOPしていると、KWINSの切断時に、ip-downが実行できないためである。
そこで、方針をpppの接続時にQt_tunnel_ttyを-STOPするのではなく、別のネットワーク機器を接続するときに、そちらの実行スクリプトでQt_tunnel_ttyを-STOPさせるようにする。
なお、USB-Bluetoothを使ってネットワークを構成する場合は、KWINSは今のところ勝手に切断されないので、私はほったらかしにしている。
/etc/ppp/ip-up
#!/bin/sh
#
# The pppd executes this script every time a PPP connection comes
# up and passes the following args to it:
#
# $1 device
# $2 tty
# $3 speed
# $4 local IP addr
# $5 remote IP addr
#
# You can then execute special commands (like adding routes)
# depending on the arguments passed by the pppd.
#
#if [ -n "$USEPEERDNS" -a -f /etc/ppp/resolv.conf ]; then
if [ -f /etc/ppp/resolv.conf ]; then
rm -f /etc/ppp/resolv.prev
if [ -f /etc/resolv.conf ]; then
cp /etc/resolv.conf /etc/ppp/resolv.prev
grep domain /etc/ppp/resolv.prev > /etc/resolv.conf
grep search /etc/ppp/resolv.prev >> /etc/resolv.conf
cat /etc/ppp/resolv.conf >> /etc/resolv.conf
else
cp /etc/ppp/resolv.conf /etc
fi
fi
## 時間合わせ
/usr/bin/ntpdate ntp1.jst.mfeed.ad.jp
## firewall
/etc/rc.d/rc.firewall
## KWINSの自動切断を無効にする
###/usr/bin/killall -STOP Qt_tunnel_tty
# これは、別のネットワークを接続するときに行うようにする
# そうしないと、KWINSのとき、ip-downが実行されなくなる。
# 順序としては、KWINSの起動、
# 次に、 USB-LAN or CF-LAN
# これの起動スクリプトで、-STOPを行う。
# 終了は、USB-LAN or CF-LAN
# これの終了スクリプトで、-CONTを行う。
# 次に、 KWINSの切断だ。
### begin airkeeper ###
/opt/QtPalmtop/bin/airkeeper start
### end airkeeper ###
## 時間合わせ (2)
/usr/bin/ntpdate time-nw.nist.gov
## /etc/hotplug/dhcpd.conf
ident=` /sbin/cardctl ident | \
/bin/grep product | \
/bin/sed -n -e '1p' | \
/bin/awk -F, '{ a=$2; gsub(/[ "]/,"",a); print a; }'`
dhcpdconf=/etc/hotplug/dhcpd.conf
if [ "$ident" = "KW-H128C2" ]; then
rm -f $dhcpdconf
sed -e "s/#kwins#//" $dhcpdconf.192.168.129 > $dhcpdconf
else
if [ "$ident" = "W05K" ]; then
rm -f $dhcpdconf
sed -e "s/#iijmio#//" $dhcpdconf.192.168.129 > $dhcpdconf
else
rm -f $dhcpdconf
ln -s $dhcpdconf.192.168.129 $dhcpdconf
fi
fi
/etc/ppp/ip-down
#!/bin/sh
#
# The pppd executes this script every time a PPP connection goes down
# and passes the following args to it:
#
# $1 device
# $2 tty
# $3 speed
# $4 local IP addr
# $5 remote IP addr
#
# You can then execute special commands (like removing routes)
# depending on the arguments passed by the pppd.
#
## dhcpd.conf
dhcpdconf=/etc/hotplug/dhcpd.conf
rm -f $dhcpdconf
ln -s $dhcpdconf.192.168.129 $dhcpdconf
### begin airkeeper ###
/opt/QtPalmtop/bin/airkeeper stop
### end airkeeper ###
#/usr/bin/killall -CONT Qt_tunnel_tty
# firewall.down
/etc/rc.d/rc.firewall.down
#if [ -n "$USEPEERDNS" -a -f /etc/ppp/resolv.conf ]; then
if [ -f /etc/ppp/resolv.conf ]; then
if [ -f /etc/ppp/resolv.prev ]; then
cp -f /etc/ppp/resolv.prev /etc/resolv.conf
else
rm -f /etc/resolv.conf
fi
fi
/etc/hotplug/dhcpd.conf.192.168.129
#
# dhcpd.conf.save
#
default-lease-time 7200;
max-lease-time 7200;
#server-identifier slc3100.zaurus.net;
server-name "slc3100";
#option domain-name "zaurus.net";
option subnet-mask 255.255.255.0;
subnet 192.168.129.0 netmask 255.255.255.0 {
option broadcast-address 192.168.129.255;
option routers 192.168.129.201;
#iijmio# option domain-name-servers 210.130.1.1,210.130.0.1; # IIJmio
#kwins# option domain-name-servers 61.195.64.65,61.195.64.66; # KWINS
range 192.168.129.1 192.168.129.1;
# option netbios-name-servers 192.168.129.201;
# option netbios-node-type 8;
}