特定ホストとの通信用スクリプト。¶
自宅では普段、有線LANを使っている。自宅外とのFTPで通信したいとき、利用しているブロードバンドルータに静的ポリシーでhigh portでざっくりOKにしないといけないのが非常に嫌なのである。通信したいのは作業用の環境だけなのに、他のノードにまでアクセスできるようになるのは気持ち悪い。
まぁそこは抜け道として、ブロードバンドルータの外側にFONを設置しているので、FTPだけでなくhigh port使っていて、ブロードバンドルーターで細かいポリシーを扱えないのはFON経由でやるようにしている。いちいち設定するのは面倒なので、シェルスクリプト書いてやった。
#!/bin/sh
PID=~/tmp/wpa.pid
CONF=~/tmp/wpa.conf
IP=xxx.xxx.xxx.xxx
MASK=255.255.255.0
GW=xxx.xxx.xxx.yyy
FTP=zzz.zzz.zzz.zzz
case "$1" in
start)
test -f $PID && exit 2
cat <<EOF > $CONF
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
ap_scan=2
update_config=1
network={
ssid="essid"
scan_ssid=1
psk=yourwlanrouterpresharedkey
key_mgmt=WPA-PSK
priority=1
}
EOF
lsmod | grep -q wl || modprobe wl
sleep 1
wpa_supplicant -i eth1 -c $CONF -B -P $PID
ifconfig eth1 $IP netmask $MASK
route add $FTP gw $GW dev eth1
;;
stop)
test -f $PID || exit 3
ifconfig eth1 0.0.0.0 down
kill `cat $PID`
modprobe -r wl
rm $CONF
;;
*)
echo "Usage; $0 {start|stop}"
exit 1
;;
esac
exit 0