IPSEC_SETUPの不具合対処
Androidから自宅サーバー(ubuntu12.04)にアクセスする で、Android端末で
繋がるようになったのだが、再起動をかけると、IPSEC_SETUP が失敗している件について
とりあえず対処してみた。
ログを読むと、起動に失敗している件は分かるけれど、根本的な対処要領は分からない。
とりあえず、 sudo service ipsec restart を端末で打ち込めば大丈夫だが、再起動のたびに
打ち込まないと駄目だと言うことで、何とか自動で出来ないかしたことの顛末
自動起動しようにも、rootコマンドなので、起動しようとするとパスを入力しないと駄目だとか
いろいろ制約がある。
結局 Ubuntu日本語フォーラム を参考にさせてもらった。
$ sudo touch /usr/local/sbin/ipsecrestart #ipsecrestartというシェルを作る
$ sudo chmod +x /usr/local/sbin/ipsecrestart
$ sudo gedit /usr/local/sbin/ipsecrestart
#!/bin/sh
service ipsec restart
起動スクリプトのスケルトン
/etc/init.d/skeleton をコピーして実行属性をつける
$ sudo cp /etc/init.d/skeleton /etc/init.d/ipsecrestart
$ sudo chmod +x /etc/init.d/ipsecrestart
中の編集
$ sudo gedit /etc/init.d/ipsecrestart
# Provides: ipsecrestart #3行目 skeletonから変更する
PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/sbin #21行目 :/usr/local/sbinを追加
DESC=”IPSEC restart” #DESCに説明
NAME=ipsecrestasrt #実際のシェルスクリプトの名前
DAEMON=/usr/local/sbin/$NAME #シェルスクリプトを置いた場所に変更
DAEMON_ARGS=”” #引数を使わないのでDAEMON_ARGSはクォートの中を削除
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME
start-stop-daemon –start –quiet –background –make-pidfile –pidfile $PIDFILE –exec $DAEMON –test > /dev/null \
|| return 1
start-stop-daemon –start –quiet –background –make-pidfile –pidfile $PIDFILE –exec $DAEMON — \
52行目と54行目に–background –make-pidfileを追加
ipsecrestart という作成したコマンドが動くことを確認する
$ sudo service ipsecrestart start
$ sudo service ipsecrestart stop
$ sudo service ipsecrestart restart
$ sudo update-rc.d Wifi defaults
で/etc/rcN.d/ 以下に登録でき、再起動後自動的にipsecのrestartが動いて、接続できることを確認した
登録を削除したい場合は
$sudo update-rc.d -f ipsecrestart remove